More about Decision Table rules |
If you have in advance a Microsoft Excel spreadsheet that contains useful starting information for a decision table rule, you can incorporate (or "harvest") the XLS file and the information it contains directly into the decision table rule. See About the Rule from File wizard.
This feature lets people with no access to Process Commander to record their decision rules using a familiar software program.
In an activity, to evaluate a decision table rule and derive a value, your application can:
In an activity, call the method Property-Map-DecisionTable method. As parameters, enter the target property name and the name of the decision table rule.
In an activity, call the standard function named DecisionTable.ObtainValue to evaluate a decision table rule. Use the syntax:
Lib(Pega-RULES:DecisionTable).ObtainValue(this, myStepPage, "decisiontablename")
Process Commander does not limit the number of rows in a decision table rule. However, as a best practice to avoid slow performance when updating the form and also avoid the Java 64KB code maximum, limit your decision table rules to no more than 300 to 500 rows.
The standard activity named @baseclass.DecisionTableLookup also evaluates a decision table. (This approach is deprecated.)
When you save a decision table rule, the system converts the rule to Java source code. As a learning or debugging aid, you can review this Java code.
Click the Show Java toolbar button () to see the system-generated Java code that implements the decision table rule. The window presents a read-only preview of the Java that implements this rule instance. This Java code is not identical to the Java that executes at runtime, which includes Java code inlined from other rule instances and reflects rules in the requestor's RuleSet list.
When a Declare Expression rule has Result of decision
table
for the Set Property To field,
special processing occurs at runtime when a property referenced
in the decision table rule is not present on the clipboard.
Ordinarily such decision rules fail with an error message; in
this case the Otherwise value is returned
instead. For details, see Pega Developer Network article
PRKB-20805 Troubleshooting:
Declarative Expression does not execute when a decision rule
provides no return value.
Despite the class name, the Rule-Declare-DecisionTable rule type does not produce forward or backward chaining. Technically, it is not a declarative rule type.