Skip to main content
LinkedIn
Copied!

Table of Contents

Troubleshooting rule resolution issues

What is rule resolution?
Symptoms
Errors
Explanations
Solutions

What is rule resolution?

See Rule resolution.

Symptoms

Issues with rule resolution can surface in the following ways:

  • A RuleNotFoundException is seen on the screen or in the logs.
  • The wrong rule is executed (wrong ruleset version or circumstanced version).
  • New rules or versions of a rule are not picked up after a deployment.

Errors

Here are examples of typical errors seen in the logs or on screen:

com.pega.pegarules.pub.generator.RuleNotFoundException: Failed to find a <rule type> with the name <rule name> that applies to <class name>

com.pega.pegarules.pub.generator.RuleNotFoundException: Failed to find instance @baseclass.<rule name> of type <rule type>

Rule obj-when instance not found

Failed to find instance <rule name>

HitNotFound

Explanations

Rule resolution issues are commonly caused by the following incorrect usage:

Incorrect page class

In most cases the problem is caused when the primary page has a wrong class, is classless (possibly blank), or is missing altogether.

Invalid circumstancing

Generally, the step page is used to resolve a rule. However, evaluation of circumstance conditions uses the primary page only. For example, if a rule is circumstanced on the property .CustomerType, and this rule is encountered during the running of an activity, the circumstance property .CustomerType must be found on the primary page of the activity, not on the step page of the current step.

Incorrect rule ranking

Rules are ranked in the order of AppliesTo, Ruleset, and Circumstance.

Null value for rule availability

When a new rule is created, make sure that the property pyRuleAvailable of that rule has a value. A null value (an empty property value) will cause the rule to be ignored by the rule resolution process.

Solutions

Preventing incorrect page class

When the primary page has a wrong class, is classless (possibly blank), or is missing altogether, verify using the Tracer to see against which "applies to class" the rule is being resolved.

See the Help topic, Application debugging using the Tracer tool.

Preventing invalid circumstancing

Ensure that a circumstanced property is specified on the primary page of the activity, not on the step page of the current step.

Preventing incorrect rule ranking

Ensure that the expected rule is in the right ruleset based on the user's ruleset list and AppliesTo class.

See the Help topics, Rule resolution exceptions and Ruleset list usage during rule resolution.

Preventing null value for rule availability

When a new rule is created, make sure that the property pyRuleAvailable of that rule has a value.

Contacting GCS

If you need assistance with isolating your rule resolution issue, go to My Support Portal and submit a support case.

See My Support Portal: New Design, Streamlined Features.

 

Did you find this content helpful?

100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Ready to crush complexity?

Experience the benefits of Pega Community when you log in.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us