A rule instance is blocked
if its Availability value is set to the value
Blocked
. This setting appears as an X within a
circle () on the rule form. Blocked
rules have a distinctive gray appearance.
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.
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.
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.
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.
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 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).
On a destination system, a blocked rule can in some cases block a different set of other rules than it blocked on the source system.
To report on all blocked rules in a RuleSet, select those where the property pyRuleAvailable has the value Blocked. See Pega Developer Network article PRKB-24079 How to list all the blocked rules in a RuleSet.
Rules in an override RuleSet
cannot have availability values of Blocked
.
availability, circumstance, rule resolution, skim, withdrawn | |
How to change availability of a rule |