Back Forward Withdrawn rule

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.

The Withdrawnicon on the top right of a rule form indicates that a rule is withdrawn.

Using a withdrawn rule to mask a rule in a locked version

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:

  1. Open the unwanted rule.
  2. Use the Save As toolbar button to copy the rule into version 02-11-07.
  3. Change the Availability of the copy to Withdrawn.

Using a withdrawn rule to move a rule to another RuleSet

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:

  1. Open the rule to be moved.
  2. Use the Save As toolbar button to copy the rule into Delta:02-10-20.
  3. Set the Availability of the copy to Withdrawn. Both Delta rules are no invisible to rule resolution
  4. Use the Save As toolbar button to copy the original rule into Alpha:02-01-07. Set the Availability of this copy to Yes.

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).

Using a withdrawn rule to move a rule into a different Applies To class.

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:

  1. Open the rule to be moved.
  2. Use the Save As toolbar button to copy the rule into Alpha:02-01-08, a higher version.
  3. Set the Availability of the copy to Withdrawn.
  4. Use the Save As toolbar button again to copy the rule into the new Applies To class. Set the Availability of this copy to 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).

Contrasting blocked and withdrawn rules

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 you skim a RuleSet version that contains a blocked rule, the resulting RuleSet version does not contain the blocked rule nor any rules that the blocked rule blocks. When you skim a RuleSet version that contains a withdrawn rule, the resulting RuleSet version contains the withdrawn rule.

Notes

NoteRules in an override RuleSet cannot have availability values of Withdrawn.

Definitions available rule, blocked rule, circumstance, qualified rule, rule resolution
Related topics How to change rule availability
How to use the developer toolbar

zzzDefinitions — W