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.
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.
-
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:
-
All
- Waits for all subprocesses to 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:
-
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.
For each subprocess that runs when the parent flow reaches the
Split
Join
shape:
-
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
name fields.
Note:
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
,
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.
Note:
The Page property field must use a mode of
Page
, Page List
, or Page
Group
.
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.
When all subprocesses are configurd:-
Close the property
panel by
c
lick
inh
Submit
.
-
Click
Save.