| # Dynamic conditions A dynamic condition is an expression that determines the direction in which a business process is continued. A dynamic condition is linked to an outgoing relationship that follows a control activity in a business process. Applying a dynamic condition results in the activation or deactivation of parts of a business process. Whether a dynamic condition is applicable is determined during the execution of a business process by the Workflow Management System. General Syntax of a dynamic condition Examples of dynamic conditions General The following general rules apply to a dynamic condition: The expressions are not case sensitive. Dynamic conditions can only be linked to an outgoing relationship that is leaving a control activity that is of type XOR or OR. If the dynamic condition that is linked to an outgoing relationship is not defined, the result is always true. A workflow attribute must always be preceded by a dollar sign $ for use in a dynamic condition. Note You can add a comment between a (|) and the end of the line. You can zoom to business process attributes in the text editor to include an attribute in the dynamic condition. Syntax of a dynamic condition An expression build following the syntax rules can be used as a dynamic condition. The syntax rules are divided into five main categories namely: constants, logical operands, boolean operands, terms and expressions. The first three are very straight forward their options are listed. The category terms can be a constant (an option from the category constants), a workflow attribute or a formula that uses a logical operand from the category logical operands. The workflow attribute can be used to retrieve the value in a field of an ERP session. This way you can, based on the field's value, make a decision. An expression can be a term but an expression can also be used to create a formula with the help of boolean operands. Constants Boolean constant (True or False) Enumerate constant (Domain.Constant Name) For example, tgbrg.actp.manual for "Manual Activity" Numeric constant (Number). For example, 123 Double constant (Number with decimals). For example, 123.12 String constant (String). For example, "business as usual" Logical Operands:
<= | (smaller or equal)
< | (smaller)
= | (equal)
> | (larger)
>= | (larger or equal)
<> | (unequal)
Boolean Operands:
AND | (all must be true for the outcome to be true)
OR | (at least one must be true for the outcome to be true)
XOR | (at most one must be true for the outcome to be true)
Terms: Constant $Workflow attribute term Logical Operand Term Nota Do not add a space between the $ sign and the workflow attribute name! Expressions: NOT (Expression) (Expression) (Expression) Boolean Operand (Expression) Examples of dynamic conditions
    $OrderTotal > 1000
The workflow attribute's value OrderTotal must be greater than 1000.
    $Status = "Ready"
The workflow attribute's value Status must be equal to Ready.
    $Payed = True
The workflow attribute's value Payed must be set to True.
    ($OrderTotal > 1000) AND ($OrderAmount > 100)
The workflow attribute's value OrderTotal must be greater than 1000 and the workflow attribute's value OrderAmount must be greater than 100. |