Structure of the actions
Structure of the actions
In the actions of a decision table, parameters are assigned values, and calculations, formulas, and/or commands such as displaying a dialog mask are performed.
Formally, actions are expressions in the form of parameter assignments (see actions 2 and 3 in above figure) or procedure calls (action 1 above). The expression can be located completely in the action text, completely in the action identity, or separated at the assignment operator - the operator can also be omitted in the separated case. This results in the following options:
Action text | Action identity |
<Assignment, formula, or command> | The character x or X |
Empty | <Assignment, formula, or command> |
<Parameter> | <Expression> |
<Parameter> = | <Expression> |
A special form of action is the call of another decision table.
An action has no meaning, or rather, is not executed, if the respective action identity is empty. Spaces between expressions and operators can be added, or also omitted entirely, for better transparency.
Examples:
Action text | Action identity |
Price = Price + CalcFactor*PlatePrice | X |
Price = | Price + CalcFactor * PlatePrice |
| Price = Price + CalcFactor*PlatePrice |
p$Price() | X |
| f$Stop() |
Procedure | f$Dialog(’customer data’) |
The decision if an action appears completely in the action text or in the indicator should be made depending on whether or not this action is "standard" for the respective rules. This considerably improves the readability of the decision table so that it can be used directly as documentation in many cases. Thus, the procedure f$Stop() often appears directly in the ELSE-case, so that the special case for error handling is immediately apparent. A similar approach is recommended for the target parameters of the assignments, such as a price in a DT for determining pricing. In such cases, the price itself will often appear in the action text, while the formulas will be entered in the individual rules (if they are different for the individual cases).