A withdrawn rule is a rule that has the availability property pyRuleAvailable set to Withdrawn
. A withdrawn rule is never selected by rule resolution. In addition, other rules that match this rule on the following fields are also hidden from rule resolution:
In addition, the version number of the other rules that match this rule must be lower than the version number of the withdrawn rule.
You can't delete a rule that belongs to a locked ruleset version. However, using the Withdrawn
availability setting, you can mask that rule so that rule resolution never finds it.
For example, assume the unwanted rule belongs to Alpha:02-10-15, which is locked, and that current development involves Alpha:02-11-07. To mask the unwanted rule:
Withdrawn
.You can use the Withdrawn
setting to move a rule from one ruleset to another that is lower on your ruleset list. This move is possible even if the ruleset or ruleset version containing the rule you plan to move is locked.
For example, assume that rule FOO is in ruleset Delta:02-10-15 but you later determine that the rule is of broader applicability and belongs in Alpha:02-01-07, where ruleset Alpha:02-01 is a prerequisite of Delta:02-10. In some cases, you can first delete FOO from Delta and then retype the rule into Alpha, but such deleting and re-entering isn't possible if Delta:02-10-15 is locked. Assuming Delta:02-10-20 and Alpha:02-01-07 are the current ruleset Versions, to move the FOO rule:
Withdrawn
. Both Delta rules are no invisible to rule resolutionYes
.The Delta:02-10-15 rule is now never selected by rule resolution, but every user who formerly accessed the Delta:02-10-15 rule now can execute the Alpha copy (unless rule resolution finds another rule earlier).
You can use the Withdrawn setting to move a rule from one Applies To class to another that is an ancestor class in the class hierarchy. This is possible even if the RuleSet version containing the rule to be moved is locked.
For example, assume that you decide the rule AlphaCorp-Finance-Payables-Overseas.ExciseTax (in RuleSet Alpha:02-01-07) has broader use than that implied by the Applies To class, and properly belongs to AlphaCorp-Finance-, an ancestor class.
In some cases, you can delete the original rule and retype it from scratch with the new Applies To class, but this isn't possible if the original rule belongs to a locked RuleSet version. To move the rule to the new Applies To class:
Withdrawn
.Yes
.The AlphaCorp-Finance-Payables.Overseas rule is now never selected by rule resolution, but every user who formerly accessed the AlphaCorp-Finance-Payables.Overseas rule now can execute the AlphaCorp-Finance- copy (unless rule resolution finds another rule earlier).
A blocked rule and a withdrawn rule are both invisible to rule resolution. Similarly, both blocked rules and withdrawn rules prevent lower-version rules with the same RuleSet and visible key from being selected by rule resolution. However, a blocked rule may block other rules in any RuleSet, and a blocked rule stops rule resolution from finding rules in higher Applies To classes. A withdrawn rule affects other rules only in one RuleSet and one Applies To class.
When skimming to a new minor ruleset version, the resulting ruleset version contains the withdrawn rule. Withdrawn rules are not, however, copied forward during major skim operations since there will not be other instances in the ruleset name in earlier ruleset versions which need to be prevented from resolving.