Designer 10.7 | webMethods BPM Process Development Help | Process Engine Processing | About Joins | About Complex Join Expressions
 
About Complex Join Expressions
 
Defining a Complex Join Expression
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.
*Term buttons. Click these buttons to add a term to the expression. Available terms are (, ), not, and, or, and unsynchronized or. For more information about unsynchronized or, see About OR Join Behavior (Synchronized vs. Unsynchronized).
*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)
Related Topics