Sub-Processes

Some activities can contain further steps, or sub-processes. There are three types of sub-process: embedded, reusable and event.

Note: A sub-process that is embedded can be re-factored into a reusable sub-process and vice versa. For more information see Refactoring Sub-Processes.

Call Sub-processes

To facilitate the reuse of process components, an activity (or several activities) can call another process as a sub-process, and those sub-processes can be reused from call sub-process activities in many processes.

The sub-process could be a process that you have already created, or you can refactor activities in your current process into a call sub-process activity that calls a new sub-process.

See Refactoring Sub-Processes.

Activities that call a sub-process look like this in the Process Editor:

Click the plus sign (+) in the activity to view the sub-process.

An activity of this type defines a call-out to another process:

  • The called process exists as a separate process from the parent process, and because of this it can be started from other processes.
  • The called process does not have access to data fields and parameters of the calling process and package. For this reason, data mapping must be performed to and from the called process.

When a process is cancelled, any sub-processes that the parent process created are cancelled first. A sub-process cancelled by a parent process can execute a cancellation event handler flow to perform any necessary compensatory actions.

Compensatory actions are used to 'undo' or perform appropriate remedial action for partially completed sub-processes.

Embedded Sub-processes

An embedded sub-process is one that is fully contained within the parent process; it does not exist as a separate process.

In this example, Run Credit Check is an embedded sub-process. This implies that running a credit check is an activity that is not needed by other processes. If you subsequently decide that you want to be able to run a credit check from within other processes, you can expose the embedded sub-process as a reusable sub-process by refactoring it. See Refactoring Sub-Processes.

An embedded sub-process has the following characteristics:

  • It is fully contained within the parent process, and is executed within the parent process.
  • Activities within the embedded sub-process have access to the same data fields and parameters as the parent process and package.
  • No data mapping is required.
  • It cannot contain lanes and pools.

To create an embedded sub-process, refactor one or more objects in your process as described in Refactoring Sub-Processes.

Note: If you want to use the chained execution resource pattern, you can do so by selecting the Chained Execution check box in the Properties view for the embedded sub-process. For more information, see Chained Execution .

Event Sub-processes

An event sub-process executes an internal sub-process when an event is triggered. You can use event sub-processes within business processes and pageflows. Click the plus sign (+) in the activity to view the sub-process.

Collapsed:

Expanded: