Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this example, we have 2 processes, with the first process "Workflow Process 1" containing a Subflow calling the second process "Workflow Process 2".


Figure 1: Workflow Process 1 with Subflow to Workflow Process 2

Workflow Process 1 has one declared workflow variable named "firstStatus".

Figure 2: Workflow Process 2

Workflow Process 2 has one declared workflow variable named "secondStatus".

Subflow Properties

Title

Description

Id

Process to be called

Execution

Synchronous: Calls calls and create creates the Subflow subflow instance and waits for the Subflow Process subflow process to finish before continuing to the next node in the Workflow Process. workflow process
Asynchronous: Calls  calls the Subflow Process subflow process and continues on to the next node in the process, without waiting .

Subflow Parameters / Actual Parameters

Workflow Variables variables in the Subflow subflow process to be mapped with the existing Workflow Variables workflow variables in the current Workflow Processworkflow process. The number of entries in Subflow Parameters and Actual Parameters should be identical.

Id: Workflow Variable ID .
Mode:

  • In: Pass pass the value from the current Workflow Processworkflow process's variable to the Subflow Processsubflow process's variable only upon calling up the Subflow Processsubflow process.
  • Out: Pass pass the value from the Subflow Workflow Processsubflow workflow process's variable to the current Workflow Processworkflow process's variable only upon completion of the Subflow Processsubflow process.
  • In and Out: Combination of both abovea combination of the above

Example:

In the screenshot above, the subflow process will be executed synchronously. Parameter is set to "In and Out".

Let's walk through the entire process flow chronologically:

  1. Start of process "Workflow Process 1"
  2. "Activity 1" started.
  3. "Activity 1" completed with "firstStatus" set to "a".
  4. Subflow process started. As the parameter is set to "In and Out", the value "a" is now set to "secondStatus" of the subflow process.
  5. "Activity 3" started with "secondStatus" initialized to "a".
  6. "Activity 3" completed with "secondStatus" set to "ab".
  7. "Activity 4" started with "secondStatus" initialized to "ab".
  8. "Activity 4" completed with "secondStatus" set to "abc".
  9. The subflow process has now come to an end. As the parameter is set to "In and Out", the value "abc" is now returned to "firstStatus" of the parent process. "Activity 2" started with "firstStatus" set to "abc".