|
A Sub-Process (A Nested Business Process) is an independent business process initiated during the execution of the parent process. When the sub-process is initiated, ELMA suspends the execution of the parent process until the sub-process is completed. The only exception is the external sub-process with the "Multiple Execution" marker.
An External Sub-Process is a business process executed in its own context. It passes data to the parent process via the input and output attributes, scripts and Send Message and Receive Message activities. You can start an external sub-process as an independent process.
|
Creating an external sub-process
To add an external sub-process to the parent process model you first have to
create and
model it as a standard independent process. Then find the External Sub-process element in the
left toolbar of the graphic model of the parent process, and place it in the process model. A window opens. Select an external sub-process from the list of available processes (Fig. 1).
Fig. 1. Selecting an external sub-process.
Configuring an external sub-process
Common tab
Fig.2 External sub-process configuration. Common tab.
Name — Name of the sub-process, displayed in the
graphic model,
process documentation,
process policies and in the header of the settings window. This name is also shown on the transition button leading to this sub-process in Web Application in case the
connector that represents this transition in the graphic model does not have its own name.
Process — Currently selected process. The Define Process button allows you to select any of the processes available in the system.
The
Change Marker button allows you to execute the sub-process in a Loop, as a Conditional Operation, or enable Multiple Execution. The activity displayed on the graphic model will then feature an additional
marker, and additional tabs will appear in the settings window. Settings for these options are described on the
Activity markers page.
On this tab, you can also select the checkboxes for
Actions after Instance Interruption (Completion). These options define how the process and sub-process interact when a
process instance is interrupted in Web Application:
-
Interrupt the parent process instance when a sub-process instance is interrupted. Note, that this action is unavailable if you select the
Multiple Execution operation marker.
-
Interrupt sub-process instances when the parent instance is interrupted.
Input/Output Attributes tab
The
variables, passed to the external sub-process from the parent process are called input attributes. The variables that are passed from the external sub-process to the parent process are called output attributes.
The
Input/Output Attributes tab features the input and output
variables of a sub-process and compared parent process variables. The sub-process variable and the compared parent process variables must be of the same
types.
For an external sub-process with the Multiple Execution marker, you cannot configure the output variables.
Fig. 3. Settings of an external sub-process. Input/output attributes tab".
The Input Variables and Output Variables tables list the following information:
Sub-Process - Variable selected as Input or Output on the Context tab of the sub-process.
Parent - name of the parent process variable, to which the sub-process variable is compared. By default, this column is set to Not defined. Click on it to modify.
Parent process and sub-process variables are configured in the following way:
-
On the
Context tab of the sub-process, check the input and output variables (Fig. 4). The selected variables are shown on the Input/Output Attributes tab, in the settings window of the external sub-process (Fig. 3).
An input variable receives data from the parent process when a sub-process is started.
An output variable value is sent to the parent process when the sub-process is complete.
Fig. 4. Context variables of a sub-process. The input and output variables are selected.
2. To configure the comparison of external variables, go to the Input/Output Attributes tab of the External Sub-Process element in the parent process. Then click on the required value in the Parent column and select a parent process variable that you want to compare to a sub-process variable.
The sub-process variable and related parent process variable must be of the same
type. The drop-down list only offers those parent process variables that are of the same type as specified in the “Type” column (Fig. 5).
Fig. 5. External sub-process settings. Input/Output Attributes tab. Comparison of variables.
As value of an input variable, which is passed to the sub-process, you can enter an exact value. For that, select Enter Value in the drop-down list of the Parent column.
Advanced tab
On this tab (fig. 6) you can add participants from the parent process to the list of
participants of the sub-process. Job position is defined by list of job positions, user groups and/or properties.
Fig. 6. External Sub-Process Settings. Advanced tab
When you check the box Specify the list of job positions that can be selected as the sub-process participants, the form for selecting positions appears:
-
-
The
Add User Group button allows you to add a
user group;
-
The
Add from Property button allows you to add a
variable of the "User" type, which stores information about task executors in customized
swimlanes on the graphic model of the sub-process.
If the Specify the list of job positions that can be selected as the sub-process participants is unchecked, the form for selecting job position will be hidden by default.
Copyright © 2006–2019 ELMA