Creating process steps or activities
A process has a sequence of steps that flows from start to end. In Business Process Model and Notation (BPMN), a step is referred as an activity. Activities are the building blocks of a business process. You can use activities with other process elements to create a business process flow. In Process designer, use the Activities elements to include an activity in a process. You can drag these elements to the canvas according to the business logic that you want to create.
Types of Activities
You can use the following types of activities in a process:
Call Activity
A Call Activity element calls another process referring to a process definition that is previously defined and is available for reuse or application integration. When a process execution arrives in the Call Activity, a new execution is created. The new execution is a sub-execution of the execution that arrives in the Call Activity. This sub-execution is then used to execute an instance of the process referred by Call Activity, thereby creating parallel child execution within a regular process. The main execution waits until the called process is completed, and then the original process continues. Call Activity is used in scenarios such as:
- Application integration, such as Incident application call in Task Manager application
- Business procedure reuse
- Runtime determination of process to be invoked, such as Approval Flow, where different approval request are used in different Approval Flow.
User Task
The User Task element models a user performing a task. The task is represented by a record. The task is considered as complete if the completion criteria is satisfied. You can use a Timer event with the User Task activity. The Time event interrupts a wait step and lets the process make a decision about how to proceed after the wait step times out. For more information about the Timer event, see Adding a Timer event to a wait step.
Receive Task
A Receive Task element models a wait step in the process that waits for the arrival of a message. It is typically used with connectors, where the connector initiates an asynchronous request to the integration target. Receive Task waits for the integration target to finish the request and call back. Integration target uses SignalProcessInstanceCommand
to call back the Receive Task and then the process execution continues. SignalProcessInstanceCommand
has correlation ID that uniquely identifies the Receive Task of a process instance. For more information about SignalProcessInstanceCommand
, see Platform Application Java API Documentation.
You can use a Timer event with the Receive Task activity. The Time event interrupts a wait step and lets the process make a decision about how to proceed after the wait step times out. For more information about the Timer event, see Adding a Timer event to a wait step.
The following images illustrates an example of a Receive Task:
Sub-Process
A Sub-Process is an element that contains other activities, gateways, events, and so on which form a process that is part of another process. A Sub-Process can only be used inside a parent process. It cannot be invoked by another process using a Call Activity. A process that is defined in a Sub-Process element is not reusable, that is, other processes cannot call this process through the Call Activity element. You can pass a list as an input or output variable to this element. For more information about lists, see Creating lists from processes.
A Sub-Process is used to enhance process readability, to group certain steps to create a logic group, and present the user with high level steps. As Sub-Process is part of the parent process, if you move elements to a Sub-Process, all expressions configured on these elements continue to work.
Service Task
A Service Task element is used to invoke a Java service method that is exposed as Action Type using @Action annotation. You can create your own Service Task. To create a Service Task, you can use BMC Helix Platform SDK to create service classes, package the classes in your smart bundle and annotate methods as Action Type in the service class. The advantage of Service Task is that you can extend the platform by creating your own service, and integrate it seamlessly in BMC Helix Innovation Studio. See Creating a custom service in Java.
To add Activities in processes
Note
Application business analysts can customize the objects developed in their own applications and that are marked customizable by the developers, but cannot customize the objects developed in com.bmc.arsys. For example, objects in core BMC applications like Foundation, Approval, and Assignment cannot be customized.
- In the Process designer, you can drag and drop the activity elements to the canvas according to the business logic that you want to create.
- Enter the required properties of the activity element.
- Click Save.
To enable multi instance loop
A multi instance loop defines process activity repetition. It allows execution of an activity for each item in a data array. Multi instance loop is available with Call Activity, User Task, Sub-Process, and Service Task Activities.
- In the Process designer, select the activity element for which you want to use Multi instance loop.
In the Properties pane, in the MULTI INSTANCE LOOP section, enter the values for the following properties:
Property Description Loop Type It allows executing a certain activity for each item in a given collection, sequentially or in parallel.
Note: If you do not select the Loop Type, multi instance loop is not enabled on the activity.
Loop Data Input An expression that represents a collection of items. It refers to an array of data such as list of task records, or a list of approvers.
Input Data Item A process variable that represents data type of each item. It is assigned with a value from the Loop Data Input array (such as a task record or name of an approver).
You can also provide a list as an input variable to this element. For more information about lists, see Creating lists from processes.
Completion Criteria (Optional) If you do not want the process to loop through all data, configure Completion Criteria.
A multi instance activity ends when all instances are finished. However, it is possible to specify an expression that is evaluated every time an instance ends. When this expression evaluates to true, all remaining instances are deleted and the multi instance activity ends. The process continues thereafter.
For example, in an approval use case, you can use completion condition to define if 3 out of 5 approvers approve the request, the loop is considered complete.- Click Save.
Multi instance loop example
The following images illustrates a process, where the process fetches a list of records. For each record, it updates the record integer field, and appends the record display ID to a process variable IDs. Record handling is done in a Sub-Process, where update record and append IDs steps are performed. In this example, Multi instance loop is defined on the Sub-Process.
The following images show sample configuration of the process variable and the process steps (Get Loop Source Records, Sub Process, Increment Integer Field and Append Display ID) for the above process:
Process steps | Sample configuration |
---|---|
Process variable | |
Get Loop Source Records | |
Sub-Process | |
Increment Integer Field | |
Append Display ID |
Comments
Log in or register to comment.