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 and creates the subflow instance and waits for the subflow process to finish before continuing to the next node in the workflow process
Asynchronous: calls the subflow process and continues to the next node in the process, without waiting

Subflow Parameters / Actual Parameters

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

Id: Workflow Variable ID
Mode:

  • In: pass the value from the current workflow process's variable to the subflow process's variable only upon calling up the subflow process.
  • Out: pass the value from the subflow workflow process's variable to the current workflow process's variable only upon completion of the subflow process.
  • In and Out: a 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".
  • No labels