Rule resolution process and Rule availability
Rule resolution process and rule availability
Rules that are subject to the rule resolution process have an Availability setting. The current Availability of a rule is visible on the rule form next to the rule name or description.
The Availability setting is used to determine if a rule is available for use during rule resolution. The availability of a rule is also used to determine if you can view, copy, or edit a rule in Dev Studio.
You can set the availability of a rule to one of five values.
Availability = Available
An availability of Available indicates the rule may be used during the rule resolution process.
You can view, copy, edit, and execute rules in Dev Studio when the availability is set to Available.
Availability = Final
An availability of Final indicates the rule may be used during the rule resolution process.
Rules marked as Final can be viewed and executed in Dev Studio, but cannot be edited or copied into another ruleset.
Availability = Not Available
An availability of Not Available indicates the rule may not be used during the rule resolution process. When a rule set to Not Available is found in the rule cache created during the rule resolution process, the rule in the next-highest version is considered for rule resolution. The following table represents an ordered rule cache. The availability of the rule named CreateRequest in the Purchasing:02-01-10 ruleset is set to Not Available. The rule in the next-highest version — Purchasing:02-01-05 — is considered for rule resolution.
Apply to: class | Rule type | Rule name | Availability | Ruleset | Version |
---|---|---|---|---|---|
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Not Available | Purchasing | 02-01-10 |
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-05 |
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-01 |
Rules marked as Not Available can be viewed, copied, or edited in Dev Studio, but do not execute.
Availability = Blocked
An availability of Blocked indicates the rule may be used during the rule resolution process. Rules marked as Blocked can be viewed, copied, or edited in Dev Studio, but do not execute. If a blocked rule is selected during rule resolution, execution is halted, and an error message is added to the log file.
In the table below, the availability of the highest version of the rule named CreateRequest in the Purchasing:02-01-10 ruleset is set to Blocked. This version of the rule is available during rule resolution but does not execute. There are no higher versions of the rule available, so in the case of the example section rule, the section does not display.
Apply to: class | Rule type | Rule name | Availability | Ruleset | Version |
---|---|---|---|---|---|
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Blocked | Purchasing | 02-01-10 |
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-05 |
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-01 |
Block a rule when access to the rule must not be used and you need more time to develop and release an updated rule.
Availability = Withdrawn
An availability of Withdrawn indicates all rules that are in the current version ruleset and previous version ruleset and have the same purpose (or rule type) and Apply to: class are hidden and no longer considered after Availability is checked during the rule resolution process.
When a rule marked as Withdrawn is found during rule resolution, the system looks for an instance of the rule in the parent class or next highest ruleset in the application ruleset stack.
In the following table, the availability of the rule named CreateRequest in the Purchasing:02-01-10 ruleset is set to Withdrawn. All rules that are in the same ruleset with an equal or lower version number and have the same purpose and Apply to: class are not considered during rule resolution. The rule named CreateRequest in the Purchasing:02-01-15 is considered during rule resolution because the ruleset version is higher than the ruleset version of the withdrawn rule. If the rule in Purchasing:02-01-15 did not exist, a rule in the parent class, TGB-Purchasing-Work, would be chosen.
Apply to: class | Rule type | Rule name | Availability | Ruleset | Version |
---|---|---|---|---|---|
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-15 |
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Withdrawn | Purchasing | 02-01-10 |
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-05 |
TGB-Purchasing-Work-PurchaseRequest | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-01 |
TGB-Purchasing-Work | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-05 |
TGB-Purchasing-Work | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-05 |
TGB-Purchasing-Work | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-05 |
TGB-Purchasing-Work | Rule-HTML-Section | CreateRequest | Available | Purchasing | 02-01-01 |
TGB | Rule-HTML-Section | CreateRequest | Available | TGB | 03-01-01 |
Rules marked as Withdrawn can be viewed, copied, or edited in Dev Studio, but do not execute.