Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (2024)

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 theActivitieselements 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
  • User Task
  • Receive Task
  • Sub-Process
  • Service Task

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 theCall Activity, a new execution is created. The new execution is a sub-execution of the executionthat arrives in theCall Activity. This sub-execution is then used to execute an instance of the process referredbyCall Activity, thereby creating parallel child execution within a regular process. The main execution waits untilthe called process is completed, and then the original process continues.Call Activityis 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.

Call Activity properties and their description

PropertyDescription
Called Process

Option to specify the process to be called:

  • Select Process: You can select a predefined process that is invoked by the Call Activity.
  • Build Expression: You can build an expression that resolves to a process definitionname or a process definition GUID that is invoked by the Call Activity. You can get the process definition GUID in the Process designer JSON view. If the expression is resolved to a process definition name, ensure that you update the expression when the process definition is renamed.
Sample Process

When theCalled Processis configured as an expression,Sample Processproperty is displayed. This is an optional property. It allows you to configure the input map and output map of the called process in the Process designer, even if the process to be called is decided at the runtime.

INPUT MAP

Parameters of the referenced process that were specified as required. You must build an expression to provide values to the required parameters so that the system can execute the referenced process.

You can also provide a list as an input variable to this element. For more information about lists, see Creating lists from processes.

OUTPUT MAP

Process parameters that you want to obtain as output values from this element. You can build an expression for assigning an output value to a processvariable.

You can also provide a list as an output variable to this element. For more information about lists, see Creating lists from processes.

MULTI INSTANCE LOOPSee To enable multi instance loop.

User Task

TheUser Taskelement 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.

User Task properties and their description

PropertyDescription
Mode

Option to use a new record or an existing record to represent a task.You can select from the following options:

  • Create Record
  • Update Record
Record Definition

Name of the record definition for which you want to represent a task.

Record ID

The record instance or the record instance ID that you want to update.If a task is represented using an existing record, you must configure the record ID.The record instance if passed can only refer to a transaction entry (record entry passed from a rule to a process parameter).

This field is available only if you select Update Record in the Mode field.

Completion Criteria

Criteria that specifies when this user task isconsidered as complete. The criteria is a condition expression that evaluates fields of a task record.

INPUT MAP

Fields of the record definition that are assigned a value using the expression builder. You can set the value of a record field through a process parameter. This value is used to create or update a record instance.

For example, a record definition has a field called EmployeeName and the process has a parameter called EmpName. You can build an expression that assigns EmpName to the field EmployeeName. As the EmployeeName and EmpName parameters are mapped by the expression, the process uses the value in the EmpName parameter to set the EmployeeName field of the record instance that the process creates or modifies.

OUTPUT MAPProcess parameters that you want to obtain as output values from this User Task element. You can build an expression for assigning an output value to a processvariable.
CANCELLATION INPUT MAP

Parameters that you want to set if the user task is cancelled. A user task can be cancelled in the following conditions:

  • When the user task is active and the process instance is cancelled
  • When the user task is active and an associated timer times out.
MULTI INSTANCE LOOPSee To enable multi instance loop.

Receive Task

A Receive Task elementmodels 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 usesSignalProcessInstanceCommandto call back the Receive Task and then the process execution continues.SignalProcessInstanceCommandhas correlation ID that uniquely identifies the Receive Task of a process instance.For more information aboutSignalProcessInstanceCommand, seePlatform 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:

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (1)

Receive Task properties and their description

PropertyDescription
SIGNAL INPUT PARAMETERSNames of the process variable that is used by the signal process instance command.
SIGNAL PARAMETERSNames of process variables that receive inputs from signal process command.
MULTI INSTANCE LOOPSee To enable multi instance loop.

Sub-Process

A Sub-Process is an element that contains other activities, gateways, events, and so on which form a processthat is part of another process.A Sub-Process can only be used inside a parent process. It cannotbe 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 elementis 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, youcan useBMC 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.SeeCreating a custom service in Java.

Service Task properties and their description

PropertyDescription
Action Type NameName of the Action Type that performs Service Task. This field is populated automatically.
Run as

It allows execution of Service Task with permissions inherited from the process or the selected user role.

  • You can be set this field toInherit from ProcessorAdministratorto allow workflow to successfully perform the task on behalf of the user.
  • If the Service Task does a query in a record definition where data has row level permission enforced, set this field toCurrent User.Current Userrefers to the user who started the process.
INPUT MAPIt defines the data binding of the action input. Inputs are defined in the Java service method as input parameters.
OUTPUT MAP

It defines the data binding of the action result. The result is a return object of the Java service method. You can use this to save the activity result to a process variable.

Important: It is recommended to use expression to pass the activity result to other activities.

MULTI INSTANCE LOOPSee To enable multi instance loop.

To add Activities in processes

Important

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 incom.bmc.arsys. For example, objects in core BMC applications like Foundation, Approval, and Assignment cannot be customized.

  1. 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.
  2. Enter the required properties of the activity element.
  3. 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.

  1. In the Process designer, select the activity element for which you want to useMulti instance loop.
  2. In thePropertiespane, in theMULTI INSTANCE LOOPsection, enter the values for the following properties:

    PropertyDescription
    Loop Type

    It allows executing a certain activity for each item in a given collection, sequentially or in parallel.

    Important:If you do not select theLoop 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 valuefrom theLoop Data Inputarray(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, configureCompletion 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.
  3. 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.

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (2)

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 stepsSample configuration
Process variable

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (3)

Get Loop Source Records

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (4)

Sub-Process

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (5)

Increment Integer Field

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (6)

Append Display ID

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (7)

Defining the application business logic through processes

Was this page helpful? Yes NoSubmitting... Thank you

Creating process steps or activities - Documentation for BMC Helix Platform 20.08 (2024)
Top Articles
Latest Posts
Article information

Author: Nicola Considine CPA

Last Updated:

Views: 6109

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Nicola Considine CPA

Birthday: 1993-02-26

Address: 3809 Clinton Inlet, East Aleisha, UT 46318-2392

Phone: +2681424145499

Job: Government Technician

Hobby: Calligraphy, Lego building, Worldbuilding, Shooting, Bird watching, Shopping, Cooking

Introduction: My name is Nicola Considine CPA, I am a determined, witty, powerful, brainy, open, smiling, proud person who loves writing and wants to share my knowledge and understanding with you.