Service Order Activity Processing
To understand how service order activities manage the service order process, it’s important understand the lifecycle of orchestration activity business objects.
Service Order Orchestration Activity Lifecycle
All service order orchestration activity business objects share a common parent business object that defines their lifecycles. This is the Service Point Activity Orchestration business object (D1-SPActivityOrchestration). The table below outlines the lifecycle for this business object.
State |
Description |
---|---|
Pending |
The initial state for orchestration activities. An Enter algorithm sends an acknowledgement to the requesting system. The activity is transitioned to the next state via a monitor process. |
Validate |
Enter algorithms perform the following: Validate Activity Type Validate Service Point Check for a non-final duplicate service order request activity for the same service point. |
Validation Error |
If the business object fails any of the validations in the Pending state, it enters this state. Activities in this state can be corrected and retried. |
Discarded |
Activities discarded in other states enter this state. Enter algorithms perform the following: Validate that non-final child activities can be discarded without the need for a cancel activity Cancel non-final child activities Send a failure notification to the requesting system |
Waiting for Effective Date |
If an orchestration activity has a future effective date, it remains in this state until the effective date is reached. A Monitor algorithm transitions the activity to the next state when the activity's effective date time is reached (process date time >= effective date time). |
Are SP and Device Ready? |
Each type of orchestration activity business object has a unique set of Enter algorithms that perform operations as appropriate for the type of service order request. See Service Order Activity Algorithm Types for more information about these algorithms. |
Activity in Progress |
Orchestration activities remain in this state while their child activities are processed. A Monitor algorithm transitions the activity to the "Are the SP and Device Ready?” state if there are no non-final child activities related to the current activity. A Monitor algorithm validates that the orchestration activity has not been in its current state for too long, based on the Expiration Days parameter on the orchestration activity’s type and the Expiration Date/Time on the orchestration activity An Exit algorithm resets the Expiration Date/Time on the orchestration activity such that each time the activity exits this state its Expiration Date/Time is updated. |
Activity Error |
If one or more child activities enters an Error state, the orchestration activity enters this state. Activities in this state can be corrected and retried. |
Retry |
When an orchestration activity is retried after correction of an error condition, it enters this state. Enter algorithms perform the following: Check to determine if there are child field activities in progress that have outbound communications awaiting a response. Transition any non-final child activity to the "Reject" state (the state defined as "Reject" on the child activity business object lifecycle. This is most often the "Discarded" state). |
Completed |
Orchestration activities enter this state when all child activities have successfully completed. An Enter algorithm send a success notification to the requesting system. |
Use the Business Object and Algorithm portals to view additional details about this business object and its lifecycle algorithms.
Cancel / Update Orchestration Lifecycle
The Cancel Orchestration (D1-CancelOrchestration) and Update Orchestration (D1-UpdateOrchestration) business objects have a similar lifecycle, with the following exceptions:
-
There is no "Waiting for Effective Date" state.
-
In place of the "Are SP and Device Ready?” state, they have "Cancel Specific Activity" / "Update Specific Activity" states. Enter algorithms on these states attempt to cancel or update a specific child activity.
-
In the place of "Activity In Progress" and "Activity Error" states, they have "Communication in Progress" and "Communication in Error" states.
Use the Business Object and Algorithm portals to view additional details about this business object and its lifecycle algorithms.
Throttling Commands Issued from Service Order Activities
Service order management can be configured to limit, or "throttle", the number of smart meter command activities initiated by a service order activity that are executed within a specified time range. For example, in a situation in which a utility initiates dozens (or hundreds) of cut for non-payment service activities on a single day, this feature allows the execution of the related remote disconnect commands to be spread out over a number of hours rather than executing all of those commands in the first hour of the day.
Configuring throttling of command processing is done via parameters on the service order activity type and the related smart meter command activity type.
Service Order Activity Type
The following Business Hours parameters on the Cut Service for Non-Payment activity type are used to define the business days and hours during which remote disconnect commands can be executed:
-
Ensure Business Hours: Indicates if commands should be processed during specified business hours as defined by the Work Calendar, Start Hour, and End Hour parameters.
-
Work Calendar: The work calendar used to determine work days on which commands can be processed.
-
Start Hour: The start hour of the day during which commands can be processed.
-
End Hour: The end hour of the day during which commands can be processed.
Refer to the Business Hours embedded help on the Cut Service for Non-Payment activity type for more details.
Smart Meter Command Activity Type
The Throttle Parameters on the Remote Disconnect activity type are used to define if throttling is enabled, and if so, the number of commands that can be processed during specific time ranges during each business day. These parameters include:
-
Throttle Option: Specifies if throttling is allowed. If set to "Allowed", one or more time ranges must be defined in the Schedule list.
-
Schedule: Defines one or more time ranges (defined by the From and To columns) and the number of records that can be processed during each (defined by the Number of Requests column).
Batch Processing
Processing of commands configured for throttling is performed using the Command Request Wait Monitor with Throttle Option batch control (D1-CRWTO).
This batch control monitors command activities in the "Wait For Effective Date/Time" state, and if the Throttle Option parameter (enableThrottle) is set to "Y", it will only process up to the number of records specified in the current time range defined in the Schedule section on the command activity type. For example, if there are 50 Remote Disconnect commands in the "Wait For Effective Date/Time" state and this batch control (with Throttle Option set to "Y") is run during a time range for which the Number of Requests is set to 30, only 30 of the commands will be transitioned to the Connection Ready state.
This batch control can be used for all commands, with the Throttle Option parameter set as appropriate based on the type of command activities. As of this release, throttling is only available with Remote Disconnect smart meter command activities.
Notes:
-
This batch control can be used only with command activity business objects whose "Wait For Effective Date/Time" state does NOT have a monitor process defined.
-
If this batch control is run more than once during a specific time range, it will process up to the number of records specified for that time range during each run. In the previous example, if the batch control were to be run twice during the same time range, the first run would process 30 records, and the second would process the remaining 20 records.
See the Detailed Description of this batch control for more information.