Conditionally Determining the First Node
Usually, execution begins with the first node in the <connections> list in the workflow XML. However, at times it may be necessary to select a different node to execute first based on conditions in the work being processed. The optional CONDITIONAL_START setting for a connection tag defines the conditions used to determine which node in the workflow is executed first.
In the connection tag for a node, specify CONDITIONAL_START as the srcName. The connection tag also optionally includes one or more payment check filters that must be met for the node to be executed. If there are no payment check filters specified, or the condition for the node is met, it is executed and the workflow then continues normally. If the condition is not met, the next connection tag that has CONDITIONAL_START as the srcName is checked.
Determining the first node to execute for a workflow begins by checking the first node in the <connections> list that has CONDITIONAL_START as the srcName. If its condition is not met, checking continues until either a node is executed or the end of the workflow is reached without a node executing. If CONDITIONAL_START is being used for a workflow, only those nodes with srcName set to CONDITIONAL_START are considered as candidates for the first node.
CONDITIONAL_START is not a node, do not include it in the <nodes> list. CONDITIONAL_START applies to the task connections in ESort nodes as well.
<?xml version="1.0"?>
<workflowDescriptor name="Test" type="Workflow">
<nodes>
<node name="Node1"/>
<node name="Node2"/>
<node name="Node3"/>
</nodes>
<connections>
<connection srcName="CONDITIONAL_START" dstName="Node1">
<paymentCheck field="ibmValIsItem" operator="EQ" value="false"/>
</connection>
<connection srcName="CONDITIONAL_START" dstName="Node2"/>
<connection srcName="Node1" dstName="Node3"/>
<connection srcName="Node2" dstName="Node3"/>
</connections>
</workflowDescriptor>