Skip to main content


         This documentation site is for previous versions. Visit our new documentation site for current releases.      
 

Running multiple instances of the same subprocess with a Split for Each shape

Updated on November 22, 2021

Speed up case resolution by creating multiple instances of one subprocess that users can work on simultaneously and that later rejoin the parent process. Consequently, you provide tools for users to work in parallel and remove the risk of blocking users during case processing.

In a sample scenario in which a case requires approval from multiple users, the Split for Each shape starts the same approval process for all users that meet specified conditions. For example, the approval process can begin for all users with managerial roles who can access the case. You can define how many approvals the case requires to move forward.
Note: Each subprocess runs asynchronously and in parallel. When a user works on an assignment in one subprocess, other users can work on an assignment in a parallel subprocess. The prerequisite for this process to work safely is to review the locking strategy, and consider switching to the multiple user locking strategy. However, concurrent access may result in a need to refresh the assignment due to the fact that another user can make changes at the same time.
  1. Add the Split for Each shape to your case life cycle:
    1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
    2. In the Case life cycle section, in the process in which you want to add the Split Join shape, click Configure process.
    3. On the toolbar, click Open process in Dev Studio.
    4. On the Diagram tab, click the Flow shapes icon, and then select Advanced ShapesSplit for Each.
    5. Connect the Split for Each shape by dragging connector end points to connection points on different shapes in the process.
  2. Open the dialog box by double-clicking the Split for Each shape.
  3. Optional: To provide a unique name for the shape, in the Split for Each dialog box, in the Split for Each field, enter a new name.
  4. In the Join list, define when the parent process resumes processing:
    • To resume processing after all subprocesses are complete, select All.
    • To resume processing after any subprocesses are complete, select Any.

      After any of the subprocesses are complete, processing of the remaining subprocesses stops and the system cancels open assignments.

    • To begin processing of individual pages for which a specified when condition evaluates to true, select Iterate.
    • To resume processing after a specified number of subprocesses is complete, select Some.
  5. In the Page property field, enter the Page List or Page Group property that is the basis of the split.
    For example: To send a case for approval to multiple approvers, enter a page property that stores pages with the details of the approvers.
    Result: The system autopopulates the Class field that stores the class with embedded pages of the property that you provide.
  6. In the Filter flow by field, select the subprocess category:
    • To start a subprocess that is a series of actions to complete, select Process flow.
    • To start a subprocess that is a series of forms to complete, select Screen flow.
  7. In the Flow name field, enter the name of the subprocess that you want to run.
  8. Optional: To control whether the flow runs for all or some pages in the page property, in the When field, enter a when condition that evaluates values in each page.
    At run time, the system evaluates this when condition rule once for each page of the property in the Page Property field and starts a subprocess for any page for which this rule evaluates to true.
  9. If, in step 4, you select Iterate and your process resumes after a specified when condition evaluates to true, in the Exit iteration when field, enter a name of the when condition that resumes processing after evaluating to true.
  10. If, in step 4, you select Some and your process resumes after a specified number of subprocesses is complete, configure the conditions to resume processing:
    ChoicesActions
    Resume processing after a when condition returns a true value
    1. In the Exit iteration list, select On when.
    2. In the When field, enter a when condition that resumes processing after evaluating to true.
    Resume processing after a specified number of subprocesses reaches a certain status
    1. In the Exit iteration list, select On count.
    2. In the Number of paths field, enter an integer that determines how many subprocesses need to reach a certain status to resume processing.
      Note: Enter an integer that is lower or equal to the number of embedded pages in the page property that you provided in step 5.
    3. In the Resulting with flow status field, enter a status that subprocesses need to reach to resume processing.
      For example: Enter Resolved-Completed.
  11. Optional: To display a message in the audit trail of the subprocess, in the Audit note field, enter a rule that stores the audit note that you want to include.
  12. Optional: To provide a link to the subprocess in the breadcrumb trail navigation, select the Enable navigation link check box, and then configure additional navigation options:
    • To enable users to get back to the subprocess after the case moves forward, select the Only allow navigating back to this step check box.
    • To enable post-processing or validation when users navigate back from the subprocess in the breadcrumb trail, select the Perform post-processing when navigating away from step check box.
    • If, in step 4, you select Iterate, to allow users to return to the entry points in the subprocess, select the Subprocess has navigation links check box.
  13. Optional: If in step 4 you selected Iterate, to define the order in which the system evaluates the pages, in the Page group iteration settings section, define exact values to evaluate at run time:
    1. In the Subscript order field, enter text that your process compares with the subscript value for each page in the group.
      For example: To find pages that include the word Pega, enter Pega.
    2. Optional: To require an exact match, select the Exact match check box.
      For example: To find pages that include an email address of the Pega domain, enter @pega.com.
    3. Optional: To ignore the pages in the group that do not match the subscript order that you provide, clear the Process remaining changes check box.
      Otherwise, your process evaluates the pages without a match after processing all conditions in the Page group iteration settings section.
  14. Click Submit.
  15. Click Save.
  • Previous topic Running multiple instances of different subprocesses with a Split Join shape
  • Next topic About Flow Actions

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us