Basic Approval Process

The Basic Approval process template illustrates one type of alternate flow control where only a single path is taken based on the completion status of the previous task. This workflow is initiated when the system receives an order. Then, an account manager must access the relevant ordering system, review the order details, and either approve or reject the order. If the order is rejected, then it is returned by the system. If the order is approved, then a fulfillment manager must complete the order.
Basic Approval Process Diagram
Basic Approval Process Diagram
This process uses the Exclusive Choice workflow pattern.
The following figure shows the process tree for the Basic Approval process:
Basic Approval Process Tree
Basic Approval Process Tree
The following table provides details about the elements of the Basic Approval process:
Basic Approval 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
Account Manager
Data Object
Data object of type Short Text defined for all processes. Holds the group name used by the @Account Manager swimlane policy.1
The default value is US Region Accountants.
Fulfillment Manager
Data Object
Data object of type Short Text defined for all processes. Holds the group name used by the @Fulfillment Manager swimlane policy.1
The default value is US Region Supply Managers.
Cancel
Status
Status value defined for all processes.2
Done
Status
Status value defined for all processes.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.
Review Order
Task (Atomic Activity)
This is a manual task that represents the user interacting with the system. Once the user completes the review and submits the relevant status, the relevant status is assigned when this task completes. The next activity is selected based on the status value as assigned to the transition.
@Account Manager
Policy/Swimlane
The swimlane corresponds to a group participant defined in the process data object Account Manager. The value in the data object is assigned at run time using this policy. Only users who are members of this group can review orders. The group is an implicit value. Therefore, the value assigned to the data object must exist as a group in SAS metadata.
For example, the default value is US Region Accountants, so if no initial value assignment is made for this data object when starting a workflow instance, there must be a group defined with that name 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
Approve
Status
Status value defined for Review Order.4
Reject
Status
Status value defined for Review Order.4
Return Order
Task (Atomic Activity)
This is a system task (that is, automated activity) that initiates if the order is rejected. Once completed, the workflow instance ends with a status of Cancel because this activity transitions to the terminate node.
Process Started->Add Status to Process
Policy
This policy assigns the Cancel status because it is an automated activity (that is, is not explicitly performed like the previous manual task). This status value stops the Return Order activity and triggers the final transition into the terminate node.
Complete Order
Task (Atomic Activity)
This is a manual task that represents the user interacting with the system. This activity starts if the order is approved. Then, the workflow instance ends with a status of Done because this activity transitions to the terminate node.
@Fulfillment Manager
Policy/Swimlane
The swimlane corresponds to a group participant defined in the process data object Fulfillment Manager. The value in the data object is assigned at run time using this policy. Only users who are members of this group can complete orders. The group is an implicit value. Therefore, the value assigned to the data object must exist as a group in SAS metadata.
For example, the default value is US Region Supply Managers, so if no initial value assignment is made for this data object when starting a workflow instance, there must be a group defined with that name 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
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.