Adding asynchronous processing to a flow
You can use the Split Join shape to call two or more subprocesses that later rejoin the parent flow. By dividing your independent business requirements into multiple processes, you can model different types of dependencies in your flow.
For example, you can validate tax information and perform a title search as part of a mortgage application flow. Different users can work on the assignments in each subproccess, and the parent flow continues when one or both of the subprocesses return.
Add the Split Join shape to your flow:
Open a flow by searching for it or by using the Application Explorer. For more information, see Finding rules by class.
On the Diagram tab, click the Flow shapes icon and select .
Connect the Split Join shape by dragging connector end points to connection points on different shapes in the flow.
Double-click the Split Join shape to open the property panel.
In the Join list, select one of the available options to define how the parent flow waits to continue processing .
You can choose from:
- Waits for all subprocesses to return.
- Waits for one subprocess to return. All other subprocesses that were called from the Split Join shape stop processing when the parent flow resumes.
- Waits for a when condition to return a true value, or a specific number of flows to return a status value that you provide.
If the parent flow waits for only some subprocesses to return, define the criteria that must be met before processing continues:
To wait for when a condition to return a true value:
- In the Exit iteration list, select On when.
- In the When field, press the Down Arrow key and select the name of a when condition.
To wait for a specific number of subprocesses to return:
- In the Exit iteration list, select On count.
- In the Resulting with flow status field, enter a status value that the parent flow compares with the return value of each subprocess.
- In the Number of paths field, enter the minimum number of subprocesses that must finish processing and return a value that equals the status in the Resulting with flow status field.
- To wait for when a condition to return a true value:
Click + Add a flow.
Expand the Specify a flow rule for this subprocess section.
In the Name field, enter a clear description of the subprocess.
In the Flow rule field, press the Down Arrow key and select the name of a flow to run.
If the flow supports input parameters, additional fields are displayed for you to define name-value pairs.
On the Subprocess tab, configure the context of the subprocess.
- To work on the current case, from the Define flow list, select On current page.
- To work on a specific case, from the Define flow list,
select On specific work item. Complete the Work
property, Class , and Page
If the case is open as a page on the clipboard, you can leave the Work property field blank.
If the case does not already have a page and you do not provide a page name, you application creates a page named
pyNextObj_1, and so on.
- To work on an embedded page, from the Define flow list,
select On embedded page. Complete the Page
property and Class field names.
The Page property field must use a mode of
Page List, or
If you want to use a class that is not known at design time, in the Class field, you must enter a property reference or expression.
Close the property panel by c lick inh Submit .
For each subprocess that runs when the parent flow reaches the Split Join shape:
When all subprocesses are configurd:
- Creating a stand-alone process
Create a stand-alone process, or flow, to support or supplement the steps in a case life cycle. By creating a process outside the context of a case life cycle, you can reuse the process in other cases.
- Changing the path of a process
You can change the path of a process, or flow, to support out-of-sequence events. By adding different structures to your flow, such as loops and branches, you can improve the flexibility of the cases that you create.
A subprocess, also called a subflow, is a flow that is called by another flow. You can create a subprocess by adding a step to a process in the life cycle of a case or by adding specific shapes to a flow diagram. Subprocesses modularize the events in the life cycle of a case.
- Flow shapes
A shape in a flow represents a task that a user or application completes as part of a business process. By connecting different types of shapes in a flow, you can define the path that a case follows from creation to resolution.