Service Order Field Activity Processing
This section outlines how service order field activities are processed.
Pre-Processing, Validation, and Post-Processing Algorithms
When service order field activities are first instantiated, a set of pre-processing algorithms populate and derive information needed for the activity, such as the activity type, service point, device, address, effective date, and other information.
Validation algorithms validate this information when first retrieved and when updated.
When service order field activities are completed, a post-processing algorithm populates the activity end date/time:
Service Order Field Activity Lifecycle
As a service order field activity moves through its lifecycle, it triggers various business processes based on the type of service order field activity. The table below outlines the lifecycle for the Field Activity (D1-FieldActivity) business object.
State
Description
Pending
The initial state for service order field 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 (and transition to error if invalid)
Derive and validate service order recipient
Validate duplicate and conflict service order activities
Derive and validate service order service point
Derive and validate service order device
Validate address constituents
Check for any existing cut service restrictions
The activity is transitioned to the next state via a monitor process.
Validation Error
If the business object fails any of the validations in the Pending state, it enters this state.
Enter algorithms perform the following:
Create a To Do based on specified To Do Type and To Do Role
Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.
Activities in this state can be corrected and retried.
Waiting to Request
If a service order field 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).
An Enter algorithm sets the "Allow Child to Transition Parent Activity Based On Effective Date" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.
Waiting for Appointment
If the service order field activity passes its validations and the effective date has been reached, the activity enters this state.
Enter algorithms perform the following:
Evaluate if an appointment is required for field tasks of this type. If not, the activity transitions to the "Communication in Progress" state.
Create a To Do if an appointment is necessary but the system is not able to send an appointment request
Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.
Send a notification to the appointment handling system
Monitor algorithms perform the following:
Verify if an appointment has been supplied
Send a notification to the appointment handling system
The activity is transitioned to the next state via a monitor process.
See Waiting for Appointment for more information about this state.
Communication in Progress
Service order field activities enter this state following the "Waiting for Appointment" or "Retry" states.
Enter algorithms perform the following:
Create an outbound communication for the service order field activity (see Communication in Progress for more information)
Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.
Monitor algorithms perform the following:
Check for existing child communications
Check that the activity hasn’t timed out
Discarded
Activities discarded in other states enter this state.
Enter algorithms perform the following:
Cancel outstanding outbound communications
Cancel outstanding completion events
Populate the cancel reason
Send a failure notification to the requesting system
Transition the parent activity to the " Activity Error" state (see Service Order Orchestration Activity Lifecycle for more information)
Check if a Cancel Orchestration activity is required
Communication Error
If an outbound or inbound communication an Error state, the service order field activity enters this state.
Monitor algorithms perform the following:
Check that the activity hasn’t timed out
Enter algorithms perform the following:
Create a To Do based on specified To Do Type and To Do Role
Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.
Activities in this state can be corrected and retried.
Retry
When a service order field activity is retried after correction of an error condition, it enters this state.
Enter algorithms perform the following:
Check to determine if there are associated outbound communications in progress.
Cancel any outstanding outbound communications
Execute Completion Events
After an inbound communication is received, it enters this state.
Enter algorithms perform the following:
Executes completion events defined on the field task type (these completion events were initially created by the inbound communication).
Evaluates the "Field Activity Completed" flag on the service order field activity. If this is set to "No", the service order field activity is transitioned to the "Canceled In Field" state.
The activity is transitioned to the next state via a monitor process.
See Execute Completion Events for more information about this state.
Completion Event Error
If an error occurs during completion event processing, the service order field activity enters this state.
Monitor algorithms perform the following:
Check that the activity hasn’t timed out
Enter algorithms perform the following:
Create a To Do based on specified To Do Type and To Do Role
Set the "Allow Child to Transition Parent Activity" flag to yes. This allows the service order field activity to transition the parent orchestration activity if needed.
Activities in this state can be corrected and retried.
Completed
Service order field activities enter this state when all completion events have successfully completed.
Enter algorithms perform the following:
Update the parent orchestration activity
Send a success response to the requester
Transition the parent orchestration activity to the next state in its lifecycle
Send a service order field activity completion outbound communication to subscribing systems.
Canceled in Field
If the "Field Activity Completed" flag on the field activity is set to "No", the service order field activity enter this state.
Enter algorithms perform the following:
Send a failed response to the requester
Transition the parent orchestration activity to the "Activity Error" state.
Create a To Do to notify users that the service order field activity has been canceled.
Waiting for Appointment
When a service order field activity enters the "Wait for Appointment" state, it first determines if an appointment is necessary for the service order field activity. If not, the activity moves on to the "Communication in Progress" state (see below).
If an appointment request cannot be sent for some reason, the service order field activity creates a To Do item to alert a user to attempt to manually request an appointment. Otherwise, the service order field activity sends an outbound message to the field work system requesting an appointment. The outbound message type is derived using the processing role defined on the "Send Notification to Appointment Handling System - Enter" algorithm.
Processing Role
Outbound Communication Business Object
Appointment Response
(default)
Used if:
An appointment is required and needs to be scheduled
Appointment has been set
Send Appointment Response Outbound Message (D1-SendApptRespOutboundMsg)
Note: An outbound message must be created based on this business object.
The response from the field work system can be received by creating an Inbound Web Service that references the "Book selected appointment to Field Activity" (D1-BookAppt) service script.
While in this state, monitor algorithms verify if an appointment has been supplied and send notifications to the field work system.
Communication in Progress
Service order field activity communications are records of messages sent between Service Order Management and an external field work system, such as Oracle Utilities Mobile Workforce Management. Communications can flow both outbound and inbound.
See Service Order Field Activity Communication for more information about service order field activity communication.
Execute Completion Events
After receiving the inbound communication, the service order field activity enters the "Execute Completion Events” state.
The inbound communication will have previously created completion events for the service order field activity, based on those defined on the field task type or those referenced by field activity remarks. These creation events begin in the "Pending" state.
An Enter algorithm transitions completion events associated with the service order field activity into their "Executed" state.