Split-Join, Split-For-Each and Spin-Off

Split Join - One or more flows with Any, All options

Split For Each - One flow for each page in page list/ page group with Any, All, Iterate options

 Split Join:- Work item needs approval from two different teams to continue further. So you can select two different flows and route the flows to two different workbasket/worklists to get approval for the work item. The main flow waits for the split join flows to finish, you can either stop the main flow till both the flow ends or either of the flow end. 

Split-For-Each: Work parties of a work item need to confirm their acceptance with the case which is being processed. So there will be one flow that will have the assignments to record the acceptance of parties. Now we have to initiate or start this flow for each user or work party and need to record their input. So here you will mention the work parties page list and the flow name which executes for each work party. Like split join here you can have join option Any, All and in addition to that Iterate option which initiates flows to parties one after the other. 

Spin-Off: When we want to initiate one more flow to the current flow/ work object without halting the current flow and has to run in parallel to the current flow we go for Spinoff So that the work object will be having both the flows running at parallel and assigned to one or more parties/ teams. The spinoff is just like a subflow or additional flow to the case which will not stop/halt the main flow.

Your question is how it works if we initiate on the same work object and what if on a different work object? Even if you initiate on the same work object or different work object it doesn't matter, in fact in either which way it is going to add one more flow to that work object. I mean if you initiate spinoff to the current work object it is going to create one parallel flow to the current work object, if you initiate to some other work object it is going to create one parallel flow to that work object as always.

Choosing the right shape

NeedUse
Two or three different tasks that must happen in parallel and the case waits for themSplit-Join
The same task for every item in a list, such as every reviewer or work partySplit-For-Each
Extra work that the case does not have to wait forSpin-Off

The join options

  • All: the main flow continues only when every branch has finished.
  • Any: the main flow continues as soon as one branch finishes.
  • Iterate (Split-For-Each only): the flows run one after another, not at the same time.

A worked example

A bank's Mortgage case needs a valuation and a credit check.

  • A Split-Join starts both, and the main flow continues when All are done.
  • Then every co-applicant must confirm their consent. A Split-For-Each runs the consent flow once per applicant in the .Applicants page list, and waits for All.
  • Finally a Spin-Off sends a welcome pack in the background, and the case does not wait for it.

Tips

  • Use these shapes inside a sub-process shape, as Pega requires.
  • Give each branch a clear owner and a service level, so a stuck branch does not block the case unnoticed.
  • When using Any, decide what happens to the branches still running once the first one has finished.

For a deeper look at Spin-Off, read Spin Off in Pega. More in the Case Management label.

No comments:

Post a Comment