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 flows, you can speed up processing and create 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.
To add asynchronous processing:
Double-click the Split Join shape to open the property panel.
In the Join field, select an option that defines how the parent flow waits to continue processing.
All - Waits for all subprocesses return.
Any - Waits for one subprocess to return.
All other subprocesses that were called from the Split Join shape stop processing when the parent flow resumes.
Some - 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.
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.
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.
Configure the subprocesses that run when the parent flow reaches the Split Join shape at run time.
Note: Each subprocess runs asynchronously but not in parallel. When a user works on an assignment in one subprocess, the case is locked, which prevents others users from working on assignments in other subprocesses.
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.
In the Define flow list, select On current page.
In the Define flow list, select On specific work item.
In the Work property field, press the Down Arrow key, and select a property that stores the key value of the case on which your subprocess works.
In the Class field, press the Down Arrow key and select the class of the case.
Optional: To define the clipboard page that stores case data, enter a value in the Page name field.
If the case does not already have a page and you do not provide a page name, you application creates a page named pyNextObj
, pyNextObj_1
, and so on.
In the Define flow list, select On embedded page.
In the Page property field, press the Down Arrow key and select a property that stores the embedded page.
This property must use a mode of Page
, Page List
, or Page Group
.
In the Class field, press the Down Arrow key and select the class of the embedded page.
Tip: To use a class that is not known at design time, enter a property reference or expression in the Class field.
Click Submit to close the property panel.
Click Save.
You can test the Split-Join shape by connecting it to other shapes and running your flow.