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 Application > 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 .
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 () 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:
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 level | Meaning |
---|
Severe | Most serious (highest level). Indicates a serious guardrail violation. These conditions typically pose the highest risk, such as things that can affect data integrity. |
Moderate | Indicates 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. |
Caution | Indicates 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:
Type | Indicates |
---|
Accidental system damage | The combination of this rule and options set in another rule might adversely affect data integrity. |
Best Practice | Aspects of the rule violate the standard guardrails. |
Class Mismatch | Issues with the associations between circumstanced rules and the circumstance definition and template rules. |
CMIS Connectivity | Issues exist with CMIS Connectivity options set in the rule. |
Compatibility | Options set in the rule might be incompatible with certain versions of PRPC. |
Data Integrity | Aspects of the rule might adversely affect data integrity. |
Deprecated | Options set in the rule are deprecated in the current PRPC version. |
Format | Rule contains formatted properties, while calculations in the rule are based on unformatted values. |
Functionality | Rule or options set in the rule work only under certain conditions (for example, when PRPC is deployed as a Web application). |
General | Options set in the rule are deprecated in the current PRPC version. |
Issue | Rule has some options set that work best with other, unset options. |
Java Warnings | Rule contains Java code that has issues. |
JavaScript Compacting Disabled | Rule contains JavaScript and has JavaScript compacting disabled. |
JavaScript Syntax Errors | Rule contains JavaScript code that has issues. |
Logic | Logic conflicts exist in the rule. |
Maintainability | Rule uses custom code or activities, which can result in maintenance and upgrade issues over time. |
Missing Configuration | A rule on which this one depends does not exist, or is not available to this rule. |
Performance | Options 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.
back to top
Access of Role to Object rules
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Privilege validation | The privilege xxxxx does not exist or is not visible from the RuleSet of this Rule-Access-Role-Obj instance. | Caution - Logic | A 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: - 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 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.
- 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 , 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Commit | Use of the Commit method should be carefully considered to ensure data integrity. In most cases, allow PRPC to handle committing a transaction. | Severe - Data Integrity | An 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 failure | When 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 Integrity | An 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-List | The Obj-List activity method is deprecated. Use Obj-Browse or Obj-List-View instead. | Severe - Best Practice | An 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. |
WriteNow | Use 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 Integrity | An 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 Java | Step step nn, Line line nnerrordescription | Moderate - Java Warnings | In 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 v02 | API version 02 is deprecated. Use 03-02 instead. | Moderate - Deprecated | The 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. |
ApplyModelDeprecated | The Apply-Model method has been deprecated. Use the Apply-DataTransform method. | Moderate - Best Practice | An 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 Elimination | Consider 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 - Maintainability | The 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. |
Call | Call 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 Practice | A 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. |
DuplicateStepLabel | This activity contains duplicate label names label. Only the first matching label following a Jump will be used. | Caution - Best Practice | The 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-Add | Entering 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 Practice | An 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. |
Java | Reduce or eliminate Java steps whenever possible for ease of maintenance. This activity contains nn lines of Java. | Caution - Best Practice | An 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-Handle | If 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 Practice | An 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-Open | If 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 Practice | An 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-Handle | If 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 Practice | An 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-New | If 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 Practice | An 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-Messages | Entering 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 Practice | An 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-Messages | Entering 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 Practice | An 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-Open | If 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 Practice | An 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. |
Queue | Queue 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 Practice | A 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 Precondition | Precondition filled in step step nn, but not used | Caution - Best Practice | The 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 Transition | Transition filled in step step nn, but not used | Caution - Best Practice | The 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
BypassActivityAuthentication | Activity 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 Practice | The 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 Agent | One or more agents are in Legacy Mode. See "Upgrading an Existing Agent to Version 5.4" on the PDN to upgrade these. | Caution - Best Practice | This 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Compatibility | The check box "Place properties on thread page only" is unselected because the Built on Application has it unselected. | Moderate - Compatibility | This 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 List | You have saved this application in a RuleSet that is not part of the application's RuleSet list. | Moderate - Best Practice | This 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. |
Warn | The application is unable to access the Content Management system. | Moderate - CMIS Connectivity | The 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. |
Warn | CMIS repository is not configured to store custom properties. | Moderate - CMIS Connectivity | The 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. |
Attachment category rules
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Bad class name | An attachment category with this name is defined by a field value. This attachment category will override it. | Moderate- Best Practice | Appears 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 Conflict | The privilege Create_privilege allows for unexpected access. | Moderate- Best Practice | Appears 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 Conflict | The privilege Editprivilege allows for unexpected access. | Moderate- Best Practice | Appears 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 Conflict | A privilege with the name Create_privilege exists in the system but is not being used by this rule. | Moderate- Best Practice | Appears 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 Conflict | A privilege with the name Editprivilege exists in the system but is not being used by this rule. | Moderate- Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Case Dependency | The 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 Integrity | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Bad class name | The name of class class name should not start with the name of classgroup class group unless the class belongs to the classgroup. | Moderate - Best Practice | Appears 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 + tableName | Instances of this class save to the pr_other table which has few properties exposed as columns. Consider mapping to a different table. | Moderate - Logic | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
An explicit URL is not recommended | An explicit URL is not recommended: Provide the URL as a parameter in the connect calling activity instead. | Moderate - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
ReferenceFormat | constructor parameter is not a valid data type. | Severe - Logic | Appears 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. |
ReferenceFormat | Method is blank. | Severe - Logic | Appears when no method is specified in the Method field on the rule's Service tab. Complete the Method field with the appropriate method signature. |
ReferenceFormat | method parameter is not a valid data type. | Severe - Logic | Appears 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. |
ReferenceFormat | No match between Datatypes in Constructor field Parameters in Service tab and Parameters in Constructor tab. | Severe - Logic | Appears 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. |
ReferenceFormat | No match between Datatypes in Method field Parameters in Service tab and Parameters in Method tab. | Severe - Logic | Appears 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. |
ReferenceFormat | No match between Parameters in Constructor field Parameters in Service tab and Parameters in Constructor tab. | Severe - Logic | Appears 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. |
ReferenceFormat | No match between parameters in Method field Parameters in Service tab and Parameters in Method tab. | Severe - Logic | Appears 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. |
ReferenceFormat | Parameters are not specified in Constructor field. | Severe - Logic | Appears 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. |
ReferenceFormat | Parameters are not defined in Method field. | Severe - Logic | Appears 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. |
ReferenceFormat | service parameter is not a valid datatype. | Severe - Logic | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
ReferenceFormat | Connection Factory reference must start with 'java:/comp/env' | Severe - Logic | Appears 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. |
ReferenceFormat | Request destination reference must start with 'java:/comp/env' | Severe - Logic | Appears 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. |
ReferenceFormat | Response destination reference must start with 'java:/comp/env' | Severe - Logic | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
MapFromKeyFormat | Request Header: For MapFrom as Clipboard, MapFromKey should hold a well formed xml. | Severe - Logic | Appears 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. |
MapFromKeyFormat | Request Parameter: For XML Literal as Data type and MapFrom as Clipboard, MapFromKey should hold a well formed xml | Severe - Logic | Appears 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. |
WebServiceInteroperability | WS-I Compliance: Root nodes of the 'XML Stream' rules, provided in the request parameters, should be configured with a namespace. | Caution - Best Practice | Appears 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) |
WebServiceInteroperability | WS-I Compliance: RPC/Encoded style is not WS-I compliant. | Caution - Best Practice | Appears 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) |
WebServiceInteroperability | WS-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 Practice | Appears when the Style and use field on the rule's Service tab is set to Document/ literal and:
- 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Not Auto-Generated | Whenever possible, use the auto-generated controls for ease of maintenance and upgrade. | Caution - Maintainability | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Inline Script-Style | Styles or Scripts should not be included as part of the correspondence text. They should be moved to a separate, included fragment. | Caution - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Inline Script-Style | Styles or Scripts should not be included as part of the correspondence text. They should be moved to a separate, included fragment. | Caution - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
ChangeOfPageClass | Setting the pxObjClass property will change the class of the containing page. This is not a recommended best practice. | Severe - Best Practice | Appears 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. |
MustNotUseAppend | Using 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 Practice | Appears 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. |
UnreachableAction | An 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 - Logic | At 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. |
AmbiguousSource | The 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 Practice | Appears 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" ).
|
AmbiguousSource | There is no source defined for the property ‘{property name}’. It will be set to an empty value. | Moderate - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Conflicts | This rule contains nn logic conflicts. Click Show Conflicts to see details. | Moderate - Logic | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Conflicts | This rule contains nn logic conflicts. Click Show Conflicts to see details. | Moderate - Logic | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Change Tracking | Change tracking will not occur on named-page references either as an input or as an additional dependency such as (property name). | Severe - Functionality | Appears 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 Overriden | There 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 - Logic | Appears 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 Defined | None of the ancestors of this expressions' Applies To class have a property named target property defined. This expression will never be evaluated. | Severe - Logic | Appears 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 Target | The property target property cannot be the target of an expression. | Moderate - Accidental system damage | When 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 Used | For best performance, avoid the Whenever Used option for change tracking. | Moderate - Performance | This 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.) |
When | As best practice, avoid blank When condition as it will always default to false; thus, only Otherwise expression gets evaluated. | Caution - Best Practice | Appears 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. |
When | As 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 Practice | Appears 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. |
When | The When condition(s) with a blank expression will be ignored. | Caution - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Named Page Reference | If 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 Integrity | The 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
PageList/ValueList property reference | The reference to PageList/ValueList property property should contain parenthesis. | Severe - Best Practice | Appears 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 Activity | To ensure transaction integrity, specify an activity that has its type defined as Trigger. | Caution - Data Integrity | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Analyze Java | Line line numbererrordescription | Moderate - Java Warnings | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Analyze Java | Line line numbererrordescription | Moderate - Java Warnings | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
ModeLiteral | Using "mode=literal" can expose the system to cross site scripting attacks - use with caution. | Severe - Best Practice | Appears 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 Code | Whenever possible, define the flow action UI by referencing a section to maximize reuse. | Caution - Maintainability | Appears 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 Directives | HTML Directives are deprecated. Use JSP for new rule instances. | Caution - Deprecated | Appears 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 Status | rule name Validate Rule does not use Proposed Work Status. | Caution - Best Practice | Appears 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-Generated | Whenever possible, use the Auto-Generated HTML option for ease of maintenance. | Caution - Best Practice | Appears 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. |
ModeDisplay | The 'when' tag keyword '$mode-display' is deprecated. Use '!$mode-input' instead. | Caution - Deprecated | Appears 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 Action | Defining 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 - General | Appears 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 Processing | You should consider checking 'Disqualify this action from bulk processing' since you specified a pre-processing activity, and bulk processing does not invoke that. | Caution - Issue | Appears 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 Processing | Check 'Disqualify this action from bulk processing' whenever you specify Whens to improve the performance of showing the list of bulk processing assignments. | Caution - Performance | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Writes to pr_other | This Flow's class writes objects to table pr_other; you need to add a Data-Admin-DB-Table for the classgroup. | Severe - Missing Configuration | Appears 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 override | The Cover Classes settings in the Process tab may be ignored because a Case Type rule exists in one of the cover classes | Caution - Logic | Appears 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 assignments | Offer 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 Practice | Appears 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 shapes | For clarity and ease of maintenance, limit the flow to no more than 15 shapes. This flow contains nn shapes. | Caution - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Analyze Java | Line line numbererrordescription | Moderate - Java Warning | Appears 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 Compiled | The 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 Warning | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Custom Code | Whenever possible, avoid custom HTML in the frame source for ease of maintenance and upgrade. | Caution - Maintainability | Appears 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 Code | Whenever possible, define styles in the skin and avoid custom JS for ease of maintenance and upgrade. | Caution - Maintainability | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Custom Data Retrieval Code | Use 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 - Maintainability | Appears 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 scalar | These 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 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 scalar | These 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 - Performance | Appears 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 Insensitive | Case 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 - Performance | Appears 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 Alias | Usage of property alias is not recommended in List Views. Use an html property to format the output: properties | Caution - Performance | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
format | Some characters in the stream are not required according to the format specification. | Moderate - Best Practice | Appears 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. |
format | String constant has more characters than the specified length. Some characters will be ignored. | Moderate - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Conflicts | nn logic conflicts. Click Show Conflicts to see details. | Moderate - Logic | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Inline Script-Style | Styles or Scripts should not be included as part of the correspondence text. They should be moved to a separate, included fragment. | Caution - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Reserved Property Name | This property name matches a reserved keyword; rename this property and update its references. | Severe - Deprecated | Appears 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_Property | A property of this name already exists within the inheritance path. Consider removing duplicate property definitions as they can negatively impact system performance. | Caution - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Unexposed Filter Properties Exist | These properties are not optimized, and filtering or grouping by them will result in very poor performance: list of properties | Severe - Performance | Appears 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 property | Calculations, 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 used | Caution - Format | Appears 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 Exist | These properties are not optimized, and displaying them may result in poor performance: list of properties | Caution - Performance | Appears 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 Exist | These properties are not optimized, and using them to join a class will result in very poor performance: list of properties | Caution - Performance | Appears 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 Exist | These properties are not optimized, and using them to join a sub report will result in very poor performance: list of properties | Caution - Performance | Appears 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 Exist | This property is not optimized, and ranking by it will result in very poor performance: property | Caution - Performance | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Best Practice Fail Warning | Best Practice : Only the highest version of a RuleSet should be unlocked. A RuleSet Version lower than the highest version is currently unlocked. | Moderate - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
ModeLiteral | Using "mode=literal" can expose the system to cross site scripting attacks - use with caution. | Severe - Best Practice | Appears 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 Styles | Whenever possible, avoid using inline style for ease of maintenance. | Caution - Maintainability | Appears 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 Directives | HTML Directives are deprecated. Use JSP for new rule instances. | Caution - Deprecated | Appears 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. |
ModeDisplay | The 'when' tag keyword '$mode-display' is deprecated. Use '!$mode-input' instead. | Caution - Deprecated | Appears 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-Generated | Whenever possible, use the Auto-Generated HTML option for ease of maintenance. | Caution - Best Practice | Appears 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. |
NoColumnFiltering | Filtering cannot be performed on a password column | Caution - Logic | Appears 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. |
NoReorderInPageGroup | Allow reordering is checked - An unordered data structure like page group cannot be reordered. | Caution - Logic | Appears 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. |
NoWrapTextInProgressiveLoad | Turn off Wrap Text when using Progressive Paging to keep row heights consistent | Caution - Logic | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
POP3 Received Date | POP3 protocol does not provide a received date. | Caution - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Custom Cookies may interfere with stateful sessions | Setting custom cookies may interfere with stateful session management | Moderate - Best Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
MapFromKeyFormat | Response Header: For XML Literal as Data type and MapFrom as Clipboard, MapFromKey should hold a well formed xml. | Severe - Logic | Appears 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. |
MapFromKeyFormat | Response Parameter: For XML Literal as Data type and MapFrom as Clipboard, MapFromKey should hold a well formed xml. | Severe - Logic | Appears 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. |
WebServiceInteroperability | WS-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 Practice | Appears 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) |
WebServiceInteroperability | WS-I Conformance: RPC/Encoded style is not WS-I compliant. | Caution - Best Practice | Appears 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.
Name | Message | Severity - Type | Reason/Steps to conform |
---|
ServicePackage_RequiresAuthentication | The 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 Practice | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Custom Code | Whenever possible, avoid using custom stylesheets in the skin and use the auto-generated styles for ease of maintenance and upgrade. | Caution - Maintainability | Appears 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 Code | Whenever possible, avoid using non auto-generated skin for ease of maintenance and upgrade. | Caution- Maintainability | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Custom Data Retrieval Code | Use 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 - Maintainability | Appears 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 scalar | These 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 scalar | These 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 - 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, 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 Insensitive | Case 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 - Performance | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
JavaScript Validation | error | Severe - JavaScript Syntax Errors | Appears 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 Validation | CSS Validation Errors | Severe - Invalid Image Requests | Appears 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 Validation | JavaScript compacting errors | Severe - JavaScript Syntax Errors | Appears 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 Performance | For performance reasons it is recommended to enable JavaScript compacting. | Moderate - JavaScript Compacting Disabled | Appears 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
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Conflicts | This rule contains nn logic conflicts. Click Show Conflicts to see details. | Moderate - Logic | Appears 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_CircumstanceIndexWarning | Can't create Circumstance Index because the following columns can't be created: column list ddl code error | Moderate - Performance | Appears 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_CircumstanceIndexWarning | Can't create property: name in class: circumstance index class | Moderate - Performance | Indicates 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_CircumstanceIndexWarning | Can't index property name because the database column is mapped to another property: name. | Moderate - Performance | Indicates 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.
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Whenever Used | Circumstanced date property does not exist in the class of the circumstanced rule | Moderate - Class Mismatch | Appears 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 Used | Circumstanced Definition does not exist in the class of the circumstanced rule | Moderate - Class Mismatch | Appears 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 Used | Circumstanced property does not exist in the class of the circumstanced rule | Moderate - Class Mismatch | Appears 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 Used | Circumstanced Template does not exist in the class of the circumstanced rule | Moderate - Class Mismatch | Appears 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.
Name | Message | Severity - Type | Reason/Steps to conform |
---|
PRPC_CircumstanceIndexWarning | Can't create Circumstance Index because the following columns can't be created: column list ddl code error | Moderate - Performance | Appears 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_CircumstanceIndexWarning | Can't create property: name in class: circumstance index class | Moderate - Performance | Indicates 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_CircumstanceIndexWarning | Can't index property name because the database column is mapped to another property: name. | Moderate - Performance | Indicates 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_CircumstanceIndexWarning | Can't save Index. message | Moderate - Performance | Appears 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.
Name | Message | Severity - Type | Reason/Steps to conform |
---|
Circumstance Conflict | The Allowed Top-Level Classes of this base expression value does not match the value value found in qualified version rule. | Severe - Logic | Appears 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 Conflict | The Allowed Top-Level Classes of this qualified expression value does not match the value value found in base version rule. | Severe - Logic | Appears 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 Conflict | The Calculate Value of this base expression value does not match the value value found in qualified version rule. | Severe - Logic | Appears 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 Conflict | The Calculate Value of this qualified expression value does not match the value value found in base version rule. | Severe - Logic | Appears 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 Conflict | The Context Execution Behavior of this qualified expression value does not match the value value found in base version rule. | Severe - Logic | Appears 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.
Condition | Message | Reason/Steps to conform |
---|
Completeness | Incomplete property name. The missing values are list of values | The indicated property has values that are not represented in the rule. Examine the property and update as appropriate for your application. |
EmptyRow | Subsequent 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. |
Unreachable | Unreachable 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. |
Unreachable | Unreachable 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 |
Unreachable | Unreachable 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 |
Unreachable | Unreachable 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 |
PropertyConflict | This cell has conflicting row and column conditions. | The indicated cell has conflicting row and column conditions. Examine the conditions and update as appropriate. |
PropertyConflict | This condition has conflicts for property name. | The condition associated with the indicated property has conflicts. Examine the conditions and update as appropriate. |
PropertyConflict | This 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