This type of gateway allows you to selectively accept (or restrict) incoming paths and evaluate rules to determine outgoing paths. For example, you can restrict the node to accept only the first three out of four incoming paths, or require input from certain nodes before continuing. Outgoing paths can be configured in the same manner as other gateway nodes.
- Looping flow should not be directed into a Complex gateway itself, but into another upstream activity.
- When multiple flows enter a complex gateway, it allows only the first flow through, despite allowing you to configure it to wait for a configurable number of instance tokens to arrive before activating. Then, the gateway waits until all other incoming flows arrive before activating the outgoing flow again.
Configuring Incoming Flows for a Complex Gateway
On the Decision tab of the Configure Complex dialog box, select one the following options.
- Require n of n incoming paths to arrive.
- Select the number of incoming paths that must arrive before the next task can be executed. — or —
- Require these specific node paths. When selected, a list of nodes appear. Select the checkbox next to the name of each node you want to designate as a required source path.
Configuring Outgoing Flows for a Complex Gateway
Select one of the following options.
- Execute all outgoing paths at the same time.
- All outgoing paths execute simultaneously.
- This setting mirrors the behavior of an AND Gateway. — or —
- Execute only one outgoing path.
- This option connects the incoming paths with a single outgoing path. The path taken is determined by one or more conditions that you set. Each outgoing path is assigned a condition. The conditions are evaluated according to their top-to-bottom ranking. (The first condition listed is the first one tested.) As soon as a True condition is discovered, the workflow takes the associated path. This setting mirrors the behavior of an XOR Gateway. When this option is selected, the New Condition button appears.
- See the XOR Gateway help topic for more information on how to configure these conditions.— or —
- Execute one or more outgoing path(s).
- This option directs incoming workflows to one of many possible output paths, based on the condition(s) you set. Each outgoing path is assigned a condition. The conditions are evaluated according to their top-to-bottom ranking. (The first condition listed is the first one tested.) As soon as a True condition is discovered, the workflow takes the associated path. 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 True or False, the node will not open any output paths. This setting mirrors the behavior of an OR Gateway.
- See the OR Gateway help topic for more information on how to configure these conditions.
- Specifying an expression that does not evaluate to either True or False results in the process being paused by exception.
- Conditions are evaluated in bulk, without regard to the order in which you list them.