Skip to main content

Embedded Sub-Processes

Overview

Embedded Sub-Processes are compound activities that contain other activities, gateways, events, etc., and are fully dependent on the parent process; they do not exist as a separate process. They share the same information or data with the parent process and can have a Transactional definition.

To demonstrate how to transform a task into an Embedded Sub-Process, we will use the following diagram:

Configure Embedded Subprocess

The diagram refers to a Purchase Request Process. We are going to transform the Quotations task into an Embedded Sub-Process.


Steps to Configure an Embedded Sub-Process

1. Edit the Process

In the first step of the Bizagi Process Wizard, click Edit Process.

Edit Process

2. Convert Task to Sub-Process

Right-click the task that you wish to convert to an Embedded Sub-Process (in this case, the Quotations task) and select Transform to Sub-Process.

Transform to Sub-Process

3. Select Sub-Process Type

The Sub-Process wizard will launch in a new window showing the available Sub-Process types. Select the Embedded option.

Select Embedded Sub-Process

4. Configure Properties

A properties window will display the following:

Configure Sub-Process Properties

ControlsDescription
Transactional Check-boxSets the Sub-Process as Transactional.
Processes (drop-down list)Displays the existing process list and sets the selected one as the Sub-Process.
Add buttonAllows the creation of a new process.
Process version (drop-down list)Displays the selected process version. If a new process is created, its version will be 1.0.
DiagramDisplays a preview of the selected process. If a new process is selected, the Diagram box will be empty.
Status BarPresents the Sub-Process status configuration horizontally.

Define the Sub-Process

You can either select an existing process or create a new one:

To Set an Existing Process

  1. Click the drop-down list and select the desired process.
  2. Select the Process version.
  3. Click the Finalize button.

Select Existing Process

To Create a New Process

  1. Click the Add button in the properties window.

    Add New Process

  2. Type the desired name and click the Create button.

    Create New Process

  3. Select the new process from the drop-down list and click Finalize.

    Finalize New Process


Editing the Sub-Process

Once the Sub-Process is created, you can immediately edit it.

  1. Right-click the newly created Sub-Process (Quotations) and select Edit Sub-Process.

    Edit Sub-Process

  2. The window will display the Sub-Process diagram. Since the Sub-Process is newly created, a Pool will be ready for you to start modeling.

    Sub-Process Diagram

  3. When finished, click Close. Then select Yes in the confirmation window to save the model.

    Save Sub-Process

Your Quotations Embedded Sub-Process has been successfully created.


Important Considerations

  • Embedded Sub-Processes should have the same Process Entity as the parent process.
    When a case enters an Embedded Sub-Process, the information from the parent process will be available by navigating the same XPaths.

  • The access type of the Embedded Sub-Process must be defined as "Module" in the process properties.
    If not set as a Module, the process will not appear in the Sub-Process Wizard as an Embedded Sub-Process, even if it was created.

    In the Expert View, right-click the process version (1.0, 1.1) and select Properties. Ensure that Module is selected in the Access Type option.

    Set Access Type to Module

Additional Notes

Note Pin

  • These Sub-Processes should always have the same Process Entity as the parent process to function correctly. When a case enters an Embedded Sub-Process, the parent process's information will be available in the exact same XPath. The data navigation will not change from one process to another.
  • All events and tasks in these Sub-Processes must be completed for the Sub-Process to finish.
    If any event or task is pending execution, the Sub-Process will not finish, even if they reach a Terminate End Event.