Order Fulfillment Workflow

The Order Fulfillment Workflow template illustrates parallel flow control where two paths are processed concurrently, and the converged path does not start until both of the parallel tasks finish. This workflow is initiated when the system receives an order. Then, a billing associate generates an invoice while a fulfillment manager completes the order. When both of these tasks are completed, the fulfillment manager ships the order. Finally, after the order has shipped, the billing associate sends the bill.
Workflow Diagram of the Order Fulfillment Workflow
Workflow Diagram of The Order Fulfillment Workflow
This workflow uses the following workflow patterns:
  • Parallel
  • Join (Merge with Synchronization)
The following figure shows the workflow tree for the Order Fulfillment Workflow:
Workflow Tree for the Order Fulfillment Workflow
Workflow Tree For the Order Fulfillment Workflow
The following table provides details of the elements in the Order Fulfillment Workflow:
Order Fulfillment Workflow Elements
Element Name
Element Type
Details
Process Invoker
Data Object
Default global data object of type Short Text defined for all templates. Holds the user name of the person who starts an instance of this workflow.1
Process Title
Data Object
Default global data object of type Short Text defined for all templates. Holds the title for the workflow instance.1
Done
Status
Default status value defined for all templates.2
In Process
Status
Status value defined for entire template.2
Shipped
Status
Status value defined for entire template.2
sasadm
Participant
This is a User type participant assigned to the root level and each task with the workflow role of Business Administrator. This is a default SAS administrator user configured with the platform in the SAS Authorization Service.
The Business Administrator role supports certain administrative tasks such as adding comments, delegating or transferring the task, or releasing the task locked by another user.
Receive Order
Task
This is an automated system task.
Task Started->Add Status to Task
Policy
This policy assigns the In Process status because it is an automated task (that is, is not explicitly performed like the other manual tasks). This status value stops the Receive Order task and triggers the transition into the merge/fork gateway.
Generate Invoice
Task
This is a manual task that represents the user interacting with the system. This task starts after the order is received. This task represents invoice generation by the billing associate and is completed by setting the status to Invoiced.
Billing Associate
Participant
This is a group type participant assigned to the task level of the workflow with the workflow role of Potential Owner. Only users who are members of this group can generate invoices and send bills. The group is an explicit value, so it must exist in the SAS Authorization Service.
Because the workflow role assigned is Potential Owner, any user from that group can claim the task. Once it is claimed, the user becomes the Actual Owner, the task is locked, and no others users can perform the task.3
Invoiced
Status
Status value defined for Generate Invoice.4
Complete Order
Task
This is a manual task that represents the user interacting with the system. This task starts after the order is received. This task represents order completion by the fulfillment manager and is completed by setting the status to Completed.
Fulfillment Manager
Participant
This is a group type participant assigned to the task level of the workflow with the workflow role of Potential Owner. Only users who are members of this group can complete and ship orders. The group is an explicit value, so it must exist in the SAS Authorization Service.
Because the workflow role assigned is Potential Owner, any user from that group can claim the task. Once it is claimed, the user becomes the Actual Owner, the task is locked, and no others users can perform the task.3
Completed
Status
Status value defined for Complete Order.4
Ship Order
Task
This is a manual task that represents the user interacting with the system. This task starts after both the invoice has been generated and the order has been completed. This task represents order shipment by the fulfillment manager and is completed by setting the status to Shipped.
Send Bill
Task
This is a manual task that represents the user interacting with the system. This task starts after the order has been shipped. This task represents bill delivery by the billing associate and is completed by setting the status to Done.
1This data object value is defined at the root level. This allows access to the value by decisions and policies at run time by all contained activities and subflows. However, the value is not accessible as a local copy of the data object.
2This status value is defined at the root level. This allows access to the value by decisions and policies at run time by all contained activities and subflows. However, the value is not accessible as a local copy of the status.
3Only users can be assigned to the Actual Owner workflow role. Participants of a SAS platform authorization group or role type must be assigned as Potential Owner and their user members must claim the task to become Actual Owner.
4This status value is defined at the task level. This allows access to the value by decisions and policies at run time by all contained activities and subflows. However, the value is not accessible as a local copy of the status.
Last updated: March 5, 2020