Back Forward Flow form
Process Modeler — Editing a SplitForEach shape

About Flow rules

Purpose

The SplitForEach shape get icon provides a form of searching or enumeration over the pages in a property. Use a SplitForEach shape to iterate over the pages of a Page List or Page Group property. For each page, you can conditionally start a flow execution for the work object. COLLAPSE CANDIDATE

Processing in the original flow pauses while the subprocesses execute. Processing in the original flow can resume after all the subprocesses complete, or after the any one of them completes. For an example, see the standard flow Work-.StandardApprovalsAll or similar "approvals" flows.

XXXXX The SplitForEach shape contains the BPMN 'loop' notation . get icon

NoteYou cannot use the SplitForEach shape to create work objects. At runtime, this shape processes the work object's embedded Page List or Page Group properties; the embedded pages must exist before the SplitForEach shape is reached.

Adding a SplitForEach task to a flow

1. Right-click on a blank area of the canvas.

2. Hover over Add on the submenu to display a list of tasks you can add to the flow.

3. Click SplitForEach. The shape will appear on the canvas. will the properties panel display by default? Not yet -- too complicated if you add multiple at once, per Joan. You can add multiple shapes without saving the flow.

4. Right-click the SplitForEach shape and select Properties to display the properties panel.

5. When the SplitForEach Properties panel appears, complete the fields as described in the tables below. (To edit the shape properties after you save the Flow form, open the Diagram tab, right-click the shape, and select Properties.)

6. Click  OK   when finished.

7. Click and drag the SplitForEach shape as needed to position it in the flow.

8. Connect an incoming connector to the SplitForEach shape.

9. Connect an outgoing connector from the SplitForEach shape.

-Copy/Paste - Ctrl c on Decision, then Ctl V to make a copy (eventually)

Select shape from plus-sign style icon and drop-down menu on toolbar (eventually)

 

Complete the SplitForEach Properties fields as follows:

Field

Description

Name

Enter a text name for this SplitForEach shape. Choose a name meaningful to application users who see this on the work object history display, the breadcrumbs control (for entry points), and the Where-Am-I? diagram. For example, BeginContractProcessing or Find Nearest Branch Office.

The shape name is only descriptive; it does not affect runtime execution of the flow. This name also appears inside the SplitForEach shape on the Diagram tab.

Join

Select Any, All or Iterate. Choose:

  • Any to cause processing in this flow execution to resume after any one of the split subprocesses completes. At that time, processing of the other split subprocesses — which have not completed — stops. Open assignments for these subprocesses are cancelled. (If you choose Any and at runtime one flow execution ends before some others are started, the others are not started.)
  • All if the current flow is to resume only when all the split flows complete and return.
  • Iterate to spawn flows for elements of the Page Group or Page List property one-by-one, testing conditions you list below to determine whether to continue.

CautionIf you choose Iterate, execution of the subprocesses must not alter the index values in the Page Property value, to prevent unreliable results. For example, if an activity in the subflow started for the fifth element of a Page List deletes the first element of the Page List, the original sixth element (now fifth) may be unintentionally skipped.

When you choose Iterate, the Page Group Iteration Settingstab appears at the bottom of the properties panel. Further, the Flow Details tab displays the Exit Iteration When field.

Note When used in a screen flow, there is no Join option in a SplitForEach shape. The only processing mode is Iterate. The conditions When and Abort Iterations are not available. A Page Group property used in a screen flow SplitForEach shape is processed in an indeterminate order and all pages are shown. Therefore, Page Group-specific iteration settings are not available; that is, you cannot determine a different order as you can in a regular flow.

Page Property

SmartPromptIdentify the property of mode Page List or Page Group that is the basis of the split.

Class

SmartPromptIdentify the class of the embedded pages. Usually, this value does not usually need to be altered as the class appears when you enter Page Property.

Audit Note

Optional. Text you enter here appears in the history of the work object, recording the subflow started by this SplitForEach shape. (If you selected Iterate for the Join field, the history is written for each iteration over the work object, even if subflows were started only for some.)

NoteWhen you plan to localize the application so that it can support users in various languages or locales, choose the text carefully and limit text length to 64 characters. A field value rule with this text as the final key part is needed for each locale. When practical, choose a caption already included in a language pack to simplify localization. See About the Localization wizard.

Entry Point?

Select to indicate that this SplitForEach shape is an entry point, which provides a navigation link for that step. The links appear after you complete a step. For example, after you complete Step A and go to Step B, a link appears to Step A. Links are displayed according to the type of harness you use:

  • Links in a Perform harness or a screen flow harness display as a breadcrumb trail.
  • A tree navigation screen flow harness displays tree nodes.
  • A tabbed screen flow harness displays a tab.

If you click a navigation link for the SplitForEach shape, you return to the first step (assignment) and the split runs again. You can click the links in the tree and breadcrumb harnesses to return to any step (subflow) within the flow.

NoteTabbed and tree harnesses require that Entry Point? be selected.

By default, the box is cleared.

Only going back?

Optional. This checkbox appears only when you select the Entry Point? checkbox for the SplitForEach shape. If selected, users cannot click the SplitForEach shape's tab or tree node until they have reached it or passed it. Users cannot jump forward to this step.

NoteIf you enable jump-forward in your tabbed or tree harness, then configure the last flow action in the screen flow to provide comprehensive validation, in case steps were skipped.

TipFor maximum user flexibility, leave this checkbox unselected if your flow accepts inputs in any order. However, this approach is typically not workable for flows that contain fork and decision shapes, or that have intermediate shapes that are not entry points.

Note The setting is applicable only to tabbed and tree screen flows.

By default, the box is cleared.

Post Action on Click Away

This checkbox appears only when you select the Entry Point checkbox. Select to run flow action post-processing when you click away from this entry point.

By default, the box is cleared.

Sub-flow has Entry Points

In a regular flow, this field appears only when you select Iterate in the Join field. Select to allow users to return to the entry points within the SplitForEach subflows using the breadcrumbs control, or clicking a tree-harness node from a completed subflow or the standard flow action -Work.Previous.

For example, assume that a SplitForEach shape calls a flow containing two assignments ("Review" and "Approve) and the Page List has three entries. The label property is set to .myString and that the values of .myString on each page of the Page List are pg1, pg2, and pg3. Then the breadcrumbs appear as:

pg1 -Review - Approve - pg2 - Review - Approve — pg3 - Review - Approve.

NoteTabbed nodes and tree harnesses require Subflow Entry Point? to be selected.

By default, the box is cleared.

Label Property

This checkbox appears only when you click the Sub-flow has Entry Points checkbox. Enter the property for the navigation labels used on subflow tab headers or tree nodes.

Completing the Flow Details tab

Complete the fields under the Flow Details tab to select the process flow type, when condition rule, and the process flow rule to use at runtime.

Field

Description

Flow Type

Select Regular, Screen, or BPMN Flow, whichever applies to the subprocesses.

When

SmartPromptOptional. Select a when condition rule. The system uses the class of the embedded page as the Applies To key part of the when condition rule. At runtime, it evaluates this when condition rule once for each page of the property in the Page Property field, and a starts a subflow for any page for which this rule evaluates to True. (For Iterate, additional tests are applicable.)

For example, you can use this field to start subflows only for subscript values "OH" and "VA" of a Page Group property that uses state codes as subscripts.

Flow Rule

SmartPromptSelect a flow rule (the second key part) for the Foreach over an embedded page list. At runtime, the system uses the value in the Class field to find the flow rule.

Exit Iteration When

SmartPromptThis field appears only when you select Iterate in the Join field. Select a when condition rule. The system uses the class of the parent flow as the Applies To key part of the when condition rule.

If this field is not blank, at runtime the system evaluates this when condition rule once for each page of the property in the Page Property field. If false, no additional flow executions are started and the flow is resumed.

For example, you can use this field to start subflows only when a top-level work object property was set to 6 or less, where the subflow executions contain assignments recording committee member votes, and 6 yes votes count as a majority.

Completing the Page Group Iteration Settings tab

The Page Group Iteration Settings tab appears only when you select Iterate in the Join field. Complete the fields to select the subscript order, indicate whether the subscript requires an exact match, and to specify whether to start a subflow for subscript values not yet selected..

Field

Description

Subscript Order

Optional. Enter the literal text of (or an initial portion of) a subscript value that may be present in the Page Group property at runtime. For example, enter M to match the eight state codes ME, MA, MO, MT, MS, MD, MN, and MI.

At runtime, a subflow is started, one at a time, for each match of the first row. Then a subflow is started for each match of the second row, and so on. (This requires repeated scanning of the pages in the group to access subscript values.)

Exact Match

If the Subscript Order field is not blank, click the checkbox to require an exact match. For example, the value M does not exactly match any state code.

Process Remaining Pages

If the Page Group Iterations array is not blank, select to indicate that a subflow is to be started for any subscript value not yet selected (subject to the Abort Iterations when? result.)

For example, if the subscript values correspond to state codes and the array contains the single character M (without exact matching), select this box to create subflows for each of the remaining 42 states (in an unspecified order) after creating subflows for the eight states that match M.

Completing the Tickets tab

XXXXXAdd a Ticket Name field under the Tickets tab to indicate the ticket(s) available at runtime. Use the Ticket to mark the starting point for exceptions that may arise at any point in the flow, such as a cancellation. The ticket is a label for a point in a flow, much like a programming "GOTO" destination.

An activity executing anywhere in your entire Process Commander application can set or raise this ticket by executing the Obj-Set-Tickets method with this ticket name as a parameter.

A raised ticket causes the system to search for any executing flow (on the same or a different work object) that contains this ticket. If found, processing stops on that flow promptly, and resumes at the ticket point.

The system adds a ticket icon to the SplitForEachshape to indicate one or more tickets are associated with this process. get an icon when they are done.

Field

Description

Ticket Name

Optional. Select one or more tickets that are to be available at runtime from this process. Add a row for each ticket. Use SmartPrompt to display all tickets available to flows in this work type.

TipCreating ticket rules is recommended but not required. You can enter here a name that does not correspond to a ticket rule.

NoteIf a shape has more than one ticket associated with it, then processing continues with that task only after all tickets are set.check

Example

Processing is connected to a ticket to respond to an exception, error flow or event. For example, if a mortgage application is withdrawn after some, but not all, of the application processing is completed, a mortgage processing flow can:

  • Include a ticket named Withdrawn
  • Connect this ticketed shape since there is not a 'ticket' shape? to a utility task that computes the fees due for work done so far, and any refund amount
  • Follow the utility task with another that produces correspondence, to alert all parties working on the mortgage that it was withdrawn
  • Connect to external systems to back out (rollback) changes or void accounting entries as appropriate

Notes

At runtime, the standard function rule AddFlow() is called for each page in the Page List property, and limits this to a maximum of 500 new flows. This limit is imposed to detect and trap possible infinite loops. If required by your applications, you can increase or decrease this limit. See More about Flow rules.

Up About Flow rules