Skip to main content


         This documentation site is for previous versions. Visit our new documentation site for current releases.      
 

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

PRPC 6.3 Dictionary of Rule Warnings

Updated on June 10, 2020

When you save a rule in PRPC and the errors-and-warnings section appears in the form, the system has detected one or more warning conditions in that rule. Warnings identify variances from the standard guardrails, practices that are not recommended, and unexpected and unintended situations.

Unlike error conditions, the system still saves rules that have warnings, because applications can still run and process cases and work items even if the underlying rules have warnings. However, even though the application can run, it is strongly recommended that you revise the rule to remove as many warning conditions as feasible, because these warnings are typically alerts for improving performance, maintainability, usability, and reuse.

Use this dictionary to look up a rule warning and identify suggested steps for bringing the rule into conformance. In Designer Studio, use the Guardrails landing page to identify the warnings in your application. To access the Guardrails landing page, click Pega buttonApplication > Guardrails in Designer Studio.

This dictionary contains the warnings for PRPC 6.3.

Beginning in Pega 7.1.7, warnings were converted to Rule-Message instances that provide clear information about issues and the steps that you can take to resolve them. You can view the catalog of possible warnings in the core platform by opening the Records Explorer and selecting Technical > Message.

Suggested Approach

How this dictionary is organized

This dictionary is organized into sections according to these categories:

  • Rule types — Each of these dictionary sections lists the warnings that might be set on that type of rule. When you see a warning displayed in the form for a particular rule type and you want to look it up in this dictionary, go to the section for that rule type (for example, Flow actions) and look for that warning in the list in that section. The dictionary sections are in alphabetical order by rule type name.

    For example, if you define a flow action UI by referencing HTML instead of a section (on the flow action form's HTML tab), and save it, the system displays a warning to remind you that defining the flow action UI by referencing a section is more maintainable. That warning is listed in the Flow action section of this dictionary.

  • Circumstanced rules— This section is at the end of the dictionary because circumstanced rules can have both rule type warnings and circumstance-related warnings. This section lists the circumstance-related warnings.

    A circumstance is an optional qualification available for all rules. Because circumstanced rules can be of any rule type, and therefore you could see circumstance-related warnings when saving any rule form, these warnings are listed in this section. If you save a rule form for a circumstanced rule and see a warning message, start with the warnings listed in this dictionary section. A circumstanced rule has the circumstance icon (circumstance icon) in the top right area of its rule form.

  • Logic conflict warnings— For some rule types, the system performs a consistency check on the elements in the rule form. When two elements of the rule form define identical input tests but possibly distinct results, the system marks this with a warning. For example, if two rows of a decision table have the same values, the system flags this to alert you that only the top row of the table will be executed at run time.

    Even though logic conflicts do not prevent the rule from validating or executing, they can indicate that the rule does not implement the intended decision. These warnings can appear for decision tables, decision trees, map values, circumstance templates, and circumstance definitions.

For each listed warning, the warning name, message, severity level, and suggested steps to bring the rule into conformance are provided. When a warning message is displayed in a rule form with dynamic values, italics are used in its listing to represent the values. For example, when a decision table has two conflicts, the warning message in the rule form is displayed as:

Logic conflicts warning

In the Decision Table section of this dictionary, the warning message is listed as:

This rule contains nn logic conflicts. Click Show Conflicts to see details.

back to top

Severity levels

Each warning condition has an associated severity level. These severity levels indicate the extent to which the rule violates the guardrails, and the potential risks the condition poses to the application. The severity levels are (from most to least serious):

Severity levelMeaning
SevereMost serious (highest level). Indicates a serious guardrail violation. These conditions typically pose the highest risk, such as things that can affect data integrity.
ModerateIndicates a moderate guardrail violation. These conditions typically can have medium-term and long-term effects on the project if left unresolved, such as conditions that can affect maintenance.
CautionIndicates the least serious type of violation. These are typically conditions for which there is a recommended way to accomplish the goal.

Warning types

Each warning condition has an associated type, which classifies the warning into a category. The standard warning types are:

TypeIndicates
Accidental system damageThe combination of this rule and options set in another rule might adversely affect data integrity.
Best PracticeAspects of the rule violate the standard guardrails.
Class MismatchIssues with the associations between circumstanced rules and the circumstance definition and template rules.
CMIS ConnectivityIssues exist with CMIS Connectivity options set in the rule.
CompatibilityOptions set in the rule might be incompatible with certain versions of PRPC.
Data IntegrityAspects of the rule might adversely affect data integrity.
DeprecatedOptions set in the rule are deprecated in the current PRPC version.
FormatRule contains formatted properties, while calculations in the rule are based on unformatted values.
FunctionalityRule or options set in the rule work only under certain conditions (for example, when PRPC is deployed as a Web application).
GeneralOptions set in the rule are deprecated in the current PRPC version.
IssueRule has some options set that work best with other, unset options.
Java WarningsRule contains Java code that has issues.
JavaScript Compacting DisabledRule contains JavaScript and has JavaScript compacting disabled.
JavaScript Syntax ErrorsRule contains JavaScript code that has issues.
LogicLogic conflicts exist in the rule.
MaintainabilityRule uses custom code or activities, which can result in maintenance and upgrade issues over time.
Missing ConfigurationA rule on which this one depends does not exist, or is not available to this rule.
PerformanceOptions set in the rule might adversely affect application or system performance.

back to top

Warnings by rule type

The rule types are listed in alphabetical order. Use the links in this table to jump to a particular rule type.

In the tables for each rule type, the warnings are ordered according to severity.

A - CD - EF - PR - Z
Access of Role to Object rules
Activities
Agents rules
Application rules
Attachment category rules
Case type rules
Class rules
Connect HTTP rules
Connect Java rules
Connect JMS rules
Connect SOAP rules
Controls
Correspondence rules
Correspondence fragment rules
Data transforms
Decision tables
Decision trees
Declare Expression rules
Declare Index rules
Declare Trigger rules
Edit input rules
Edit validate rules
Flow actions
Flows
Function rules
Harnesses
List view rules
Map structured rules
Map values
Paragraph rules
Properties
Report definitions
RuleSets and RuleSet versions
Sections
Service Email rules
Service HTTP rules
Service SOAP rules
Service NNNN rules
Skin rules
Summary view rules
Text file rules

back to top

Access of Role to Object rules

NameMessageSeverity - TypeReason/Steps to conform
Privilege validationThe privilege xxxxx does not exist or is not visible from the RuleSet of this Rule-Access-Role-Obj instance.Caution - LogicA privilege specified on the rule form's Privileges tab either does not exist or is not visible from the rule's RuleSet. The guardrail violation is low risk (caution) because the result is that those users with the associated access role do not get the privilege that is intended. Even though it is frustrating for them, the system adheres to the security design and does not give them access without the right privilege.

To bring the rule into conformance, you must determine the cause:

  1. Does the privilege rule exist? — Open the Privileges tab of the rule, find the privilege that is stated in the warning message, put your cursor next to its name, and click edit icon to see if the rule opens. If the New form opens, then the privilege as specified does not exist. Use the SmartPrompt to examine the list of available privileges, and if appropriate, make a selection from that list.
  2. Is the privilege rule in a RuleSet that is not visible to the Access of Role to Object rule's RuleSet? — If the privilege's rule form opens when you click edit icon, look at the RuleSet that the rule is stored in. Then open the Access of Role to Object rule's RuleSet, expand its RuleSet version, and see if the privilege rule's RuleSet is listed as a prerequisite.
 

Activities

NameMessageSeverity - TypeReason/Steps to conform
CommitUse of the Commit method should be carefully considered to ensure data integrity. In most cases, allow PRPC to handle committing a transaction.Severe - Data IntegrityAn activity step uses the Commit method. This method writes all uncommitted database changes to the PegaRULES database (for internal classes) and to external database (for external classes). Because it is unlikely that processing can continue in any reasonable way when a Commit method fails, this warning alerts you to the importance of designing the processing so that the Commit method occurs only after errors are intercepted, checked, and corrected, and to include a transition in the Commit step that checks the status of whether the method succeeded or failed. See also How to correct the Commit warning for activity rules.
No check for lock failureWhen acquiring a lock using Obj-Open | Obj-Refresh-And-Lock you should always check to make sure the lock was actually granted. This is commonly done using StepStatusFail in the transition of the step acquiring the lock or in the precondition of the step immediately after the lock is acquired.Severe - Data IntegrityAn activity step tries to obtain a lock (using Obj-Open or Obj-Refresh-And-Lock) and has no check to see if the step actually obtained the lock. Not obtaining the lock can lead to data loss in production and difficult to debug. This warning alerts you to handle these situations within the activity, either in the transition of the step acquiring the lock or in the precondition of the subsequent step.
Obj-ListThe Obj-List activity method is deprecated. Use Obj-Browse or Obj-List-View instead.Severe - Best PracticeAn activity step uses the Obj-List method. Beginning with PRPC V5.4, the Obj-List method is deprecated except when used with external classes. For best performance, use the Obj-Browse method followed if necessary by the Obj-Filter method instead of the Obj-List method.
WriteNowUse of the "write now or Immediate" option should be carefully considered to ensure data integrity. In most cases, you will want to allow PRPC to handle committing a transaction.Severe - Data IntegrityAn activity step uses the Obj-Save method with the WriteNow check box selected. Selecting that check box causes the system to write the page's data to the database as the method is run. Because the system performs an immediate database commit of the page, this warning alerts you to the importance of designing the processing so that the method occurs only after errors are intercepted, checked, and corrected, and to include a transition in the step that checks the status of whether the method succeeded or failed. See also How to correct the Write Now warning for activity rules.
Analyze JavaStep step nn, Line line nnerrordescriptionModerate - Java WarningsIn step step nn of the activity, the Java code specified at that step has an error at line line nn. Debug the Java code at that step.
API v02API version 02 is deprecated. Use 03-02 instead.Moderate - DeprecatedThe API Version field on the Steps tab of the activity is set to 02. This warning is an alert that this activity depends on the older PRPC Version 02 API.
ApplyModelDeprecatedThe Apply-Model method has been deprecated. Use the Apply-DataTransform method.Moderate - Best PracticeAn activity step uses the Apply-Model method. Beginning with PRPC V6.2, the Apply-Model method is deprecated. Use the Apply-DataTransform method instead.
Activity EliminationConsider refactoring this activity into a data transform. Data transforms are easier to read and maintain than activities and can be used in the same places that an activity can be used.Caution - MaintainabilityThe steps in this activity can be performed by using actions in a data transform. Using a data transform typically speeds development because a data transform's rule form is easier to understand than the activity rule form. See Nine tactics to reduce your need for custom activities and Introduction to data transforms.
CallCall contains an optional key part AppliesTo i.e. class name class while queuing the activity activity. This is not recommended. In most cases, you will want to allow PRPC to follow the class hierarchy.Caution - Best PracticeA Call instruction in this activity specifies the called activity (activity) by explicitly identifying the Applies To of the called activity. Because this explicit identification can introduce inflexibility, complicate debugging, and reduce opportunities for rule reuse, avoid this format whenever possible. See the help for the Call instruction in the PRPC Developer Help.
DuplicateStepLabelThis activity contains duplicate label names label. Only the first matching label following a Jump will be used.Caution - Best PracticeThe activity has more than one step with the same label name. Because a step label is used to reference the step as a destination from another step, the labels should be unique in the activity. Review the step labels and determine their appropriateness.
History-AddEntering a simple text message in the Message field means that this information will not be localizable. PegaRULES Best Practice recommends that the data in the MessageKey field be a reference to a Field Value, so it will not be necessary to find this message and rewrite it later for a localization effort.Caution - Best PracticeAn activity step specifies a History-Add method and a literal text string in the method's HistoryMemo field. If this activity is part of an application that will be localized to support multiple locales, always use this method's MessageKey and its options. See the help for the History-Add method in the PRPC Developer Help.
JavaReduce or eliminate Java steps whenever possible for ease of maintenance. This activity contains nn lines of Java.Caution - Best PracticeAn activity step has Java specified in its Method field. While some activities might require inline Java, such steps can introduce complex, difficult-to-debug processing into your application. Avoid Java steps when other approaches can achieve the same result. See Nine tactics to reduce your need for custom activities.
Obj-Delete-By-HandleIf the step page is provided in the field of Obj-Delete-By-Handle, it will be ignored. This method uses instance handle to delete the instance and does not utilize the step page.Caution - Best PracticeAn activity step specifies both the Obj-Delete-By-Handle method and a step page. Because the Obj-Delete-By-Handle method specifies the handle of the object to be deleted (in the InstanceHandle field of the step) and does not use the step page, this warning is an alert that the system ignores the specified step page when performing this step.
Obj-OpenIf the Step Page field of Obj-Open method is blank, this method opens the object into the primary page of the current activity, replacing the current contents of the primary page and changing the class of the primary page to match the class of the object.Caution - Best PracticeAn activity step specifies an Obj-Open method, but does not specify a step page (the step's Step Page field is blank). Typically this is not desirable, as it results in the object opening into the activity's primary page, replacing the current contents of the primary page. In addition, if the class of the primary page does not match the object's class, the primary page's class is changed to match the object's class. Investigate the step and specify an appropriate step page.
Obj-Open-By-HandleIf the Step Page field of Obj-Open-By-Handle method is blank, this method opens the object into the primary page of the current activity, replacing the current contents of the primary page and changing the class of the primary page to match the class of the object.Caution - Best PracticeAn activity step specifies an Obj-Open-By-Handle method, but does not specify a step page (the step's Step Page field is blank). Typically this is not desirable, as it results in the object opening into the activity's primary page, replacing the current contents of the primary page. In addition, if the class of the primary page does not match the object's class, the primary page's class is changed to match the object's class. Investigate the step and specify an appropriate step page.
Page-NewIf the Step Page field of Page-New method is blank, this method creates a page of the class specified in NewClass parameter, replacing the current contents of the primary page and changing the class of the primary page to match the class of the new page.Caution - Best PracticeAn activity step specifies a Page-New method, but does not specify a step page (the step's Step Page field is blank). Typically, this is not desirable, as it results in the method clearing the primary page of the current activity and might change its class to the one specified (if any) in the method's NewClass field. Investigate the step and specify an appropriate step page.
Page-Set-MessagesEntering a simple text message in the Message field means that this information will not be localizable. PegaRULES Best Practice recommends that the data in the Message field be a reference to a Field Value, so it will not be necessary to find this message and rewrite it later for a localization effort.Caution - Best PracticeAn activity step specifies a Page-Set-Messages method and a literal text string in the method's Message field. If this activity is part of an application that will be localized to support multiple locales, always reference a message rule or a field value in the Message field. See the help for the Page-Set-Messages method in the PRPC Developer Help.
Property-Set-MessagesEntering a simple text message in the Message field means that this information will not be localizable. PegaRULES Best Practice recommends that the data in the Message field be a reference to a Field Value, so it will not be necessary to find this message and rewrite it later for a localization effort.Caution - Best PracticeAn activity step specifies a Property-Set-Messages method and a literal text string in the method's Message field. If this activity is part of an application that will be localized to support multiple locales, always reference a message rule in the Message field. See the help for the Property-Set-Messages method in the PRPC Developer Help.
RDB-OpenIf the Step Page field of RDB-Open method is blank, this method opens the object into the primary page of the current activity, replacing the current contents of the primary page and changing the class of the primary page to match the class of the object.Caution - Best PracticeAn activity step specifies an RDB-Open method, but does not specify a step page (the step's Step Page field is blank). Typically this is not desirable, as it results in the method clearing the primary page of the current activity and opening the data record into the primary page. In addition, if the class of the primary page does not match the data record's class, the primary page's class is changed to match the record's class. Investigate the step and specify an appropriate step page.
QueueQueue contains an optional key part AppliesTo i.e. class name class while queuing the activity activity. This is not recommended. In most cases, you will want to allow PRPC to follow the class hierarchy.Caution - Best PracticeA Queue instruction in this activity specifies the called activity (activity) by explicitly identifying the Applies To of the called activity. Because this explicit identification can introduce inflexibility, complicate debugging, and reduce opportunities for rule reuse, avoid this format whenever possible. See the help for the Queue instruction in the PRPC Developer Help.
Unused PreconditionPrecondition filled in step step nn, but not usedCaution - Best PracticeThe Enabled check box for the precondition in the activity step is not selected. A precondition is a true-false test associated with the step. When the precondition is enabled, the system evaluates the precondition to determine whether to execute or skip the method referenced in the step. When Enabled is not selected, the system executes the step regardless of the specified precondition. This warning alerts you to investigate whether the precondition should actually be enabled for the step.
Unused TransitionTransition filled in step step nn, but not usedCaution - Best PracticeThe Enabled check box for the transition in the activity step is not selected. A transition is a true-false test associated with the step that determines whether the flow of control in the activity continues (as usual) with the next numbered step, or takes another course of action. When Enabled is not selected, the system executes the step regardless of the transition. This warning alerts you to investigate whether the transition should actually be enabled for the step.

Agents rules

NameMessageSeverity - TypeReason/Steps to conform
BypassActivityAuthenticationActivity agent activity in row nn may not be allowed to execute because it requires authentication, and the agent must be configured to override this by enabling the "Bypass Activity Authentication" check box under Security tab.Moderate - Best PracticeThe agent activity named in the warning specifies that it requires authentication (on that activity's Security tab), but the agents rule does not have its Bypass Activity Authentication check box selected on its Security tab. See Troubleshooting: Agent processing throwing exception when running authenticated activities .
Legacy AgentOne or more agents are in Legacy Mode. See "Upgrading an Existing Agent to Version 5.4" on the PDN to upgrade these.Caution - Best PracticeThis warning is displayed when one of the agents specified on the agent rule form's Schedule tab has its Queue Mode set to Legacy. The Queue Mode setting indicates the agent is a legacy agent. A legacy agent does not use queues, but processes each item to completion in a single pass. Usually, this setting indicates the agent was created in PRPC releases before V5.4 and has not yet been updated. Investigate whether the agent can be updated to Standard queue mode. See How agent queues work and How to upgrade a Legacy-mode agent
 

Application rules

NameMessageSeverity - TypeReason/Steps to conform
CompatibilityThe check box "Place properties on thread page only" is unselected because the Built on Application has it unselected.Moderate - CompatibilityThis warning means that when this application rule was generated by the DCO tools in a release V5.4 or later, the Place properties on thread page only check box on the Advanced tab was set to be unselected. Normally, an application rule generated in V5.4 or later releases has this check box selected. Because the generated application was built on an application that had this check box unselected, the DCO tools generate an application rule with the check box unselected to match the parent application, because the Built-On parent application's rules might depend on having V5.3 (and earlier) compatible behavior. The V5.3 compatible behavior is to look for certain system-maintained properties on the pxRequestor page, while the V5.4 and later behavior is to look for those properties on the pxThreadpage.

To bring the rule into conformance, you must assess whether having the system look for those system-maintained properties on the pxThread page is important for your application and its Built-On parent application.

RuleSet Absent In ListYou have saved this application in a RuleSet that is not part of the application's RuleSet list.Moderate - Best PracticeThis warning indicates the RuleSet specified in the Associated RuleSet field on the application rule's Advanced tab is not among those RuleSets listed in the Application RuleSets array on the rule's Definitions tab. The Associated RuleSet determines the RuleSet in which the application rule is saved. While this value does not affect rule resolution of the application rule, it causes the application rule to be included when the Export gadget exports the RuleSet. The warning alerts you to the possibility that this application rule might not be included in export operations on the RuleSets in the Application RuleSets list (because the application rule is not saved to one of those RuleSets). Investigate whether the RuleSet specified in the Associated RuleSet field is appropriate for this application. Normally, this RuleSet would be among those in the rule's Application RuleSets array.
WarnThe application is unable to access the Content Management system.Moderate - CMIS ConnectivityThe Content Management Interoperability Services (CMIS) fields on the application rule's Advanced tab specify the connection to the enterprise content management (ECM) repository in which the application's work item attachments are stored. This warning indicates an issue with the connection. Investigate whether the ECM repository is available. You can open the Connect CMIS rule from the application rule's Advanced tab and use the Test Connectivity button to test whether PRPC can connect to the repository and review any error messages. See How to save work object attachments in a content management system.
WarnCMIS repository is not configured to store custom properties.Moderate - CMIS ConnectivityThe CMIS fields on the application rule's Advanced tab specify the external enterprise content management (ECM) repository in which the application's work item attachments are stored. To add support for work object attachments stored in such a repository, the ECM data model must be extended to support the custom properties pxAttachKey and pxRefObjectKey. This warning indicates the repository has not been extended. Including this support allows the attachment metadata to contain information about the work object to which the file was attached. See How to extend an Alfresco repository to include work object IDs for an example of how to add this support.
Scroll to top

Attachment category rules

NameMessageSeverity - TypeReason/Steps to conform
Bad class nameAn attachment category with this name is defined by a field value. This attachment category will override it.Moderate- Best PracticeAppears when the rule is overriding an attachment category created in V5.4 or earlier, for the purpose of upgrading those earlier attachment categories. The new rule displays this warning to alert you that the earlier attachment category exists. To eliminate this warning, delete the attachment name in field value .pyAttachmentCategory.
Potential ConflictThe privilege Create_privilege allows for unexpected access.Moderate- Best PracticeAppears when the rule is overriding an attachment category created in V5.4 or earlier, for the purpose of upgrading those earlier attachment categories. The new rule displays this warning to alert you that the Create privileges set in the earlier attachment category are still used. To eliminate this warning, delete the Create_<attachment category name> rule. Alternatively, select the Create options on the rule form so that they correspond to the original configuration. If you think you might revert to the original category definition, do not delete the rule.
Potential ConflictThe privilege Editprivilege allows for unexpected access.Moderate- Best PracticeAppears when the rule is overriding an attachment category created in V5.4 or earlier, for the purpose of upgrading those earlier attachment categories. The new rule displays this warning to alert you that the Edit privileges set in the earlier attachment category are still used. To eliminate this warning, delete the Edit<attachment category name> rule. Alternatively, select the Edit options on the rule form so that they correspond to the original configuration. If you think you might revert to the original category definition, do not delete the rule.
Potential ConflictA privilege with the name Create_privilege exists in the system but is not being used by this rule.Moderate- Best PracticeAppears when the rule is overriding an attachment category created in V5.4 or earlier, for the purpose of upgrading those earlier attachment categories. The new rule displays this warning to alert you that the Create privilege set in the earlier attachment category still exists. To eliminate this warning, delete the Create_<attachment category name> rule. Alternatively, select the Create options on the rule form so that they correspond to the original configuration. If you think you might revert to the original category definition, do not delete the rule.
Potential ConflictA privilege with the name Editprivilege exists in the system but is not being used by this rule.Moderate- Best PracticeAppears when the rule is overriding an attachment category created in V5.4 or earlier, for the purpose of upgrading those earlier attachment categories. The new rule displays this warning to alert you that the Edit privilege set in the earlier attachment category still exists. To eliminate this warning, delete the Edit_<attachment category name> rule. Alternatively, select the Edit options on the rule form so that they correspond to the original configuration. If you think you might revert to the original category definition, do not delete the rule.
 

Case type rules

NameMessageSeverity - TypeReason/Steps to conform
Case DependencyThe case type, case type name, was removed and dependency information may be incorrect. It is best to use the Case Management landing page to remove case types.Severe - Data IntegrityAppears in a case type rule when case type dependencies are initially configured using the Case Designer, and then subsequently the case type rule is edited directly in a way that breaks the case hierarchy (for example, deleting a coverable work type from the rule's Processes tab). It is recommended to always use the Case Designer to change the case hierarchy. This warning alerts you to examine the case type rule and ensure the appropriate work type dependencies for your application.
 

Class rules

NameMessageSeverity - TypeReason/Steps to conform
Bad class nameThe name of class class name should not start with the name of classgroup class group unless the class belongs to the classgroup.Moderate - Best PracticeAppears when the class rule's name starts with the name of a class group, but the fields specified on the rule's General tab are inappropriate. This situation is rare, because the system usually prevents saving the class rule unless the class group fields on the General tab are set appropriately. This situation can occur when a class rule originally created as belonging to a class group is updated manually with inappropriate choices in the This Class and Class Group fields. Examine the rule to ensure appropriate settings in the fields on the General tab.
Saves to + tableNameInstances of this class save to the pr_other table which has few properties exposed as columns. Consider mapping to a different table.Moderate - LogicAppears when the class rule has specified keys (on the General tab, but does not have a corresponding database table data instance. A database table data instance explicitly maps a concrete class or class group to a database table or view, and instances of the class or class group are saved to that table. The pr_other table is the default table for class instances that are not explicitly mapped. Because this table is limited to 1000 rows and has only a few exposed columns, using pr_other is undesirable. To conform and remove this warning, create a database table data instance for this class.
 

Connect HTTP rules

NameMessageSeverity - TypeReason/Steps to conform
An explicit URL is not recommendedAn explicit URL is not recommended: Provide the URL as a parameter in the connect calling activity instead.Moderate - Best PracticeAppears when a value is specified in the Endpoint URL field on the rule's Service tab. The value in this field is the URL of the external system to which this rule connects. Because this URL can change over time, or can change when you move between a test system and a production system, it is recommended to instead provide the URL using the Connect-HTTP method's EndPointURL parameter in the activity step of the activity that calls this Connect HTTP rule.
 

Connect Java rules

NameMessageSeverity - TypeReason/Steps to conform
ReferenceFormatconstructor parameter is not a valid data type.Severe - LogicAppears when the data type specified on the Constructor tab for the indicated constructor parameter is not a valid primitive Java data type. Examine the Data Type field for that parameter on the Constructor tab.
ReferenceFormatMethod is blank.Severe - LogicAppears when no method is specified in the Method field on the rule's Service tab. Complete the Method field with the appropriate method signature.
ReferenceFormatmethod parameter is not a valid data type.Severe - LogicAppears when the data type specified on the Method tab for the indicated method parameter is not a valid primitive Java data type. Examine the Data Type field for that parameter on the Method tab.
ReferenceFormatNo match between Datatypes in Constructor field Parameters in Service tab and Parameters in Constructor tab.Severe - LogicAppears when a parameter data type specified on the rule's Constructor tab does not match the data type for the corresponding parameter in the constructor specified on the Service tab. Examine the constructor specified on the Service tab and its parameters' data types, and update the values on the Constructor tab as needed.
ReferenceFormatNo match between Datatypes in Method field Parameters in Service tab and Parameters in Method tab.Severe - LogicAppears when a parameter data type specified on the rule's Method tab does not match the data type for the corresponding parameter of the method specified on the Service tab. Examine the method specified on the Service tab and its parameters' data types, and update the values on the Method tab as needed.
ReferenceFormatNo match between Parameters in Constructor field Parameters in Service tab and Parameters in Constructor tab.Severe - LogicAppears when the parameters specified on the rule's Constructor tab do not match the parameters in the constructor specified on the Service tab. Examine the constructor specified on the Service tab and its parameters, and update the values on the Constructor tab as needed.
ReferenceFormatNo match between parameters in Method field Parameters in Service tab and Parameters in Method tab.Severe - LogicAppears when the parameters specified on the rule's Method tab do not match the parameters of the method specified on the Service tab. Examine the method specified on the Service tab and its parameters, and update the values on the Method tab as needed.
ReferenceFormatParameters are not specified in Constructor field.Severe - LogicAppears when the constructor in the Java class has parameters, but the value specified in the Constructor field on the rule's Service tab does not include those parameters. Examine the constructor displayed in the Constructor field on the Service tab and update as needed.
ReferenceFormatParameters are not defined in Method field.Severe - LogicAppears when the method in the Java class has parameters, but the value specified in the Method field on the rule's Service tab does not include those parameters. Examine the method displayed in the Method field on the Service tab and update as needed.
ReferenceFormatservice parameter is not a valid datatype.Severe - LogicAppears when the data type of a parameter specified on the Service tab is not a valid primitive Java data type. Examine the parameters specified on the Service tab and ensure they are valid primitive Java data types.
 

Connect JMS rules

NameMessageSeverity - TypeReason/Steps to conform
ReferenceFormatConnection Factory reference must start with 'java:/comp/env'Severe - LogicAppears when the value specified in the Connection Factory field on the rule's Service tab does not start with 'java:/comp/env'. Examine the value displayed in the Connection Factory field on the Service tab and update as needed.
ReferenceFormatRequest destination reference must start with 'java:/comp/env'Severe - LogicAppears when the value specified in the Destination Name field for the Request on the rule's Service tab does not start with 'java:/comp/env'. Examine the value displayed in the Request Destination Name field on the Service tab and update as needed.
ReferenceFormatResponse destination reference must start with 'java:/comp/env'Severe - LogicAppears when the value specified in the Destination Name field for the Response on the rule's Service tab does not start with 'java:/comp/env'. Examine the value displayed in the Response Destination Name field on the Service tab and update as needed.
 

Connect SOAP rules

NameMessageSeverity - TypeReason/Steps to conform
MapFromKeyFormatRequest Header: For MapFrom as Clipboard, MapFromKey should hold a well formed xml.Severe - LogicAppears when the Map From field in the Request Header on the rule's Request tab is set to Clipboard and the property specified in the corresponding Map From Key field on that row does not hold well-formed XML text. Examine the property specified in the appropriate Map From Key field to ensure it holds well-formed XML text.
MapFromKeyFormatRequest Parameter: For XML Literal as Data type and MapFrom as Clipboard, MapFromKey should hold a well formed xmlSevere - LogicAppears when the Data Type field in the Request Parameters on the rule's Request tab is set to XML Literal, and the corresponding Map From field is set to Clipboard, and the property specified in the corresponding Map From Key field on that row does not hold well-formed XML text. Examine the property specified in the appropriate Map From Key field to ensure it holds well-formed XML text.
WebServiceInteroperabilityWS-I Compliance: Root nodes of the 'XML Stream' rules, provided in the request parameters, should be configured with a namespace.Caution - Best PracticeAppears when a request parameter (specified in the fields of the Request Parameters area of the Request tab) specifies an XML Stream rule whose root nodes are not configured with namespaces, which is not compliant with Web Services Interoperability (WS-I) standards. To conform to the WS-I standard, examine the XML Stream rules specified in the Map From Key fields in the request parameters and ensure that their root nodes are configured with namespaces. (Reference: WS-I Specification:BasicProfile 1.1)
WebServiceInteroperabilityWS-I Compliance: RPC/Encoded style is not WS-I compliant.Caution - Best PracticeAppears when the Style and use field on the rule's Service tab is set to RPC/encoded, which is not compliant with Web Services Interoperability (WS-I) standards. To conform to WS-I standard, select another choice for the Style and use field. (Reference: WS-I Specification:Basic Profile 1.1)
WebServiceInteroperabilityWS-I Compliance: When using Document/Literal style, there should be only one request parameter of type XML Literal and one response parameter of type XML Literal.Caution - Best PracticeAppears when the Style and use field on the rule's Service tab is set to Document/literaland:
  • More than one request parameter of type XML Literal specified on the rule's Request tab, or
  • More than one response parameter of type XML Literal specified on the rule's Response tab
That configuration is not compliant with Web Services Interoperability (WS-I) standards. To conform to the standard, ensure there is only one XML literal request parameter and one XML literal response parameter specified in the rule. (Reference: WS-I Specification : Basic Profile)
 

Controls

NameMessageSeverity - TypeReason/Steps to conform
Not Auto-GeneratedWhenever possible, use the auto-generated controls for ease of maintenance and upgrade.Caution - MaintainabilityAppears when the Auto-generated check box on the rule's HTML tab is not selected. Auto-generation is one of the keys to following the Ten Guardrails to Success, because it provides these benefits:
  • Eliminates hand-coding, which simplifies design and maintenance.
  • Preserves custom settings when you upgrade your system.
  • Eliminates manually entered inline JavaScript, which reduces cross-site scripting (XSS) vulnerabilities and improves performance.
  • Ensures browser independence and compatibility.
To bring the rule into conformance with the guardrails, take the appropriate steps to select the Auto-generated check box on the rule and update other fields in the rule form as necessary.
 

Correspondence rules

NameMessageSeverity - TypeReason/Steps to conform
Inline Script-StyleStyles or Scripts should not be included as part of the correspondence text. They should be moved to a separate, included fragment.Caution - Best PracticeAppears when the text specified on the rule's Corr tab contains code for either HTML styles (<style>) or scripts (<script>). Including HTML styles and scripts inline makes it difficult to maintain over time; for example, if your organization introduces a new style, all correspondence rules would have to be updated with that style. A best practice is to store the HTML styles and scripts in a text file rule and then include that text file rule in the correspondence text (using the include JavaServer Page tag). See the PRPC Developer Help for more details about the include tag.
 

Correspondence fragment rules

NameMessageSeverity - TypeReason/Steps to conform
Inline Script-StyleStyles or Scripts should not be included as part of the correspondence text. They should be moved to a separate, included fragment.Caution - Best PracticeAppears when the text specified on the rule's Stream tab contains code for either HTML styles (<style>) or scripts (<script>). Including HTML styles and scripts inline makes it difficult to maintain over time; for example, if your organization introduces a new style, all correspondence fragment rules would have to be updated with that style. A best practice is to store the HTML styles and scripts in a text file rule and then include that text file rule in the specified stream code (using the include JavaServer Page tag). See the PRPC Developer Help for more details about the include tag.
 

Data transforms

NameMessageSeverity - TypeReason/Steps to conform
ChangeOfPageClassSetting the pxObjClass property will change the class of the containing page. This is not a recommended best practice.Severe - Best PracticeAppears when the rule's Definition tab has a Set action that specifies pxObjClass in its Target field. Because the specified action might result in an unpredictable outcome (for example, changing the class of the page the data transform is operating on), this configuration is not recommended.
MustNotUseAppendUsing the APPEND keyword in the Append To, Append and Map To, or For Each Page In action is against recommended best practices. Consider restructuring this rule to remove APPEND from those actions.Severe - Best PracticeAppears when the rule's Definition tab has an Append to, Append and Map to, or For Each Page In action that specifies the <APPEND> keyword in the action. Because the specified configuration might result in an unpredictable outcome (nested appends) and makes it difficult to read the actions and determine what the data transform is doing, this configuration is not recommended.
UnreachableActionAn action data transform action exists that will prevent subsequent actions from being executed. Recommended: Conditionalize the action to ensure all other intended actions can complete.Severe - LogicAt run time, the system applies the actions on the rule's Definition tab according to their order in the array on that tab. If the system determines the configuration of actions is such that actions further down in the array might be prevented from being performed at run time, it displays this warning. For example, when an Exit Data Transform action has a Set action immediately following it at the same level in the array hierarchy, at run time, the system exits the data transform before reaching the Set action. To bring the rule into conformance, examine the action array on the Definition tab, and update the array to use conditional actions (such as When and Otherwise) to determine when the action stated in the warning is executed.
AmbiguousSourceThe source source is ambiguous and is being treated as text. If it is a page, add it to the Pages & Classes tab. If it is text, add quotes around it.Moderate - Best PracticeAppears when a Set action on the rule's Definition tab has a value specified in the Source field such that the system cannot determine whether it is the name of a page or a text value. The warning is an alert that at run time the specified value is treated as a text value, which might not be the desired outcome. To bring the rule into conformance, examine the value and:
  • If it is a page, specify it on the Pages & Classes tab.
  • If it is a text value, enclose it in quotes ("value").
AmbiguousSourceThere is no source defined for the property ‘{property name}’. It will be set to an empty value.Moderate - Best PracticeAppears when a Set action on the rule's Definition tab has no value specified in the Source field. The warning is an alert that at run time, the property stated in the warning (the one specified in the corresponding Target field) is set to an empty value. To bring the rule into conformance, enter a pair of double quotation marks ("") in the Source field.
 

Decision tables

NameMessageSeverity - TypeReason/Steps to conform
ConflictsThis rule contains nn logic conflicts. Click Show Conflicts to see details.Moderate - LogicAppears when the system detects conflicts (unreachable or blank rows) in the decision table. A conflict in a decision table arises when more than one row in the rule form defines identical input but possibly distinct results. For example, if two rows of a decision table have the same values, only the top row executes at run time (the second one is considered unreachable). The warning is an alert that the rule might not work as intended. To bring the rule into conformance, identify the conflicting rows by clicking Show Conflicts on the Table tab, and make the appropriate updates to remove the identified conflicts.
 

Decision trees

NameMessageSeverity - TypeReason/Steps to conform
ConflictsThis rule contains nn logic conflicts. Click Show Conflicts to see details.Moderate - LogicAppears when the system detects inconsistencies (unreachable parts) in the decision tree. A conflict in a decision tree arises when more than one part in the rule form defines identical input but possibly distinct results. For example, a branch that extends below two mutually contradictory tests ((if Width > 100) and (if Width < 100)) is unreachable. The warning is an alert that the rule might not work as intended. To bring the rule into conformance, identify the conflicts by clicking Show Conflicts on the Decision tab, and make the appropriate updates to remove the identified inconsistencies.
 

Declare Expression rules

NameMessageSeverity - TypeReason/Steps to conform
Change TrackingChange tracking will not occur on named-page references either as an input or as an additional dependency such as (property name).Severe - FunctionalityAppears when a property on a page other than the rule's primary page is specified in the Additional Dependencies field on the Change Tracking tab. The warning message lists the property. As stated in the PRPC Developer Help, change tracking only applies to properties on the primary page (the page that matches the Applies To class of this Declare Expression rule). Changes to properties on other pages referenced in the expression or on the Pages & Classes tab are not tracked and do not trigger recomputation. This warning is an alert that the rule might not have the behavior that you intend, because the Additional Dependencies field is for identifying additional properties to be tracked.
Expression OverridenThere is another expression using 'value of first matching property' with the same property name defined on ancestor class class name. This expression will never be evaluated.Severe - LogicAppears when the expression on this rule's Expressions tab specifies Value of first matching property in parent pages, and there is another Declare Expression rule higher in this rule's class hierarchy that also specifies Value of first matching property in parent pages for the same property. This warning is an alert that the expression will never be evaluated, because the Declare Expression rule higher in the class hierarchy supersedes this one. Compare the two Declare Expression rules to assess whether one should be eliminated.
No Source Property DefinedNone of the ancestors of this expressions' Applies To class have a property named target property defined. This expression will never be evaluated.Severe - LogicAppears when the expression on this rule's Expressions tab specifies Value of first matching property in parent pages, and there is no property of that name higher in this rule's class hierarchy. This warning is an alert that this rule might not work as intended (because the property doesn't exist, the input never changes and the expression is never evaluated). Investigate whether the expression is specified appropriately in this rule (and the property should be created in the class hierarchy) and make the appropriate changes.
cannot Be Declarative TargetThe property target property cannot be the target of an expression.Moderate - Accidental system damageWhen the Declare Expression rule's target property is updated to restrict it from being a declarative target, this warning appears in the corresponding Declare Expression rule. This warning is an alert that the Cannot Be Declarative Target check box on the property rule's Advanced tab has been selected after creation of this Declare Expression rule. Investigate whether the setting in the property rule is appropriate for your application. (See also How to correct the Cannot be a Declarative Target warning for Declare Expression rules.)
Whenever UsedFor best performance, avoid the Whenever Used option for change tracking.Moderate - PerformanceThis warning indicates the Calculate Value option on the Change Tracking tab is set to Whenever used. This choice ensures that the target property value matches the computed value at the start of every activity step. In most situations, this behavior results in decreased performance. However, in a small subset of situations, this setting can provide better performance than the alternatives. For example, if you have a total that is only displayed on a single screen in a process, while the inputs that are used to compute the total might change frequently, the total is only displayed once. In this situation, you have better performance to only compute the total once when it is displayed ("whenever used") instead of computing it every time an input changes. (See also How to correct the Whenever Used warning for Declare Expression rules.)
WhenAs best practice, avoid blank When condition as it will always default to false; thus, only Otherwise expression gets evaluated.Caution - Best PracticeAppears when the expression specified on the rule's Expressions tab has an empty condition. The warning is an alert that this rule might not have the intended result.
WhenAs best practice, ensure that the Pages & Classes definition for Top current_class_name matches the top level class of this rule top_level_class_name.Caution - Best PracticeAppears when the rule's Pages & Classes tab has Top specified for a Page Name with a corresponding class (current_class_name) that does not match the top level of the rule's Applies To class.
WhenThe When condition(s) with a blank expression will be ignored.Caution - Best PracticeAppears when an expression specified in a condition on the rule's Expressions tab is blank. The warning is an alert that this rule might not have the intended result.
 

Declare Index rules

NameMessageSeverity - TypeReason/Steps to conform
Named Page ReferenceIf you reference a named page as a source within a Rule-Declare-Index, the value will be correctly read and populate the index. However, changes to that property on the named page will not trigger re-indexing.Moderate- Data IntegrityThe Source Class Property specified on the rule's Indexes tab is on a named page (named on the rule's Pages & Classes tab). The warning is an alert that subsequent changes to the property will not cause the system to re-index the values in the populated index. See How to correct the Named Page Reference warning for Declare Index rules.
 

Declare Trigger rules

NameMessageSeverity - TypeReason/Steps to conform
PageList/ValueList property referenceThe reference to PageList/ValueList property property should contain parenthesis.Severe - Best PracticeAppears when a property specified in the One of these Properties Was Modified list is a Page List or Value List mode property and parentheses are not in its Property field. If a specific instance is intended, add the parentheses and the appropriate subscript (for example, Vehicle(2)). To detect changes in any portion of a Page List or Value List mode property, follow the name with empty parentheses (for example, Vehicle()).
Not Trigger ActivityTo ensure transaction integrity, specify an activity that has its type defined as Trigger.Caution - Data IntegrityAppears when the activity in the Name field on the rule's Triggers tab does not have Trigger specified as the Activity Type on its Security field. This warning is an alert that because the activity is not specified as a Trigger type, it might contain steps with methods that are inappropriate to be executed automatically by a Declare Trigger rule. For example, because triggered activities run during database commits, they should not themselves have steps that commit database transactions. (See also How to correct the Not Trigger Activity warning for Declare Trigger rules.)
 

Edit input rules

NameMessageSeverity - TypeReason/Steps to conform
Analyze JavaLine line numbererrordescriptionModerate - Java WarningsAppears when the Java code in the edit input rule has an error at line line number. The error is described by the description in the warning. Fix the Java error.
 

Edit validate rules

NameMessageSeverity - TypeReason/Steps to conform
Analyze JavaLine line numbererrordescriptionModerate - Java WarningsAppears when the Java code in the edit validate rule has an error at line line number. The error is described by the description in the warning. Fix the Java error.
 

Flow actions

NameMessageSeverity - TypeReason/Steps to conform
ModeLiteralUsing "mode=literal" can expose the system to cross site scripting attacks - use with caution.Severe - Best PracticeAppears when the flow action's HTML has a JavaServer Page tag that has the mode attribute set to literal. Because use of mode = "literal" in stream rules such as flow actions increases the risk of cross-site scripting (XSS) attacks, its use is strongly discouraged. In rare situations, your application might require mode = "literal" — for example, for a dynamic JavaScript target of a button (executed with the onClick= attribute). Design and test such cases with extreme care. See Best practices to avoid cross-site scripting (XSS) vulnerabilities.
Custom CodeWhenever possible, define the flow action UI by referencing a section to maximize reuse.Caution - MaintainabilityAppears when Reference HTML is selected on the rule's HTML tab. Flow actions that reference sections promote reuse. For example, two flow actions might have different settings on their Security tab or Action tabs, but use identical layouts. Both flow actions can reference one section that contains the layout.
HTML DirectivesHTML Directives are deprecated. Use JSP for new rule instances.Caution - DeprecatedAppears when this flow action has HTML code that includes HTML directives. As of PRPC V6.1, use of directives is deprecated. Use JSP tags rather than directives in new development.
Invalid Validate rule for Proposed Statusrule name Validate Rule does not use Proposed Work Status.Caution - Best PracticeAppears when:
  • The flow action rule's Validation tab specifies a validation rule and proposed work status, and
  • The specified validation rule's Input tab does not have the Proposed Work Status radio button selected.
As a result, this rule might not have the intended behavior. Examine this flow action and confirm that the appropriate validation rule is specified.
Not Auto-GeneratedWhenever possible, use the Auto-Generated HTML option for ease of maintenance.Caution - Best PracticeAppears for a flow action rule created in a release prior to PRPC V6.1 that does not have the Auto-generated HTML check box selected on its HTML tab. In releases prior to V6.1, the flow action rule had options for providing the flow action's HTML source code directly in the rule (using the Define Form option of the HTML Generation field and clearing the Auto-generated HTML check box). Starting in V6.1, newly created flow actions reference sections for their appearance and layout, and the pre-V6.1 approach is no longer supported. If your application includes flow actions which use the Define Form approach, you can upgrade them by running the pxShowBulkFlowActionDisplay activity. For each upgraded flow action, that activity creates a section with the same name and links the section to the flow action. See How to convert flow actions to the 6.1 section reference form.
ModeDisplayThe 'when' tag keyword '$mode-display' is deprecated. Use '!$mode-input' instead.Caution - DeprecatedAppears when the flow action's HTML includes the keyword $mode-display. In releases before PRPC V5.4, the boolean keyword $mode-display detected read-only output mode for HTML. The $mode-display keyword is deprecated for new development; instead use !$mode-input (meaning not$mode-input).
Old Flow ActionDefining the UI in the Flow Action Form is no longer supported. Upgrade to referencing a Section by changing the dropdown on the HTML tab or by running the pxShowBulkFlowActionDisplay Activity.Caution - GeneralAppears for a flow action rule created in a release prior to PRPC V6.1 that has its user interface elements (layouts, etc.) specified directly on its Layout tab. While these flow actions will continue to function in your application without error, pre-V6.1 flow actions are no longer supported for development until they are upgraded. For example, you cannot edit layouts on the Layout tab. To upgrade older flow actions in bulk or individually, use the standard pxShowBulkFlowActionDisplay activity. It creates a section with the same name and links the section to the flow action. See How to convert flow actions to the 6.1 section reference form.
Using Pre-Processing with Bulk ProcessingYou should consider checking 'Disqualify this action from bulk processing' since you specified a pre-processing activity, and bulk processing does not invoke that.Caution - IssueAppears when an activity is specified in the Pre-Processing Run Activity field on the rule's Action tab and the Disqualify this action from bulk processing check box on that tab is unselected. The warning is an alert that the rule might not have the intended behavior at run time. Because the Disqualify this action from bulk processing check box is unselected, the flow action is available for end users to select for bulk processing (for example, in the Bulk Actions tab in the pyCaseManager portal). However, the system does not invoke pre-processing activities for bulk processing, so if an end user selects this flow action for bulk actions, the specified activity does not run, which might not be the intended behavior.
Using Whens with Bulk ProcessingCheck 'Disqualify this action from bulk processing' whenever you specify Whens to improve the performance of showing the list of bulk processing assignments.Caution - PerformanceAppears when a when condition rule is specified in the When Name field on the rule's Security tab and the Disqualify this action from bulk processing check box on that tab is unselected. The when condition rules on the Security tab conditionalize the availability of the flow action based on data associated with the work item, the user, or other facts. When the Disqualify this action from bulk processing check box is unselected, the system evaluates at run time whether to display this flow action for selection in bulk processing (for example, in the Bulk Actions tab in the pyCaseManager portal), and if there are many when condition rules, performance in the Bulk Actions display might be affected. (See also How to correct the Using Whens with Bulk Processing warning for flow action rules.)
 

Flows

NameMessageSeverity - TypeReason/Steps to conform
Writes to pr_otherThis Flow's class writes objects to table pr_other; you need to add a Data-Admin-DB-Table for the classgroup.Severe - Missing ConfigurationAppears when the flow's Applies To class has specified keys (on the class rule's General tab, but does not have a corresponding database table data instance. A database table data instance (an instance of Data-Admin-DB-Table) explicitly maps a concrete class or class group to a database table or view, and instances of the class or class group are saved to that table. The pr_other table is the default catch-all table for class instances not explicitly mapped. This table is limited to 1000 rows and has only a few exposed columns; it does not have columns for all the work item properties that are typically visible (exposed) as columns in a database table. Therefore, using pr_other for work items is undesirable, especially if your application requires frequent searching of rows of this table. To conform and remove this warning, create a database table data instance for the class associated with this flow.
Case Type rule overrideThe Cover Classes settings in the Process tab may be ignored because a Case Type rule exists in one of the cover classesCaution - LogicAppears when:
  • A case type rule exists in one of the cover classes for the flow, and
  • A class is specified in the Cover Class field on the rule's Process tab
The warning is an alert that the system uses the case type rule and ignores the class specified in the Cover Class field.
Overloaded assignmentsOffer workers no more than five connector flow actions in a single assignment for best productivity and accuracy. There are nn overloaded assignments in this flow.Caution - Best PracticeAppears when an assignment shape in the flow has more than five connectors with flow actions, which violates Guardrail #6 of the Ten Guardrails to Success. These guardrails are the result of Pegasystems professional experience in developing, testing, and reviewing PRPC applications in a variety of industries and organizational settings. When an assignment has more than five (5) connectors with flow actions, at run time, end users are presented with all of those options when they enter that point of the process. As the number of choices increases, the likelihood increases that an end user might choose incorrectly, or spend time thinking over which choice to make — which can affect productivity. To conform and remove the warning, investigate redesigning the process to avoid presenting more than five connector flow actions from an individual assignment.
Too many shapesFor clarity and ease of maintenance, limit the flow to no more than 15 shapes. This flow contains nn shapes.Caution - Best PracticeAppears when a process diagram has more than fifteen (15) shapes, which violates Guardrail #7 of the Ten Guardrails to Success. These guardrails are the result of Pegasystems professional experience in developing, testing, and reviewing PRPC applications in a variety of industries and organizational settings. When a process diagram has less than fifteen shapes, process development is easier and the processes easier to maintain, because you can more easily see what's happening in the process and are less likely to make a change in one area of the process that has an adverse impact on another area. To conform and remove the warning, investigate options for reducing the number of shapes in this rule's diagram, such as creating a subflow or using parallel flows to perform additional functions.
 

Function rules

NameMessageSeverity - TypeReason/Steps to conform
Analyze JavaLine line numbererrordescriptionModerate - Java WarningAppears when the Java code in the function rule has an error at line line number. The error is described by the description in the warning. Fix the Java error.
Function Not CompiledThe Function ready to be compiled check box is not selected. This rule was not validated and will be unavailable for use until this check box is selected.Moderate - Java WarningAppears when the Function ready to be compiled check box on the rule's Parameters tab is not selected. Typically, this check box is left unselected until coding of the function is completed. After the function has been tested and confirmed ready for use, the check box should be selected before the rule is saved. See the Function form - Completing the Parameters tab information in the PRPC Developer Help.
 

Harnesses

NameMessageSeverity - TypeReason/Steps to conform
Custom CodeWhenever possible, avoid custom HTML in the frame source for ease of maintenance and upgrade.Caution - MaintainabilityAppears when the Frame Source field on the rule's HTML tab is used to provide a custom HTML frameset. Use of custom HTML code violates Guardrail #3 of the Ten Guardrails to Success. These guardrails are the result of Pegasystems professional experience in developing, testing, and reviewing PRPC applications in a variety of industries and organizational settings. Avoiding custom HTML code simplifies design and maintenance and ensures browser independence and compatibility.
Custom CodeWhenever possible, define styles in the skin and avoid custom JS for ease of maintenance and upgrade.Caution - MaintainabilityAppears when scripts or style sheets are specified on the rule's Scripts and Styles tab. Specifying a style sheet in this rule can lead to situations that are difficult to debug; for example, when these styles override the styles set for the portal and issues are visible at run time. Specifying a script introduces manually entered JavaScript, with can lead to issues such as browser incompatibility.
 

List view rules

NameMessageSeverity - TypeReason/Steps to conform
Custom Data Retrieval CodeUse of a custom getContent activity to retrieve report data can make many other report features unavailable or unusable, and can result in maintenance and upgrade issues.Moderate - MaintainabilityAppears when an activity other than the standard getContent activity is specified in the Activity Name field in the Report Source area of the rule's Content tab. Because some list view capabilities are disabled when an activity other than the standard getContent activity is used to retrieve report data, use of a custom activity here is discouraged. If a custom activity is used because complex SQL statements are needed to join data, investigate replacing this list view rule with a report definition (see How to chain together multiple joins in a report definition rule).
Not column or scalarThese properties are neither database columns nor scalar properties in database tables and can adversely impact performance: properties.Moderate - PerformanceAppears when a property listed in the Get These Fields area on the rule's Content tab is not a database column or a scalar property in database tables. Accordingly, reading the indicated property has slower performance. Investigate options for optimizing the property for reporting or replacing this list view rule with a report definition.
See:
How to expose a property as a database column with the Property Optimization toolWhen to use – and when not to use – unoptimized properties in reports
Not column or scalarThese properties are neither database columns nor scalar properties in database tables and can adversely impact performance: properties. Read-only mode can not be used.Moderate - PerformanceAppears when:
  • A property listed in the Get These Fields area on the rule's Content tab is not a database column or a scalar property in database tables, and
  • The Read-only check box in the Report Source area of that tab is selected
Investigate options for optimizing the property for reporting or replacing this list view rule with a report definition. See the links in the previous section:
Case InsensitiveCase Insensitive search operation can adversely impact performance. To improve performance create functional index using UPPER() function on the columns that need case insensitive search.Caution - PerformanceAppears when one or more rows in the Criteria area on the rule's Content tab have the Ignore Case check box selected. Because selecting this check box causes run-time comparisons to occur after the system converts both to uppercase, selecting Ignore Case unnecessarily can adversely affect performance. See How to correct the Case Insensitive warning for list view rules.
Property AliasUsage of property alias is not recommended in List Views. Use an html property to format the output: propertiesCaution - PerformanceAppears if a property alias rule is specified in the Show These Fields area of the rule's Display Fields tab, instead of the actual property referenced by the property alias rule. In PRPC V5.4 and earlier releases, property alias rules could be referenced in list view rules. The use of property alias rules in list view rules is deprecated beginning with PRPC V5.5. To conform and remove the warnings, examine the fields listed on the Display Fields tab and update them appropriately.
 

Map structured rules

NameMessageSeverity - TypeReason/Steps to conform
formatSome characters in the stream are not required according to the format specification.Moderate - Best PracticeAppears when a row in the Map Format array on the rule's Mapping tab has a specified offset that is greater than the sum of the preceding row's specified offset and length. For example, if the first row has 0 as its offset and 14 as its length, and the next row has 22 set as its offset, this warning appears because the sum of the first row's offset and length (0 plus 14) is smaller than the offset specified for the next row (22). The warning is an alert to check that the map structured rule's offsets are defined properly to account for the characters mapped in the stream.
formatString constant has more characters than the specified length. Some characters will be ignored.Moderate - Best PracticeAppears when:
  • A string constant is specified in the Property field on the rule's Mapping tab, and
  • The length specified in the corresponding Length field is too short to contain the characters in the string constant
The warning is an alert that at run time the system truncates the constant's characters that are longer than the specified length.
 

Map values

NameMessageSeverity - TypeReason/Steps to conform
Conflictsnn logic conflicts. Click Show Conflicts to see details.Moderate - LogicAppears when the system detects conflicts (unreachable cells) in the matrix of this rule. A conflict in a map value arises when more than one row in the matrix defines identical input but possibly distinct results. For example, if two rows are identical, the second row can never evaluate to true and so cannot affect the outcome of the rule. The warning is an alert that the rule might not work as intended. To bring the rule into conformance, identify the conflicting cells by clicking Show Conflicts on the Matrix tab, and make the appropriate updates to remove the identified conflicts.
 

Paragraph rules

NameMessageSeverity - TypeReason/Steps to conform
Inline Script-StyleStyles or Scripts should not be included as part of the correspondence text. They should be moved to a separate, included fragment.Caution - Best PracticeAppears when the text specified on the rule's Paragraph tab contains code for either HTML styles (<style>) or scripts (<script>). Including HTML styles and scripts inline makes it difficult to maintain over time; for example, if your organization introduces a new style, all paragraph rules would have to be updated with that style. A best practice is to store the HTML styles and scripts in a text file rule and then include that text file rule in the paragraph text (using the include JavaServer Page tag). See the PRPC Developer Help for more details about the include tag.
 

Properties

NameMessageSeverity - TypeReason/Steps to conform
Reserved Property NameThis property name matches a reserved keyword; rename this property and update its references.Severe - DeprecatedAppears when the name of the property matches a reserved keyword in the system, such as Top, Parent, StepPage, MyStepPage, Local, Param, and Primary. This warning typically appears for properties that were created in earlier PRPC releases prior to the keyword being designated as a reserved keyword.
Duplicate_PropertyA property of this name already exists within the inheritance path. Consider removing duplicate property definitions as they can negatively impact system performance.Caution - Best PracticeAppears when a property of the same name already exists in the class inheritance path. Properties that are duplicates of other property instances have an effect on caching, which can have a negative effect on system performance. For example, having several properties named Amount in one inheritance path, even if they belong to different RuleSets, can slow the initial assembly of rules that reference Amount. As a best practice for good run-time performance, choose property names that are distinct and unique throughout your application. Choosing more explicit names (such as PrincipalAmount, AmountAtRisk) will both prevent this performance impact and help ensure that developers use the appropriate property.
 

Report definitions

NameMessageSeverity - TypeReason/Steps to conform
Unexposed Filter Properties ExistThese properties are not optimized, and filtering or grouping by them will result in very poor performance: list of propertiesSevere - PerformanceAppears when one of the following exists on the rule's Design tab:
  • A property listed in the Rows to Include area (used to specify the filtering conditions) is not a database column or a scalar property in database tables, or
  • A property listed in the Columns To Include area has a summary function selected (using the Summary Function field, which results in the non-summarized columns becoming "group by" columns) and another property specified as a Column Name is not a database column or a scalar property in database tables
While you might want to use unoptimized properties while working out the report's structure and contents, it is a best practice to ensure all properties involved in the report are optimized before moving the code to a production system because reading an unoptimized property results in slower performance. Investigate options for optimizing the indicated property for reporting. See When to use – and when not to use – unoptimized properties in reports.
Format on DateTime propertyCalculations, grouping and sorting, and charting will still be based on the unformatted values for this column. A calculation may be used, for example, to convert Date/Time values to days, weeks, quarters, months, or years. Property Name: list of columns formatted by DateTime Used: format usedCaution - FormatAppears when a column in the Columns To Include area on the rule's Design tab uses a property with DateTime type and a control is specified in that column's Format Values field. The warning is an alert that even though the system displays the column in the specified format, any calculations, grouping, sorting, and charting use the unformatted values. The warning text provides the name of the property (or properties) and the specified formats.
Unexposed Properties ExistThese properties are not optimized, and displaying them may result in poor performance: list of propertiesCaution - PerformanceAppears when a property listed in the Columns To Include area on the rule's Design tab is not a database column or a scalar property in database tables. While you might want to use unoptimized properties while working out the report's structure and contents, it is a best practice to ensure all properties involved in the report are optimized before moving the code to a production system because reading an unoptimized property results in slower performance. Investigate options for optimizing the indicated property for reporting. See When to use – and when not to use – unoptimized properties in reports.
Unexposed Properties ExistThese properties are not optimized, and using them to join a class will result in very poor performance: list of propertiesCaution - PerformanceAppears when a class join is specified on the rule's Data Access tab and the properties listed in the warning are not optimized. While you might want to use unoptimized properties while working out the report's structure and contents, it is a best practice to ensure all properties involved in the report are optimized before moving the code to a production system because reading an unoptimized property results in slower performance. Investigate options for optimizing the indicated properties for reporting. See the link in the previous section.
Unexposed Properties ExistThese properties are not optimized, and using them to join a sub report will result in very poor performance: list of propertiesCaution - PerformanceAppears when a sub-report is specified on the rule's Data Access tab and the properties listed in the warning are not optimized. While you might want to use unoptimized properties while working out the report's structure and contents, it is a best practice to ensure all properties involved in the report are optimized before moving the code to a production system because reading an unoptimized property results in slower performance. Investigate options for optimizing the indicated properties for reporting. See the link two sections above.
Unexposed Properties ExistThis property is not optimized, and ranking by it will result in very poor performance: propertyCaution - PerformanceAppears when the properties listed in the warning are used in this report definition and are not optimized. While you might want to use unoptimized properties while working out the report's structure and contents, it is a best practice to ensure all properties involved in the report are optimized before moving the code to a production system because reading an unoptimized property results in slower performance. Investigate options for optimizing the indicated properties for reporting. See the link three sections above.
 

RuleSets and RuleSet versions

NameMessageSeverity - TypeReason/Steps to conform
Best Practice Fail WarningBest Practice : Only the highest version of a RuleSet should be unlocked. A RuleSet Version lower than the highest version is currently unlocked.Moderate - Best PracticeAppears when a RuleSet version other than the highest version is unlocked on the rule's Version tab. As a best practice, rule development takes place in only the highest RuleSet version at a time, so that more recent changes to rules always occur in the highest RuleSet version. Otherwise, if a lower RuleSet version is unlocked, a developer could accidentally update and save a rule to the lower RuleSet version, and the change would be overridden by the unchanged version of that rule in the higher RuleSet version. The warning is an alert to investigate whether any rules have been changed in the lower, unlocked RuleSet version and require the same changes in the highest RuleSet version. Once you have reconciled any needed changes, lock all but the highest RuleSet version.
 

Sections

NameMessageSeverity - TypeReason/Steps to conform
ModeLiteralUsing "mode=literal" can expose the system to cross site scripting attacks - use with caution.Severe - Best PracticeAppears when the section's HTML has a JavaServer Page tag that has the mode attribute set to literal. Because use of mode = "literal" in stream rules such as sections increases the risk of cross-site scripting (XSS) attacks, its use is strongly discouraged. In rare situations, your application might require mode = "literal" — for example, for a dynamic JavaScript target of a button (executed with the onClick= attribute). Design and test such cases with extreme care. See Best practices to avoid cross-site scripting (XSS) vulnerabilities.
Avoid Inline StylesWhenever possible, avoid using inline style for ease of maintenance.Caution - MaintainabilityAppears when a cell on the rule's Layout tab has code defined in the Inline Style field in the cell's properties. Including HTML styles inline at the cell level makes it difficult to maintain consistency over time.
HTML DirectivesHTML Directives are deprecated. Use JSP for new rule instances.Caution - DeprecatedAppears when this section has HTML code that includes HTML directives. As of PRPC V6.1, use of directives is deprecated. Use JSP tags rather than directives in new development.
ModeDisplayThe 'when' tag keyword '$mode-display' is deprecated. Use '!$mode-input' instead.Caution - DeprecatedAppears when the section's HTML includes the keyword $mode-display. In releases before PRPC V5.4, the boolean keyword $mode-display detected read-only output mode for HTML. The $mode-display keyword is deprecated for new development; instead use !$mode-input (meaning not$mode-input).
Not Auto-GeneratedWhenever possible, use the Auto-Generated HTML option for ease of maintenance.Caution - Best PracticeAppears when the Auto-generated check box on the rule's HTML tab is not selected. Auto-generation is one of the keys to following the Ten Guardrails to Success, because it provides these benefits:
  • Eliminates hand-coding, which simplifies design and maintenance.
  • Preserves custom settings when you upgrade your system.
  • Eliminates manually entered inline JavaScript, which reduces cross-site scripting (XSS) vulnerabilities and improves performance.
  • Ensures browser independence and compatibility.
To bring the rule into conformance with the guardrails, take the appropriate steps to select the Auto-generated check box on the rule and update other fields in the rule form as necessary.
NoColumnFilteringFiltering cannot be performed on a password columnCaution - LogicAppears when a layout on the rule's Layout tab:
  • Contains a layout with a repeating area, and
  • One of the columns has a property with Password type.
  • The Filtering check box is selected in the properties of the repeating area
To conform and remove the warning, examine the rule that contains the repeating area and clear the check box.
NoReorderInPageGroupAllow reordering is checked - An unordered data structure like page group cannot be reordered.Caution - LogicAppears when a layout on the rule's Layout tab:
  • Contains a layout with a repeating area sourced from a Page Group mode property, and
  • The Allow Reordering or Reordering check box is selected in the properties of the repeating area
To conform and remove the warning, examine the rule that contains the repeating area and clear the check box.
NoWrapTextInProgressiveLoadTurn off Wrap Text when using Progressive Paging to keep row heights consistentCaution - LogicAppears when a grid layout is used on the rule's Layout tab and:
  • The Paging field in the grid layout properties is set to Progressive, and
  • A cell in the grid has the Wrap Text check box selected in the cell's properties.
The warning is an alert to the best practice to not have wrapped text in cells when the grid is using progressive paging.
 

Service Email rules

NameMessageSeverity - TypeReason/Steps to conform
POP3 Received DatePOP3 protocol does not provide a received date.Caution - Best PracticeAppears when one of the Message Header area's Description fields on the rule's Request tab contains the value Date or date. Email service rules are used to manage incoming email. This warning is an alert that if the email accounts specify the POP3 protocol, the message header does not provide a date, and therefore there is no corresponding data to map for the field specified with the Description of Date.
 

Service HTTP rules

NameMessageSeverity - TypeReason/Steps to conform
Custom Cookies may interfere with stateful sessionsSetting custom cookies may interfere with stateful session managementModerate - Best PracticeAppears when a Set-Cookie is coded in the data mapping specified for the header fields on the rule's Response tab. Because a response can contain only one Set-Cookie header, this warning is an alert that in this situation, PRPC does not set the PegaRULES cookie for you. Therefore, if the services run in a stateful session and you need to return custom cookies, your rules are responsible for constructing the PegaRULES cookie. See the More about Service HTTP rules topic in the PRPC Developer Help for details.
 

Service SOAP rules

NameMessageSeverity - TypeReason/Steps to conform
MapFromKeyFormatResponse Header: For XML Literal as Data type and MapFrom as Clipboard, MapFromKey should hold a well formed xml.Severe - LogicAppears when the Data Type field in the Response Headers area on the rule's Response tab is set to XML Literal, and the corresponding Map From field is set to Clipboard, and the property specified in the corresponding Map From Key field on that row does not hold well-formed XML text. Examine the property specified in the appropriate Map From Key field to ensure it holds well-formed XML text.
MapFromKeyFormatResponse Parameter: For XML Literal as Data type and MapFrom as Clipboard, MapFromKey should hold a well formed xml.Severe - LogicAppears when the Data Type field in the Response Parameters on the rule's Response tab is set to XML Literal, and the corresponding Map From field is set to Clipboard, and the property specified in the corresponding Map From Key field on that row does not hold well-formed XML text. Examine the property specified in the appropriate Map From Key field to ensure it holds well-formed XML text.
WebServiceInteroperabilityWS-I Conformance: Operation Style is not consistent with other soap service rules. All SOAP service rules belonging to same service package and service class should be either of 'RPC/Literal' style or 'Document/Literal' style.Caution - Best PracticeAppears when the Style and Use field on the rule's Service tab is set to a value that does not match that for the other SOAP service rules in the same service package and service class (the Package and Class Name displayed in the rule form's header). It is a Web Services Interoperability (WS-I) standard that all SOAP service rules belonging to the same service package and service class. To conform to the WS-I standard, select the appropriate choice for the Style and Use field. (Reference: WS-I Specification:Basic Profile 1.1)
WebServiceInteroperabilityWS-I Conformance: RPC/Encoded style is not WS-I compliant.Caution - Best PracticeAppears when the Style and Use field on the rule's Service tab is set to RPC/encoded, which is not compliant with Web Services Interoperability (WS-I) standards. To conform to the WS-I standard, select another choice for the Style and Use field. (Reference: WS-I Specification:Basic Profile 1.1)
 

Service nnnnn rules

The warnings in this section can appear for all Service NNN rules except for Service Email, Service HTTP, and Service SOAP rules.

NameMessageSeverity - TypeReason/Steps to conform
ServicePackage_RequiresAuthenticationThe service activity associated with this service might not work as it requires authentication. See the "Requires Authentication" check box on Service Package package name.Caution - Best PracticeAppears when:
  • The service package associated with this rule does not have the Requires Authentication check box selected on its Context tab, and
  • The service activity specified on this rule's Service tab has the Authenticate check box selected on its Security tab.
Because the activity associated with the service request requires authentication, the service package should also require authentication, or the activity might fail. This warning is an alert to this discrepancy. Investigate whether a change is needed to the setting on the activity or the service package.
 

Skin rules

NameMessageSeverity - TypeReason/Steps to conform
Custom CodeWhenever possible, avoid using custom stylesheets in the skin and use the auto-generated styles for ease of maintenance and upgrade.Caution - MaintainabilityAppears when style sheets are specified in the Additional Style Sheets area on the rule's CSS tab. Use of custom HTML code violates Guardrail #3 of the Ten Guardrails to Success. These guardrails are the result of Pegasystems professional experience in developing, testing, and reviewing PRPC applications in a variety of industries and organizational settings. Avoiding custom HTML code simplifies design and maintenance and ensures browser independence and compatibility.
Custom CodeWhenever possible, avoid using non auto-generated skin for ease of maintenance and upgrade.Caution- MaintainabilityAppears if this rule was initially created with the Auto Generated check box not selected (in the New dialog bo). Auto-generation is one of the keys to following the Ten Guardrails to Success, because it provides these benefits:
  • Eliminates hand-coding, which simplifies design and maintenance.
  • Preserves custom settings when you upgrade your system.
  • Eliminates manually entered inline JavaScript, which reduces cross-site scripting (XSS) vulnerabilities and improves performance.
  • Ensures browser independence and compatibility.
While non-auto-generated skins are supported for backward compatibility, in PRPC V6.3, you cannot switch the skin rule between being auto-generated and non-auto-generated. To conform to the guardrail, recreate the skin rule using the New dialog and ensure the Auto Generated check box is selected.
 

Summary view rules

NameMessageSeverity - TypeReason/Steps to conform
Custom Data Retrieval CodeUse of a custom getContent activity to retrieve report data can make many other report features unavailable or unusable, and can result in maintenance and upgrade issues.Moderate - MaintainabilityAppears when an activity other than the standard getContent activity is specified in the Activity Name field in the Report Source area of the rule's Content tab. Because some summary view rule capabilities are disabled when an activity other than the standard getContent activity is used to retrieve report data, use of a custom activity here is discouraged. If a custom activity is used because complex SQL statements are needed to join data, investigate replacing this summary view rule with a report definition (see How to chain together multiple joins in a report definition rule).
Not column or scalarThese properties are neither database columns nor scalar properties in database tables and can adversely impact performance: properties.Moderate - Performance

Appears when a property listed in the Criteria area on the rule's Content tab is not a database column or a scalar property in database tables. Accordingly, reading the indicated property has slower performance. Investigate options for optimizing the property for reporting or replacing this summary view rule with a report definition.


Note: This warning appears for summary view rules that were created in prior PRPC releases. Summary view rules created in PRPC V6.3 display an error message and cannot be saved when properties specified in the Criteria area do not correspond to exposed columns.

Not column or scalarThese properties are neither database columns nor scalar properties in database tables and can adversely impact performance: properties. Read-only mode can not be used.Moderate - PerformanceAppears when:
  • A property listed in the Criteria area on the rule's Content tab is not a database column or a scalar property in database tables, and
  • The Read-only check box in the Report Source area of that tab is selected
Investigate options for optimizing the property for reporting or replacing this summary view rule with a report definition. See:
How to expose a property as a database column with the Property Optimization toolWhen to use – and when not to use – unoptimized properties in reportsNote: This warning appears for summary view rules that were created in prior PRPC releases. Summary view rules created in PRPC V6.3 display an error message and cannot be saved when properties specified in the Criteria area do not correspond to exposed columns.
Case InsensitiveCase Insensitive search operation can adversely impact performance. To improve performance create functional index using UPPER() function on the columns that need case insensitive search.Caution - PerformanceAppears when one or more rows in the Criteria area on the rule's Content tab have the Ignore Case check box selected. Because selecting this check box causes run-time comparisons to occur after the system converts both to uppercase, selecting Ignore Case unnecessarily can adversely affect performance. See How to correct the Case Insensitive warning for summary view rules.
 

Text file rules

NameMessageSeverity - TypeReason/Steps to conform
JavaScript ValidationerrorSevere - JavaScript Syntax ErrorsAppears when the File Source of this text file rule is a JavaScript file, and the system encounters JavaScript syntax errors when attempting to save the rule.
Cascading Style Sheets ValidationCSS Validation ErrorsSevere - Invalid Image RequestsAppears when the File Source of this text file rule is a Cascading Style Sheet file (file type set to CSS), and the CSS text references images (binary file rules) that are not available. This situation typically happens when the Save As toolbar action is used to copy a text file rule into another RuleSet, and the image references in the CSS are not available to the new RuleSet. To address that situation, note the names of the images and copy or create them in a RuleSet that this text file rule can find.
JavaScript ValidationJavaScript compacting errorsSevere - JavaScript Syntax ErrorsAppears when:
  • The File Source of this text file rule is a JavaScript file, and
  • The Compact JS check box is selected on the rule's Main tab, and
  • The system attempted to compactify the JavaScript source code, and encountered errors in the attempt
Compactifying JavaScript is done to achieve better network and storage performance. To resolve the warning, clear that check box, temporarily save the rule, and then use the Check JS Syntax button to diagnose.
JavaScript PerformanceFor performance reasons it is recommended to enable JavaScript compacting.Moderate - JavaScript Compacting DisabledAppears when the File Source of this text file rule is a JavaScript file, and the Compact JS check box on the rule's Main tab is not selected. To resolve the warning, select the check box and save the rule.
 

Circumstanced-related warnings

This area of the dictionary has two sections:

  • Warnings that can appear in the Circumstance Definition and Circumstance Template rule forms
  • Warnings that appear in the rule forms of circumstanced rules

Warnings in circumstance definition and circumstance template rules

NameMessageSeverity - TypeReason/Steps to conform
ConflictsThis rule contains nn logic conflicts. Click Show Conflicts to see details.Moderate - LogicAppears when the system detects conflicts (unreachable or blank rows) in the combination of the Circumstance Template rule and all of the Circumstance Definition rules that reference it. The warning is an alert that the rules might not work as intended. This warning typically occurs when the Priority Definitions area on the Definitions tab of the Circumstance Template rule is used to specify the evaluation order. Identify the conflicting rows by clicking the rule's Show Conflicts button, and make the appropriate updates to remove the identified conflicts.
PRPC_CircumstanceIndexWarningCan't create Circumstance Index because the following columns can't be created:
column list
ddl code
error
Moderate - PerformanceAppears when database columns used could not be added to the circumstance index table (pr_index_circumstance_def) in the PegaRULES database. Circumstance definition data is saved to that table when the circumstance definition rule is saved. The most likely reason for the inability to add the columns is that the PegaRULES database account does not have the privileges to perform the database command (ddl) stated in the warning. (The command is usually an ALTER TABLE command). This condition prevents circumstance-related reporting and does not affect the run-time performance of the application. See How to correct the PRPC_Circumstance Index warning.
PRPC_CircumstanceIndexWarningCan't create property: name in class: circumstance index classModerate - PerformanceIndicates that the property could not be created in the class used for the circumstance index table (the Index-CircumstanceDefinition class). Circumstance definition data is saved to that table when the circumstance definition rule is saved. A typical situation in which this warning occurs is the system is unable to add the columns to the pr_index_circumstance_def table in the PegaRULES database. To resolve, contact the database administrator (DBA) for your PRPC system.
PRPC_CircumstanceIndexWarningCan't index property name because the database column is mapped to another property: name.Moderate - PerformanceIndicates that a database table column for the property could not be created in the pr_index_circumstance_def table in the PegaRULES database because a column with that name already exists and is mapped to another property. Circumstance definition data is saved to that table when the circumstance definition rule is saved. Each property in the circumstance definition has a corresponding column in that database table. This warning can appear if the database table already has a column with the name of the property, and it is mapped to a different property — for example, if two properties with the same name exist in two unrelated classes and have different data types. To resolve, contact the database administrator (DBA) for your PRPC system.

Warnings in circumstanced rules

The following warnings can appear in circumstanced rules of all rule types except for activities, constraints rules, Declare Expression rules, and Declare OnChange rules.

NameMessageSeverity - TypeReason/Steps to conform
Whenever UsedCircumstanced date property does not exist in the class of the circumstanced ruleModerate - Class MismatchAppears when the rule is circumstanced on a date property, and that date property does not have the same Applies To class as the circumstanced rule. Investigate whether this configuration is appropriate for your application.
Whenever UsedCircumstanced Definition does not exist in the class of the circumstanced ruleModerate - Class MismatchAppears when the rule is circumstanced on a circumstance template and circumstance definition rule, and the circumstance definition rule does not have the same Applies To class as the circumstanced rule. Investigate whether this configuration is appropriate for your application.
Whenever UsedCircumstanced property does not exist in the class of the circumstanced ruleModerate - Class MismatchAppears when the rule is circumstanced on a property, and that property does not have the same Applies To class as the circumstanced rule. Investigate whether this configuration is appropriate for your application.
Whenever UsedCircumstanced Template does not exist in the class of the circumstanced ruleModerate - Class MismatchAppears when the rule is circumstanced on a circumstance template and circumstance definition rule, and the circumstance template rule does not have the same Applies To class as the circumstanced rule. Investigate whether this configuration is appropriate for your application.

The following warnings can appear in circumstanced rules of all rule types.

NameMessageSeverity - TypeReason/Steps to conform
PRPC_CircumstanceIndexWarningCan't create Circumstance Index because the following columns can't be created:
column list
ddl code
error
Moderate - PerformanceAppears when database columns used could not be added to the circumstance index table (pr_index_circumstance_def) in the PegaRULES database. Circumstance data is saved to that table when the rule is saved. The most likely reason for the inability to add the columns is that the PegaRULES database account does not have the privileges to perform the database command (ddl) stated in the warning. (The command is usually an ALTER TABLE command). This condition prevents circumstance-related reporting and does not affect the run-time performance of the application. See How to correct the PRPC_Circumstance Index warning. This warning can also appear if the specified property is an aggregate property (such as a Page List or Page Group mode property).
PRPC_CircumstanceIndexWarningCan't create property: name in class: circumstance index classModerate - PerformanceIndicates that the property could not be created in the class used for the circumstance index table (the Index-CircumstanceDefinition class). Circumstance data is saved to that table when the rule is saved. The typical situation in which this warning occurs is the system is unable to add the columns to the pr_index_circumstance_def table in the PegaRULES database. To resolve, contact the database administrator (DBA) for your PRPC system. This warning can also appear if the specified property is an embedded property in an aggregate property (for example, .HardwareItems.Price where HardwareItems is a Page List mode property). The property for the circumstance must hold only one value at a time.
PRPC_CircumstanceIndexWarningCan't index property name because the database column is mapped to another property: name.Moderate - PerformanceIndicates that a database table column for the property could not be created in the pr_index_circumstance_def table in the PegaRULES database because a column with that name already exists and is mapped to another property. Circumstance data is saved to that table when the rule is saved. Each property used for circumstancing has a corresponding column in that database table. This warning can appear if the database table already has a column with the name of the property, and it is mapped to a different property — for example, if two properties with the same name exist in two unrelated classes and have different data types. To resolve, contact the database administrator (DBA) for your PRPC system.
PRPC_CircumstanceIndexWarningCan't save Index. messageModerate - PerformanceAppears when the index record (instance of Index-CircumstanceDefinition) could not be saved to the database Check the log file for error messages and contact your PRPC administrator.

The following warnings can appear in circumstanced Declare Expression rules.

NameMessageSeverity - TypeReason/Steps to conform
Circumstance ConflictThe Allowed Top-Level Classes of this base expression value does not match the value value found in qualified version rule.Severe - LogicAppears in the base rule when the classes listed in the Allowed Top-Level Classes field on the base rule's Change Tracking tab do not match the setting in the circumstanced rule. The rules might not have the intended behavior. Investigate the settings and make the updates appropriate for your application.
Circumstance ConflictThe Allowed Top-Level Classes of this qualified expression value does not match the value value found in base version rule.Severe - LogicAppears in the circumstanced rule when the classes listed in the Allowed Top-Level Classes field on the circumstanced rule's Change Tracking tab do not match the setting in the base rule. The rules might not have the intended behavior. Investigate the settings and make the updates appropriate for your application.
Circumstance ConflictThe Calculate Value of this base expression value does not match the value value found in qualified version rule.Severe - LogicAppears in the base rule when the setting for the Calculate Value field on the base rule's Change Tracking tab does not match the setting in the circumstanced rule. The rules might not have the intended behavior. Investigate the settings and make the updates appropriate for your application.
Circumstance ConflictThe Calculate Value of this qualified expression value does not match the value value found in base version rule.Severe - LogicAppears in the circumstanced rule when the setting for the Calculate Value field on the circumstanced rule's Change Tracking tab does not match the setting in the base rule. The rules might not have the intended behavior. Investigate the settings and make the updates appropriate for your application.
Circumstance ConflictThe Context Execution Behavior of this qualified expression value does not match the value value found in base version rule.Severe - LogicAppears in the circumstanced rule when the setting for the Execute this expression field on the circumstanced rule's Change Tracking tab does not match the setting in the base rule. The rules might not have the intended behavior. Investigate the settings and make the updates appropriate for your application.
 

Logic conflict warnings

The following warnings can appear in decision tables, decision trees, map values, circumstance template rules, and circumstance definition rules. In those rule forms, when you click Show Conflicts to test for conflicts, a warning icon marks the elements with conflicts; hovering over the icon displays the logic conflict warning. Investigate the logic conflicts and updated as appropriate for your application.

ConditionMessageReason/Steps to conform
CompletenessIncomplete property name. The missing values are list of valuesThe indicated property has values that are not represented in the rule. Examine the property and update as appropriate for your application.
EmptyRowSubsequent rows and Otherwise are unreachable as all conditions are empty and evaluate to true.Rows that follow the indicated row will never be evaluated, because the system evaluates starting from the top and going down, and from left to right, and stops when it evaluates to true. Because the indicated row has conditions that are empty and evaluate to true, the subsequent rows and the otherwise row are unreachable and never evaluated.
UnreachableUnreachable column: Click here to highlight details.A column will never be evaluated due to prior evaluations, because the system evaluates going from the top and going down, and from left to right, and stops when it evaluates to true. When you click the warning icon, the system highlights the other elements that cause the column to be unreachable.
UnreachableUnreachable condition: Click here to highlight details.A condition will never be evaluated due to prior evaluations, because the system evaluates starting from the top and going down, and from left to right, and stops when it evaluates to true. For example, if two rows in the decision table are identical, the second one is never evaluated to be true (because the first was already evaluated). The second one is the "unreachable" condition. When you click the warning icon, the system highlights the other elements that cause the condition to be unreachable
UnreachableUnreachable result: Click here to highlight details.A result will never be evaluated due to prior evaluations, because the system evaluates going from the top and going down, and from left to right, and stops when it evaluates to true. When you click the warning icon, the system highlights the other elements that cause the result to be unreachable
UnreachableUnreachable row: Click here to highlight details.A row will never be evaluated due to prior evaluations, because the system evaluates going from the top and going down, and from left to right, and stops when it evaluates to true. When you click the warning icon, the system highlights the other elements that cause the row to be unreachable
PropertyConflictThis cell has conflicting row and column conditions.The indicated cell has conflicting row and column conditions. Examine the conditions and update as appropriate.
PropertyConflictThis condition has conflicts for property name.The condition associated with the indicated property has conflicts. Examine the conditions and update as appropriate.
PropertyConflictThis condition has conflicts for property name. Click here to highlight the full condition.The condition associated with the indicated property has conflicts. Click the icon to highlight the issue. Examine the condition and update as appropriate.

 

back to top

  • Previous topic Naming standards for Case Lifecycle Management components, and for records, classes, tables, and other objects
  • Next topic When and how to use the private check-out feature

Have a question? Get answers now.

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

Did you find this content helpful?

Want to help us improve this content?

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

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us