...
The decision table shows the rules in a shorthand notation by arranging the entries in table cells. This shorthand notation shows all the inputs in the same order in every rule and therefore has a number of readability and verification advantages.
For example;
Customer Category | Order size | Discount |
---|---|---|
"Business" | <10 | 0.10 |
read as;
Code Block |
---|
If CustomerCategory = "Business" and OrderSize < 10 then Discount = 0.10 |
...
In general table expressed as;
Input expression 1 | Input expression 2 | Output expression |
---|---|---|
input entry a | input entry b | output entry c |
If input entry is "-" (meaning irrelevant), every value of input expression satisfies the input entry.
...
Input expressions are usually simple FEEL expressions. Order of input expressions is not related to any execution order.
Every input expression has following properties;
Expression
Specifies the input value expression. (Example: Name, BirthDate or Person.Name)
Label
Optionally specifies the display label of input, if not specified expression is used to display input.
Input Values
Optionally specifies the valid range of input. Given inputs are validated by this expression before decision table is executed. For example a "Status" input may be use the "VALID", "INVALID" as input values. All other of values are rejected by decision table.
Also range comparison expressions can be used like "<10" to accept values smaller than 10.
Type
Optionally specifies the type of input expression. When type specified some of decision table editor features are enabled by input type.
Output expressions
A rule output entry is a also FEEL expression. Output expressions also have default value if no output entry is specified.
Name
Specifies the name of output value.
Label
Optionally specifies the display label of output, if not specified expression is used to display output.
Default
Optionally specifies the default value of output if decision table rule does not specify a value.
Type
Optionally specifies the type of input expression. When type specified some of decision table editor features are enabled by input type.
Hit Policy
The hit policy specifies the what the result of decision table is in cases of overlapping rules, ie. when more than one rule matches the input data. For clarity, the hit policy is summarized with using single character of policy name.
...
For example; if called with Age=17, Risk Category="HIGH" and Dept Review=true, the following table outputs of all four rules, in the order 2,4,3,1.
O | Age | Risk Category (Low, Medium, High) | Dept Review | Routing (DECLINE,REFER,ACCEPT) | Review Level (LEVEL2,LEVEL1,NONE) |
---|---|---|---|---|---|
1 | - | - | - | "ACCEPT" | "NONE" |
2 | <18 | - | - | "DECLINE" | "NONE" |
3 | - | "HIGH" | - | "REFER" | "LEVEL 1" |
4 | - | - | true | "REFER" | "LEVEL 2" |