Creating Dynamic Sub-Processes

A dynamic sub-process can be created by modifying a call sub-process activity.

Procedure

  1. Create a process interface that specifies the start event and its input/output parameters. Each process that is to be invoked from the dynamic sub-process task must implement the same process interface. See See Process Interfaces.
  2. Create one or more call sub-process activities in your process.
  3. From the General tab for each call sub-process activity:
    1. Using the picker, select the process interface created in step 1.
    2. In the Runtime Identifier Field select a formal parameter or data field using the picker. This must be a text field or an array. Arrays can be used for multi-instance sub-process tasks where potentially different sub-processes are required for each instance of the same task.
  4. Initialize the Runtime Identifier Field. For example, for a multi-instance sub-process task you could create a Script task before it to populate the array data field with a sub-process name element for each task instance. For a single instance sub-process task simply set the runtime identifier field to the required sub-process name in a script prior to the task.

    For a sub-process implementation which resides in an external sub-process library., you could use a script something like the script shown in the following illustration:

  5. In the call sub-process activity, map data to and from the called process (to pass data between the process and sub-process):
    • Map the input to the interface in Map To Sub-Process.
    • Map the output from the interface in Map From Sub-Process.

      For example: