Starts a subworkflow from a step

Last published at: May 2nd, 2023

Description:

Separates functionality into child-instances and executes them separately from the parent instance.

Inputs

  • name - name of the step
  • description - description of the subworkflow
  • definition to use – definition to instantiate from
  • passVariablesToChild – passes variable values from parent to child instance.   Make sure, the child instance has the same variables, named exactly same as the parent variables
  • passVariablesBackToParent – passes the variables values back to the parent from the child instance
  • passGlobalsToChild - Pass globals to child instance
  • passGlobalsBackToParent - pass globals back to parent
  • parentToChildVariableMapping - map the variables from child to parent workflow
  • parentToChildGlobalMapping - map the globals from child to parent workflow
  • isSynched – Yes = parent waits until child instance is completed to execute, No = parent instance does not wait for the child instance to complete, parent instance continues execution
  • executionPriority -Select execution priority
  • childToParentVariableMapping - map the variables from parent to child workflow
  • childToParentGlobalMapping - map the globals from parent to child workflow

Returns

  • True – step executed successfully
  • False – step failed to execute 

Usage:

Example:

Let’s build and execute the subWorkflowDef example.          

  • Create a new definition called “startDef
  • Select the definition and click the “design” button
  • Drag a subWorkflow step to the canvas
  • Connect the dots between the start and subWorkflow steps

  • Click on the “subWorkflow” step to configure its properties
  • Configure the following values for the properties as shown on the below graphic
  • The parent to child variable mappings and the reverse.

  • The parent to child global mappings and the reverse.

  • Save the process definition, create an instance and execute.  The step shall separate  the functionality into child-instances and executes them separately from the parent instance.