5.16 Rule Sets Page
Use the Rule Sets page to display and edit ruleset information and to add, edit, and delete the general (IF/THEN) rules, verbal rules, and decision tables associated with a ruleset.
Note that the Verbal Rules tab is not displayed if Business Process Management is not installed.
The Rule Sets page includes the following tabs:
Expand the ruleset to show the ruleset Name, Description, Effective Date, and Active fields.
Overview tab
Use the Overview tab to edit rule set properties, and to view, edit and delete rules and decision tables.
The Overview tab includes the following sections:
-
Rule Set Properties
-
General Rules - lists the General Rules in the ruleset
-
Decision Tables - lists the decision tables in the ruleset
-
Verbal Rules - lists the Verbal Rules in the ruleset
Rule Set Properties
Element | Description |
---|---|
Name |
Ruleset name. Enter or edit text to specify the ruleset name. |
Edit Translation Bundles (Name) |
Click to update resource bundles for the Name field. The Bundle Editor dialog is displayed. |
Effective Date |
Sets when the ruleset is active. Use to identify that the ruleset is always active, or that the ruleset is restricted based on a time and date range, or a starting or ending time and date. |
Active |
Select to make ruleset active. When Active is not selected, Rules Designer does not validate the ruleset. |
Description |
Ruleset description. Enter or edit text in the text area to change the description associated with the ruleset. |
Edit Translation Bundles (Description) |
Click to update resource bundles for the Description field. The Bundle Editor dialog is displayed. |
General Rules
Use the General Rules list of the Overview tab to view, add, select for editing, and delete general rules in the ruleset.
Element | Description |
---|---|
General Rules |
Lists the general rules in the ruleset. |
Create |
Click to create a new general rule. |
Edit |
Click to edit the currently selected general rule. The General Rules tab opens with the selected general rule displayed for editing. |
Delete |
Deletes the currently selected general rule. |
Refresh |
Click to refresh the contents of the list. |
Decision Tables
Use the Decision Tables list of the Overview tab to view, add, select for editing, and delete decision tables in the ruleset.
Element | Description |
---|---|
General Rules |
Lists the decision tables in the ruleset. |
Create |
Click to create a new decision table. |
Edit |
Click to edit the currently selected decision table. The General Rules tab tab opens with the selected decision table displayed for editing. |
Delete |
Deletes the currently selected decision table. |
Refresh |
Click to refresh the contents of the list. |
Verbal Rules
Use the Verbal Rules list of the Overview tab to view, add, select for editing, and delete verbal rules in the ruleset.
Element | Description |
---|---|
General Rules |
Lists the verbal rules in the ruleset. |
Create |
Click to create a new verbal rule. |
Edit |
Click to edit the currently selected verbal rule. The General Rules tab opens with the selected verbal rule displayed for editing. |
Delete |
Deletes the currently selected verbal rule. |
Refresh |
Click to refresh the contents of the list. |
General Rules tab
Use the General Rules tab to view, create, edit, and delete general (IF/THEN) rules.
If the General Rules tab contains no general rules, click Create Rule to create a general rule.
Element | Description |
---|---|
Show / Hide Filter Query |
Click to show or hide the Filter Query for the general rule. |
Filter On |
Click to filter the displayed general rules based on the Filter Query. |
Create |
Click to create a new general rule. |
Delete |
Deletes the currently selected general rule. |
Move Up |
Click to move the currently selected item up. |
Move Down |
Click to move the currently selected item down. |
Show Structure |
Click to show the structure of general rules in a tree format. Click a rule to jump to it. The selected rule is expanded to show details. |
Expand All Rules |
Click to show the details for all general rules. |
Collapse All Rules |
Click to hide the details for all general rules. |
Toggle Display of Insertion Areas |
Click to show or hide insertion areas. For example, when insertion areas are displayed, the IF area shows the '<insert test>' prompt. |
Filter Query |
Use this area to construct a query to filter which rules are displayed. Click Filter On to engage the filter. |
|
The general rules are displayed in the tab. Each general rule has the following elements: |
Expand / Collapse |
Click to show or hide the details for the general rule. |
Show / Hide Advanced Settings |
Click to show or hide the advanced settings for the general rule. |
Rule Name |
Click to edit the general rule name. Any validation warnings are shown with red underlines. |
Description |
Click to edit the general rule description. |
Advanced Settings |
|
Advanced Mode |
Click to enable advanced editing in the Insertion Area. |
Tree Mode |
Click to enable tree mode in the Insertion Area. |
Rule Active |
Select to make general rule active. When Active is not selected, Rules Designer does not validate the decision table. |
Logical |
Enable or disable logical dependence between the facts that trigger a rule and the facts asserted by a rule. |
Priority |
Select the general rule priority. Choices range from Highest to Lowest. |
Effective Date |
Controls when the general rule is active. Use to identify that the general rule is always active, or that the general rule is restricted based on a time and date range, or a starting or ending time and date. |
Rule contents |
The general rule contents are displayed in this panel under IF and THEN headings. Edit the general rule by inserting tests and actions and specifying parameters by clicking on operands and selecting values. |
Verbal Rules tab
Use the Verbal Rules tab to view, create, edit, and delete verbal rules.
If the Verbal Rules tab contains no verbal rules, click Create Verbal Rule to create a verbal rule.
Element | Description |
---|---|
Add |
Click to add a verbal rule. |
Delete |
Click to delete the currently selected item. |
Move Down |
Click to move the currently selected item down. |
Move Up |
Click to move the currently selected item up. |
Expand All Rules |
Click to show the details for all verbal rules. |
Collapse All Rules |
Click to hide the details for all verbal rules. |
Toggle Display of Insertion Areas |
Click to show or hide insertion areas. For example, when insertion areas are displayed, the IF area shows the '<insert test>' prompt. |
|
The verbal rules are displayed in the tab. Each verbal rule has the following elements: |
Expand / Collapse |
Click to show or hide the details for the verbal rule. |
Show / Hide Advanced Settings |
Click to show or hide the advanced settings for the verbal rule. |
Rule Name |
Click to edit the verbal rule name. Hover over the name to display validation warnings. |
Description |
Click to edit the verbal rule description. |
Advanced Settings |
|
Effective Date |
Controls when the verbal rule is active. Use to identify that the verbal rule is always active, or that the verbal rule is restricted based on a time and date range, or a starting or ending time and date. |
Priority |
Select the decision table priority. Choices range from Highest to Lowest. |
Active |
Select to make the verbal rule active. When Active is not selected, Rules Designer does not validate the rule. |
Rule contents |
The rule contents are displayed in this panel under IF and THEN headings. Edit the rule by inserting tests and actions and specifying parameters by clicking on operands and selecting values. |
Decision Table tab
Use the Decision Tables tab to view, create, edit, and delete decision tables. The Decision Table tab for a ruleset is shown only if the ruleset has at least one decision table in it.
Element | Description |
---|---|
Show / Hide Advanced Settings |
Click to show or hide the advanced settings. |
Show / Hide Patterns/Tests |
Click to show or hide the tests area. |
Toggle Display of Insertion Areas |
Click to show or hide insertion areas. For example, when insertion areas are displayed, the tests area shows the '<insert test>' prompt. |
Decision Table Name |
Click the decision table name to edit the name. Hover over the name to show validation warnings (if Rule Active is selected). |
Advanced Settings |
|
Advanced Mode |
Click to enable advanced editing in the Insertion Area. |
Tree Mode |
Click to enable tree mode in the Insertion Area. |
Rule Active |
Select to make decision table active. When Active is not selected, Rules Designer does not validate the decision table. |
Logical |
Enable or disable logical dependence between the facts that trigger a rule and the facts asserted by a rule. |
Allow Gaps |
Determines if validation messages are reported when gaps (missing rules) are detected in a Decision Table. |
Order Rules by Bucket |
When selected, Rules displayed in table are ordered by bucket. This is automatically selected when Prevent Moving Table Columns is selected. |
Priority |
Select the decision table priority. Choices range from Highest to Lowest. |
Conflict Policy |
Select the conflict policy from Manual, Auto override (the most specific rule wins) and Ignore (what fires last wins). |
Effective Date |
Controls when the decision table is active. Use to identify that the decision table is always active, or that the decision table is restricted based on a time and date range, or a starting or ending time and date. |
Description |
Enter or edit a description for the decision table. |
Tests |
Enter test information. Click Show / Hide Patterns / Tests to toggle visibility of this element. |
Decision Table |
|
Add |
Click and from the dropdown list select Rule to add a rule, Condition to add a condition, and Action to add an action. The available actions shown are dependent on the mode and can include assert new, assign, call, modify, retract, assert, assert tree, expression, return, and throw. When Advanced Mode is selected, more options are available. |
Delete |
Click to delete the currently selected item. |
Move Up |
Click to move the currently selected item up. |
Move Down |
Click to move the currently selected item down. |
Prevent Moving Table Columns |
Click to prevent columns from being moved. When selected, Order Rules By Bucket is also selected. |
Move Decision Table Rule to the Left |
Click to move the currently selected rule left. |
Move Decision Table Rule to the Right |
Click to move the currently selected item down. |
Compact Table |
Compacts the decision table by merging conditions of rules with identical actions. Merging two or more condition cells adds all buckets in the cells to a single cell, and removes all but one of the cells. If one of the cells represents "do not care", then the merged cell represents "do not care". Select Merge Selected Cells from the dropdown list to merge cells. Select Compact Table to compact the entire table. Select Span Table to cause the selected condition to span the table. Select Span Selected Cells to cause currently selected cells to span the table. |
Split Table |
The split table operation creates a rule for every combination of buckets across the conditions. Split can be applied to an entire decision table or to a single condition row. Additionally, split may be performed on an individual condition cell. Select a cell and from the dropdown list select Split Selected Cell to split the cell, or Split Table to split the entire table. You can also Unspan Table or Unspan Selected Cells. |
Gap Analysis |
Click to find gaps and present the Gap Analysis dialog in which you can fix any gaps that are found. A gap is a "missing" rule in a decision table. A decision table has a gap if there is a combination of buckets, one from each condition, that is not covered by an existing rule. Rules Designer provides Gap Analysis icon to check for gaps. When you deselect Allow Gaps in the Advanced Settings area, the decision table reports a validation warning when a gap is found. |
Toggle Display of the Conflict Resolution Table |
Rules in a decision table conflict when they overlap and have different actions. Two rules overlap when at least one of their condition cells has a value in common. Overlap is common when a decision table contains "do not care" condition cells. Overlap without conflict is common and harmless. Click Show Conflicts to display conflicts in the Conflict Resolution row in the decision table. Use the Advanced Settings Conflict Policy list to specify that where possible, conflicts are manually resolved, automatically resolved, or ignored. |
Align Columns |
Click to align the conditions, conflicts, and actions table columns. |
Resize All Columns To The Same Width |
Click to resize the columns in the conditions, conflicts, and actions tables to the same width. |
Cell Text Truncation |
Click to left-align or right-align the text values in cells and truncate text that doesn't fit on the other side of the cell. This is useful when a decision table cell text is too long to be completely displayed. |
Flip the Table Rows and Columns |
Moves table row entries to columns and vice versa. |
Refresh |
Select to refresh the contents of the decision table. |
Decision Table Area (With a Condition or Condition Cell Selected)
When a condition or a condition cell is selected, the following fields are displayed:
Element | Description |
---|---|
Cell Value Field |
When a condition cell is selected, this field includes an indication of the cell name and a text entry area to enter a value for the condition cell. |
Value Set Selection Dropdown |
Provides a list of value set options for the condition. |
Edit Value Set |
Click to edit the currently selected value set. |
Delete |
Deletes the currently selected condition. |
Conditions Area
The Conditions area in a decision table includes the condition rows. Each condition row has a condition expression and, for each rule, a condition cell.
You build condition expressions in Rules Designer. Usually, a condition expression is shown in a condition row and applies to a data model fact such as a Java Fact, an XML Fact, an RL Fact, or an ADF-BC fact.
A value set is associated with every condition expression. You can define the value set on the fly using a local value set or you can use a global value set. The value or the range for a given condition cell takes its value or range from one or more values in the associated LOV or Ranges value set.
In the Conditions area, double-click <insert-condition> to display the navigator to select or enter an expression.
Conflict Resolution
Rules Designer finds conflicts. Conflicts are displayed in the Conflict Resolution area in the decision table when you click Show Conflicts.
When the Conflict Policy option is set to manual, click on the cells in the decision table Conflict Resolution area to see conflicts. Rules Designer displays a conflict resolution dialog. Use it to resolve conflicts between rules in various ways:
-
Override (Override and OverriddenBy): Override one rule with the other. This lets one rule fire. Override is a combines prioritization and mutual exclusion. Prioritization is transitive and not symmetric. Mutual exclusion is both transitive and symmetric. If A overrides C and B overrides C, then A or B runs before C but only one of A, B, or C runs.
-
Run Before (RunBefore and RunAfter): Prioritizes the rules. This lets the two rules fire in a prescribed order. Prioritization is transitive and not symmetric. That is, if A runs before B runs before C, then A runs before C but B does not run before A. This uses a decision table runBefore list specifying that the rule that runs before has a higher priority than rules in the list.
-
Ignore (NoConflict): Accept the conflict. This allows the two rules to fire in arbitrary order. For example, consider the following conflicting rules in a decision table:
-
rule1: everybody gets a 10% raise (as specified with a don't care value in a decision table condition cell)
-
rule2: employee with Top Performer set to true gets a 5% raise
-
In these rules, if rule2 overrides rule1, then a top performer gets a 5% raise, and everyone else gets a 10% raise. However, in the case where you would like to have both rules fire. Since it does not matter which rule fires first, and there is no conflict, then a top performer gets a 15.5% raise either way. In this case, use the NoConflict list to remove the conflict. Note that no conflict is what you get with IF/THEN rules with equal priorities, only you are not warned of a conflict and you must think hard if you want one rule to override the other.
Related Topics
Working with Rulesets and Rules in Designing Business Rules with Oracle Business Process Management