Order Fulfillment Process

The Order Fulfillment process template illustrates parallel flow control where two paths are processed concurrently, and the converged path does not start until both of the parallel activities 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.
Order Fulfillment Process Diagram
Order Fulfillment Process Diagram
This process uses the following workflow patterns:
  • Parallel
  • Join (Merge with Synchronization)
The following figure shows the process tree for the Order Fulfillment process:
Order Fulfillment Process Tree
Order Fulfillment Process Tree
The following table provides details of the elements in the Order Fulfillment process:
Order Fulfillment Process Elements
Element Name
Element Type
Details
Process Invoker
Data Object
Default data object of type Short Text defined for all processes. Holds the user name of the person who starts an instance of this process.1
Process Title
Data Object
Default data object of type Short Text defined for all processes. Holds the title for a process instance.1
Done
Status
Default status value defined for all processes.2
In Process
Status
Status value defined for entire process.2
Shipped
Status
Status value defined for entire process.2
sasadm
Participant
This is a User type participant assigned to the root of the process with the workflow role of Business Administrator. This is a default SAS administrator user configured with the platform in SAS metadata.
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 (Atomic Activity)
This is an automated system task.
Process Started->Add Status to Process
Policy
This policy assigns the In Process status because it is an automated activity (that is, is not explicitly performed like the other manual tasks). This status value stops the Receive Order activity and triggers the transition into the merge/fork gateway.
Generate Invoice
Task (Atomic Activity)
This is a manual task that represents the user interacting with the system. This activity 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 activity level of the process 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 SAS metadata.
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 activity.3
Invoiced
Status
Status value defined for Generate Invoice.4
Complete Order
Task (Atomic Activity)
This is a manual task that represents the user interacting with the system. This activity 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 activity level of the process 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 SAS metadata.
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 activity.3
Completed
Status
Status value defined for Complete Order.4
Ship Order
Task (Atomic Activity)
This is a manual task that represents the user interacting with the system. This activity 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 (Atomic Activity)
This is a manual task that represents the user interacting with the system. This activity 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 process level and is set as visible within the entire subtree by default. This setting allows access to the value by decisions and policies at run time by all contained activities and subprocesses. However, the value is not accessible as a local copy of the data object.
2This status value is defined at the root process level and is set as visible within the entire subtree by default. This setting allows access to the value by decisions and policies at run time by all contained activities and subprocesses. 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 SAS Metadata type 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 activity level and is set as visible within the entire subtree by default. This setting allows access to the value by decisions and policies at run time by all contained activities and subprocesses. However, the value is not accessible as a local copy of the status.