About Complex Join Expressions
Many of the available Designer step types support a complex join. The specific behavior of a complex join is defined by a join expression that you create. Evaluation of the join expression at run time determines whether the join is satisfied or unsatisfied.
If no join expression is defined, process generation will fail with an error stating that the join condition is invalid.
A warning appears during generation if you do not use all of the available transitions in the condition.
Designer does not perform any syntax validation. If you enter any unsupported characters in the expression editor, a run-time error will result.
You build a join expression in the expression editor found in the
Join Condition area of the
Joins page in the step’s Properties view, as described in
Defining a Complex Join
Expression. The join editor enables you to specify the step’s incoming transitions and place them into a logical statement. During run time, the join is satisfied when the conditions in the expression are true.
The join editor has the following features:
Expression editing field. This is where you create and edit the condition expression.
Note: | You cannot type text into the expression editing field. You can only add expression terms using the available controls. This is to ensure that you create a valid expression. |
Transitions list. This drop-down list displays all of the step’s incoming transitions. When you select a transition in this list, it is added to the expression as an expression term.
Expression editing buttons. Use these buttons to edit the terms in the expression editing field. Available buttons are Copy, Cut, Paste, Delete, Undo, and Redo. Do
not use the Paste button to paste content from outside the expression editor field into the expression. Doing so may result in an invalid expression.
Delete Expression button. Click this button to delete all content in the expression editing field.
Example
Consider a step that has three incoming transitions:
Transition-from-Step-6(StepID:S6)
Transition-from-Step-5(StepID:S5)
Transition-from-Step-4(StepID:S4)
You want the join to be considered satisfied if any two of the three incoming transitions are true. The expression would look like this:
(Transition-from-S6 and Transition-from-S5) or (Transition-from-S4 and Transition-from-S5) or (Transition-from-S6 and Transition-from-S4)