An OR Gateway directs incoming flows to one of many possible output paths, based on the condition(s) you set.
The node can have multiple incoming and outgoing paths. The incoming paths are evaluated in the order they arrive. Each outgoing path is assigned a condition.
Conditions are evaluated in bulk, without regard to the order in which you list them.
If all conditions evaluate as False, you can also specify a path to follow. If any condition has an output that can't be evaluated as either True or False, the node does not open any output paths.
Configuring an OR gateway
- On the tools Palette of the Process Modeler, select the Standard Nodes folder.
- Select the Gateways node category. The Gateway nodes are displayed.
- Select the OR node, and drag it onto the canvas.
- In the Process Modeler, click the Connect button on the toolbar.
- Drag the Connect tool from a connection point x on a prior node (or nodes) to a connection point on the OR node.
- Drag the tool from a connection point x on the OR node to connection points on the nodes that represent your optional paths. The OR node requires that you have at least one incoming and one outgoing path.
- Open the OR Properties dialog box.
- Right-click an OR node on the designer canvas. Select Properties. — or —
- Double-click an OR node on the Canvas. The Configure OR dialog box is displayed.
- Click the General tab.
- Enter a descriptive name for the node, by typing it in the Name field. When additional languages are enabled, a tab for each language appears on the General tab. If so, the Name field must be populated for each language.
- Click the Decision tab.
- Click the New Condition button. A condition row is displayed. Add multiple condition rows if you have multiple outgoing paths.
- Create conditions for the Gateway. To test the value of a process variable, click the Expression Editor button . The Expression Editor is displayed. Process variables are used to hold data that can be accessed by any node in your process. See the Configuring Process Variables help topic for more information on how to create a process variable.
- In the Expression Editor, click the Data tab.
- Select a process variable from the list provided.The process variable is displayed in the Expression field with the prefix pv!.
- Select an operator to use for comparison, such as greater-than, less-than, or equals. The Operator is appended to the Expression. For example:
- Append a value to use in your comparison by typing it after the operator. For example:
pv!Credit_Score > 100
Click Save and Close. The Expression is displayed in the condition row with the prefix (=).
- Type a comparison in the Condition field, using a known process variable Name, an operator (such as equals, less-than, or greater-than) and a Value. Use the following syntax:
pv!Name = Value
- For each condition, select a destination node from the Result list.
- (Optional) Select a destination node from the Result list for the condition else if none are TRUE.
- If you have more than one condition, reorder them so that they are evaluated in proper sequence. The first condition listed is the first to be evaluated.
- Do either of the following:
- In the Order column click the Down button to evaluate a condition after the one listed below it. - Click the Up button to evaluate a condition before the one listed above it.
Specifying an expression that evaluates to neither
false results in the process pausing at this gateway.
When multiple flows enter an OR node, the Gateway node pauses after the first instance token passes through – until all other incoming flows arrive. Work around this issue by placing an empty Script Task node between the incoming flows and the Gateway node.