Back Forward Blocked rule

blockedA rule instance is blocked if its Availability value is set to the value Blocked. This setting appears as an X within a circle (blocked) on the rule form. Blocked rules have a distinctive gray appearance. B-17118

Blocked and blocked-by-another

A rule instance is blocked-by-another if its Availability value is set to Yes but a higher-numbered version of this rule (same name or key, same RuleSet) has the Availability set to Blocked.

Available rules with that name or key and a different RuleSet may be blocked-by-another as well, if their RuleSet version is appears beneath the RuleSet version of the Blocked rule on the user's RuleSet list.

When rule resolution selects a rule that is blocked, that rule and all others (same name or key, any RuleSet) are not executable. FOXW CLINB 04/11/05

To make a rule available "above" a blocked rule (that belongs to a secure RuleSet version), choose a higher version number or a RuleSet that appears higher on your (and other users') RuleSet list. SR-3870 B-17118

Circumstances

If a rule has Availability set to Blocked but also has a non-blank Circumstance Property, the blocking affect applies both to that rule and the base or underlying rule that has no Circumstance property. A rule resolution search that meets the Circumstance Property value stops (with no rule found). The Availability setting in the underlying rule is not relevant. 11/20/02

However, the converse does not hold. If the rule with a Circumstance Property has Availability set to Yes, and the base rule has Availability set to Blocked, a rule request matching the circumstance property and value is successful at finding and using the circumstance-qualified rule.

When you use the skim operation to convert rules to a higher major version number, blocked rules are skipped over. That is, the skimmed RuleSet does not contain any blocked rules.

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.

Blocked rules are included in ZIP archives

When you create a ZIP archive containing a RuleSet version, any blocked rules associated with that RuleSet Version are included in the archive (and remain blocked when uploaded into on a destination system). CLINIC 7/2/07

NoteOn a destination system, a blocked rule can in some cases block a different set of other rules than it blocked on the source system.

Blocked rules and skimming

When you skim to a new minor RuleSet Version, any blocked rule in a source RuleSet version is also copied into the resulting skimmed RuleSet Version.

However, when you skim to a major RuleSet version, the blocked rule is not copied into the skimmed RuleSet Version. Clarification BUG-29535

Reporting on blocked rules

To report on all blocked rules in a RuleSet, select those where the property pyRuleAvailable has the value Blocked. See Pega Developer Network article PDNPRKB-24079 How to list all the blocked rules in a RuleSet.

Notes

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

definitions availability, circumstance, rule resolution, skim, withdrawn
Related topics How to change availability of a rule

UpDefinitions — B