Back Forward List View form
Completing the Content tab

About List View rules

 zzz Show all 

Complete this tab to define:

TipThis tab is wide. To display more of the content, click the collapse arrow (Collapse) in the portal to temporarily hide the navigation panel. When you finish working with this tab, click the expand arrow (Expand) to display the navigation panel again.

 zzz Criteria

If you leave the Criteria array empty, the list view selects all instances of the class, up to the limit in the Page Size field (or if the Page Size field is blank, the limit in the Maximum Value field).

CautionIn the Field field, you can specify only properties that correspond to exposed columns in the PegaRULES database. By default, custom properties in your application are not exposed; they are stored in a Storage Stream (BLOB) column. However, in many cases you can expose a Single Value property as a database column, after which it can be entered here. See How to expose a property as a column.

Field

Description

Criteria

ArrayEach row of this array identifies a selection criterion. The order of rows in this array is not significant. Process Commander converts information in this array to an SQL WHERE clause.

In the Field field, you can specify only Single Value properties that correspond to exposed columns in a database table here, not properties within the Storage Stream (BLOB) column. The selection criteria can, however, depend on properties that are not Single Value mode, on properties that do not correspond to exposed columns, or on more sophisticated comparisons than provided by this tab. You can either:

  • Complete fields on the Organize tab to supplement SQL operations defined on this tab, or
  • Expose properties as columns before referencing them here.

TipAs a best practice for performance, using exposed properties as criteria on this tab is preferred over selection with fields on the Organize tab. See Pega Developer Network articlePDNPRKB-23116 How to detect and remedy the performance impact of Obj-List methods and list view reports.

Label

ArrayOptional. If you enter multiple criteria, enter a letter or letters that uniquely identifies each row, to identify this row in the Logic field.

For example, enter A for the first row, B for the second row, and so on. The Logic value must mention each label.

Field

SmartPromptEnter a property reference for a comparison. For exposed properties defined in the class corresponding to the Applies To key part of this list view rule, start the property reference with a period. You can also identify fully qualified values on other clipboard pages that are always present on the clipboard, such as the requestor page or process page.

NoteIf the Type of this property is TextEncrypted, special instructions apply to the Condition, Value, and Edit Input fields. See Property rules — Implementing and using the TextEncrypted Type.

NoteIf you enter .pxObjClass here and the Applies To key part of this list view rule is a framework class, at runtime the report execution can use the corresponding implementation class, not the framework class, for comparisons and report content. This feature eliminates the need to copy each framework class-based list view report into the implementation class. To enable this capability, select the Report on Descendant Class Instances check box on this tab.

Caption

Optional. Enter text to name this row of the array. If you do not specify a caption, the Field name will be used.

Condition

Select a comparison condition, such as Is Equal or Starts With.

Value

Enter a comparison value, one of the following:

  • A literal constant, formatted in accordance with the property type. See Constants in expressions. To compare the value with multiple literal constants, surround each with double quote characters and separate them with commas. (Place a backslash character / before any double quote character that appears within the constant.) As described below, you can click the magnifying glass icon (Magnifying glass) in some situations to review current clipboard values for the property identified in the Field field.
  • A fully qualified property reference to a Single Value property that is present on the clipboard at runtime. The Type of this property must match the Type of the property in the Field field.
  • A fully qualified property reference to a Value List or Value Group property present on the clipboard at runtime. The Type of this property must match the Type of the property in the Field field. To compare the value with multiple Value List or Value Group properties, separate the names with a comma.
  • The keyword param followed by a period, followed by a parameter that is defined on the parameter page of the calling activity.
  • A period followed by the name of a Single Value property that is exposed as a column. This allows selection based on comparing the values of two properties in the same instance (the same database row), if the types of the properties are identical or comparable.
  • A symbolic date, for a Date or DateTime value. When the list value rule executes, this symbolic reference is converted to an actual date or date range based on the time zone of the user and the Condition value. For example, if the user selects Last Year and the Condition value is IS EQUAL TO, the result is a date range between January 1 and December 31 inclusive, of the previous calendar year.

If the Condition field is set to IS NULL or IS NOT NULL, leave this field blank.

Commas correspond to an OR test: if the Value field contains two or more entries separated by commas, the comparison is true at runtime if the value of the Field field equals (or is greater than, or is contained in, and so on) any one of the entries.

Similarly, when the Value field contains a Value List or Value Group property reference, the comparison is true at runtime if the value of the Field field is true for any element in the list or group.

When evaluating either of the two Condition values Greater or Greater or Equal at runtime, the result is the same as applying the test to the largest value in a list or group. Similarly, when evaluating the Condition values Less or Less or Equal at runtime, the result is the same as applying the test to the smallest value in the group or list. The Value List and Value Group options are most useful for other condition values, such as Contains or Starts with.

Using the Pick Values pop-up window

For guided assistance in completing this field, click the magnifying glass icon (Magnifying glass). A pop-up window appears with one or more of these tabs:

  • Available Values — The system searches the column in the database corresponding to the property in the Field field to collect and display up to 1,000 values for the Field property in a new window. To add literal values to the Value field, check one or more boxes and click  Apply . (You can also type literal constants directly, whether or not they appear on this list.) This tab appears at runtime only to users who hold the standard privilege @baseclass.ShowStoredValues. For such users, it is visible at runtime when the Display Available Values? box in the Prompt Settings area is selected.
  • Valid Values — The system presents values from the Table Edit tab of the property rule referenced in the Field field. To add literal values to the Value field, check one or more boxes and click  Apply  . This tab appears at runtime when the Display Valid Values? box in the Prompt Settings area is selected.
  • Compatible Columns — The system lists exposed properties with the same Type as the property in the Field field, as candidates for this field. This tab appears at runtime when the Display Compatible Columns? box in the Prompt Settings area is selected.
  • Time Periods — For a property of type Date or DateTime, allows the selection of a symbolic date such as Yesterday or Current Year.
NoteFor security reasons, list view rules to be executed on a web node as part of a Pega composite application cannot use parameter values as selection criteria.
Default Value

Enter a comparison value to be used when you do not specify a value in the Value field.

Edit Input

SmartPromptOptional. Identify an edit input rule to convert the value from the format supplied by the Value field to another format. (If you identify a custom activity in the Activity Name field, the activity must access and apply these rules to input values.)

Ignore Case

Select to cause runtime tests or comparisons of the Field value and the Value value to occur after the system converts both to uppercase. If selected, then at runtime "a" matches "A" and is less than "B".

Clear to cause tests of the Field value and the Value value to occur without case conversion. In this case, "a" is greater than "A" and also greater than "B"

CautionIn most cases, leave this box cleared. Select this box only when truly necessary to obtain the rows of the report:

  • If your PegaRULES database is hosted by Microsoft SQL Server, comparisons are always case-insensitive, so selecting this box does not affect the report contents, but may add processing.
  • If your PegaRULES database is hosted by Oracle, IBM UDB or most other database vendor products, selecting this box may affect which rows appear in the report when values occur in mixed case. However, conversion to uppercase can significantly slow database processing.
  • Case conversion is meaningful only for properties of type Text, Identifier or Password. Regardless of database software, case conversion is not needed for numbers, dates, or text that contains only uppercase or only lowercase characters.

See Pega Developer Network article PDNPRKB-25511 How to correct the Case Insensitive warning for list view rules.

Use Null*

This box is meaningful only when the entry in the Value field is not a constant. By default, if the value for the Value field is null at runtime, the system ignores the criterion defined by this row; processing is the same as if this criterion row is not present.

For example, assume the criteria in a row is:

IsNull Example

If this list view rule executes at a time when Param.Letter has the value "C", this criterion limits the report to contain only instances in which the Lastname property value starts with the letter C. However, if the same rule executes again when the Param.Letter parameter has no value, this criterion is dropped, so instances with any Lastname value (or none) are selected.

In situations where this default behavior is not desirable, select the Use Null* box to force the Condition value to become Is Null when the Value value is blank at runtime. In the above example, the criterion is transformed to "Lastname is null" — quite different from having no restriction on Lastname.

Logic

Optional. Using the labels entered in the Criteria array, enter a logical expression that defines how the system combines the criteria into an overall Boolean value at runtime. The expression can include parentheses and the operators AND and OR.

For example, if the table contains four rows labeled A, B, C, and D, you can enter:

(A OR B OR C) AND D

in this field. This notation is the same as for the logic statement in when condition rules.

If you leave the Logic field blank, the system selects only instances for which all criteria rows are true.

Convert criteria values from Locale values?

Select to cause runtime conversion of user-supplied values for parameters from a locale-specific format to the internal representation. When selected, the system attempts to convert literal values or parameter value for numbers (Integer, Double, or Decimal), DateTime, and Date, specified in the Criteria section or trend section from a locale-specific format.

If not selected, users must enter parameter values and literal values for DateTime parameters in the form MM/DD/YY HH:MM AAA.

When selected, the system converts user inputs from the locale-specific format occurs before the activity specified in the Activity Name field runs. The system applies any edit input rules specified in the Criteria array after the conversion but before the activity runs.

For example, if the user's locale is FR (France), an input of 3,142 for a Decimal criterion corresponds to the input 3.142 from a user with a United States locale. Similarly, a user in France can input of 4/7/6 for July 4, 2006. A United States user enters this date as 7/4/6. The French-locale user can enter 1.000.000 for an Integer value of one million.

 zzz Prompt Settings

Click the Configure button to view or alter prompt settings. These determine the extent to which report users at runtime can view or alter report criteria.

When one or more criteria allow All Access or Value Only, the Customize List Criteria link appears at runtime.

NoteIf a user adds a list view report to the Monitor Activity workspace as a favorite, the report allows list criteria to be changed, and the Save Criteria with the results? option is selected, a Save Preferences button appears at runtime. The user can save criteria values for later reuse. See WorkManager portal — Working in the Monitor Activity workspace.

Field

Description

(no label)

Select whether to use the default prompt settings or define custom settings.

AdvancedWhen you select Custom, the form changes. Identify on the Pages & Classes tab the class and page name of a page that can hold prompt values. Create and reference a section rule in that class to collect each prompt value. Use the standard HTML property rule Reporting_SymbolicDates if you want to allow the user to select a symbolic date for a Date or DateTime property. You can also identify a section to hold report output and criteria values.

Label

This label corresponds to the label defined in the criteria row.

Property

This field is corresponds to the field specified in the criteria row.

Prompt Mode

SmartPromptSelect a value to determine how a user of this report can modify the criterion in this row, when either prompted before report execution or through use of the Customize Summary Criteria link:

  • No Access — No part of this row is visible in either prompting or the Customize Summary Criteria display.
  • Read Only — The criterion row is visible but users cannot alter the criteria.
  • All Access — The criterion appears. Users can change the Field, Condition, and Value fields.
  • Value Only — The criterion appears. Users can change the Value field. (This is the default Prompt Mode value.)
Prompt user before executing the report?

Select to cause the system to display the criteria to users who request this report, before the system executes the list view report.

NoteWhen selected, at least one Criteria row must allow user input; the Prompt Mode for at least one row must not be No Access or Read Only.

Display criteria with the results?

Select to cause the criteria (both prompts and values) used to appear as part of the report output.

TipAs a best practice to avoid confusion or error, select this option if the report user is allowed to change report selection criteria. If not selected, the output for a single report may vary from user to user for no easily detected reason — because the users have different saved criteria.

Display Available Values?

Select to display at runtime a list of up to 1,000 values for a property referenced in the Field field. The system searches saved instances of the class until it finds 1,000 distinct values.

User selections apply to the Value field for the current execution of the report. This check box is meaningful only when Prompt user? is selected and one or more rows of the criteria allow users to enter values.

Display Valid Values?

Select to make available to users at runtime a list of values based on the Table Edit tab of the property referenced in the Field field.

The user's selections apply to the Value field for the current execution of the report. This check box is meaningful only when Prompt user? is selected and one or more rows of the criteria allow users to enter values.

Display Compatible Columns?

Select to make available to users at runtime a list of properties eligible for comparison. These are properties in the Applies To class (or an ancestor class) that are exposed as columns and match the Type of the property referenced in the Field field.

The user's selection at runtime applies to the Value field, for the current execution of the report. This check box is meaningful only when Prompt user? is selected and one or more rows of the criteria allow users to enter property names.

Search Button Label

Enter a text string to display on the search button.

 zzz Get These Fields

Identify the properties to be retrieved for instances selected by the criteria above. Include the properties listed on the Display Fields tab (or the properties needed to compute or derive those listed on the Display Fields tab).

If you specify sorting, the order of rows in this array is significant. The first sort listed is the major sort.

TipFor performance reasons, list only the properties needed to support the presentation, computations, filtering, and sorting of the report. Including unused properties in this array increases the processing, bandwidth, and memory demand of this list view rule.

Field

Description

Get These Fields

Array

Field

SmartPromptEnter a property reference in the class corresponding to the Applies To key part, or in an ancestor superclass. Start the property reference with a period.

You can specify any property in the class, including aggregate properties. However, performance is better when the properties that appear here correspond to exposed columns in the PegaRULES database table.

Sort

Select Ascending, Descending, or No Sorting to control whether and how this property affects sorting the rows of the report.

NoteSorting specified in this field occurs within database software and uses sort algorithms provided by the database software vendors. In unusual cases, the sort sequence may not match your needs. Additional sorting can occur later on the Process Commander server, as specified in the Organize tab.

Get DISTINCT records

Select to eliminate duplicate records in the view.

Get Row Key

Select to have the report display the key field for each row.

 zzz Key Of A Row

A list view report can allow users to select a row and operate on that row, starting execution of an activity or JavaScript function specified in the Events Handling area of the Format tab.

A report based on an internal class can support this capability. Reports on external classes can support this capability if a single property is the unique key of instances.

To support processing after users select a row, identify the property that forms the key to rows of the database table on which this list view operates.

Select customerID as “pxInsHandle”

Field

Description

Key of a Row

For an internal class, enter pzInsKey with no leading period. For an external class, enter the name of the property that uniquely identifies a row, with no leading period.

For an example, see the standard list view rule Log-License-Usage-Daily.List.ALL, which identifies rows by the pzUsageDay property, a timestamp.

 zzz Report Source

Field

Description

Report Source  
Content Page Name

Enter a clipboard page name to contain the report contents. (You can't use pxResults as the name of this page.)

Activity Name

SmartPromptIn most cases, accept the default getContent activity. Identify an activity that applies to the Embed-ListParams class to support processing of results from the database operation.

TipWhen reporting on rules, you can select getContentForProfile to limit rules to those that are accessible on the report requestor's RuleSet list.

zzzIf you implement a custom activity for unusual reporting needs, choose a name other thangetContent, and identify the activity in this field. Your activity can derive report contents from various means and sources, such as access to external databases through connector rules and calculations, but must place the results on the page named in the Content Page Name field and enforce the Maximum Value limit.

A few list view capabilities are disabled when an activity other than getContent is used here. See Customizing getContent Activities in the Pega Developer Network article PDNPRKB-14593 How to Get Started on V4.1 Reporting for more information on custom activities for this field.

GetContent activities and external classes

AdvancedAdditional considerations apply when an activity identified here accesses instances of an external class:

1. Design the activity to use an SQL alias named pxInsHandle for the key of the external table. For example:

SELECT CUSTOMERID as "pxInsHandle"

2. Use only columns of the external table that conform to Process Commander data type conventions, as follows:

Property type

Database

Text varchar or char
DateTime Date or DateTime
Date varchar(8)
TrueorFalse varchar(5)
Number numeric data type, such as smallint
Integer numeric data type, such as smallint
Decimal numeric data type, such as decimal
TimeofDay varchar(9)
Maximum Value

Optional. Enter a maximum number of instances to retrieve for the report contents. As a best practice during testing, accept the default value 500. If you leave this blank, the system enforces a limit of 9,999.

This field is disabled — and the value is ignored — when the Enable Paging? field on the Organize tab is selected.

TipYou can set another default value for this field, both for the rule form, and for the Report Wizard. Override the default model named Rule-Obj-ListView.pyDefault and set the initial value of property pyContentSource.pyMax to the desired limit.

Display Count of Records?

Select to include a message at the top of the output display if not all rows that meet the selection criteria are included in the report output. The message is:

Found more than the maximum number of records (nnn)

where nnn is the Maximum Value limit. If all records are displayed, a record count appears.

Displaying nnnn records

Clear to disable this message. This option is enabled by default for new reports you create and disabled for reports created in versions prior to V5.5.

Read Only

Select in most cases to mark the Code-Pega-List page returned by this list view at runtime as "read-only", meaning that later processing cannot alter the values of properties on the embedded pages. This has multiple benefits: .

  • The report display always matches data exactly as retrieved from the database; it cannot be altered through post-processing.
  • Internal processing reuses certain clipboard pages, reducing database access and improving performance.

Clear this box if the Edit In Excel option (on the Organize tab) is checked, or if your application requires processing of the embedded pages.

If this list view uses the facilities of the Join tab, this box must be checked.

AdvancedWhen the results page is marked as read-only, later processing can delete embedded pages (for example, with the Page-Remove or Obj-Filter method) but cannot alter the contents of the embedded pages. Any attempt to alter the embedded pages produces an exception, such as:

SQLError - There was a problem getting a list — Illegal 0 length operation

Cannot update — page is read-only

Use alternate database?

Advanced Select to indicate that list view processing is to use the database identified in the Reports Database field of the Data-Admin-DB-Table instance that supports the Applies To class of this list view. See How to use a reports database.

Chose this option only if the Reports Database field is not blank and identifies a database table that is replicated from the production PegaRULES database. If the report uses JOIN operations that draw from multiple database tables, all tables must be in the same reports database.

When this option is selected, at runtime the report uses data from the alternate database. It set property pyUseAlternateDb to true on the top-level output Code-Pega-List page.

Report on Descendant Class Instances

AdvancedSelect to cause this report, at runtime, to use an implementation class derived from the current rule's Applies To class as the source of report contents.

Select this to allow one list view rule, saved in a framework class, to execute against the work objects in an implementation class. This capability reduces the number of rules needed when building an implementation of a framework.

This check box is effective only if the Applies To class of this list view rule is derived from the Work- base class.

To determine the Work- class actually used in report execution, use the Tracer tool, or, from the list view display, right-click and select View Source from the browser menu; search for ViewClass.

 zzz Sub-Classes

This array appears only when the Applies To key part of the list view corresponds to a class group.

Field

Description

(n)

Add rowOptional. Identify a work type within the class group. The list view output may include properties from this class (work type) when they exist. For example, if the class group has three work types, you can report on properties defined in the first type even though these properties do not exist for the other two types.

Note'If this work type is derived from Work-, choose carefully whether you want to join to an implementation class , or in a framework class. At runtime, list view rules with a framework class in this field can report on work objects in the associated implementation class, if the Report on Descendant Class Instances option is selected.

 zzz Security

To execute a list view rule, users must hold an access role that provides:

Optionally, you can further restrict the ability to execute this list view rule, to only those users who hold any one of a list of privilege rules. Order is not significant in this array.

Class SmartPromptOptional. Select a class that the system can use to find the Applies To key part of a privilege rule.
Privilege

SmartPromptOptional. Select the Privilege Name key part of a privilege rule.

The system uses the Class and Privilege values with class inheritance to look for the privilege rule.

Web Enabled?

SmartPromptOptional. Select to allow this list view rule to be executed on a web node, as part of a Pega composite application. If selected, users of a Pega composite application can display this report, if the normal access roles, RuleSet list, and privileges requirements are met.

If not checked and a user at a web node attempts to execute this list view rule, the rule does not run and a security exception is added to the Alert log.

zzz About List View rules