Principle
Decision tables are a part of AvantGard Trax which allows modifications to the workflow, depending on conditions of the object to which they are applied. For example, payments can be validated differently, depending on their content or those for a specific customer can be saved to a different directory on drive or in a different format.
Decision tables are used when objects like payments and envelopes have to be processed differently, depending on their content. A decision table will apply filters to the content and see what matches. When a matching filter is found, the rule sequence associated with that filter is executed.
The decision table system consists of a number of decision tables. Every decision table can be called from a rule and will then take each object separately and try all filters until either a match is found or the filter list has been exhausted. It will then take the next object and try the filter list for that object.
A decision table is applied when called by a rule sequence in the workflow.
In essence, a decision table can be portrayed as follows: (more than four are possible, but not illustrated for brevity).
Filter | Condition |
---|---|
1. | The first filter is tried to see if the object matches. If it matches, the rule sequence associated with the first filter is executed and the decision table is exited. If it does not match, the second filter is tried. When possible, the filter with the highest chance should be put first so that the other filters do not have to be tried. However, the filters are consecutively tried when no match is found, so the first filter should be as specific as possible. |
2. | If the first filter was not matched, the second filter will be tried. For this reason, the second filter may not be a subset of the first filter, because then it will never match.(e.g. if the first filter is all payments over 10.000 euro, then the second filter should not be between 10.000 and 20.000, since those payments have already been processed by the first filter and exited the decision table.) |
3. | The third filter is tried for those objects which haven’t matched with the first or the second one. |
4. | Ideally, the final rule should catch all objects which have not been caught by the previous rules. |
Table 51 Decision Tables
Note that decision tables do not support data ownership, audit or change approval as they are only available to integrators.