Skip to main content

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

More about report definition rules

Updated on August 31, 2020

About the pxRetrieveReportData activity

Use the Rule-Obj-Report-Definition.pxRetrieveReportData activity to run the retrieval and sorting operations, but not the formatting and display processing, of a report definition.


Specify both key parts of a report definition.

pyReportClassSelect the Applies To key part of a report definition. This might identify an internal class or class group, or an external class.
pyReportNameSelect the Purpose key part of a report definition.
pyPageName Optional. Specify the name of the clipboard page that holds the report results. If you do not specify a name, the results are included in the default Code-Pega-List page called pyReportContentPage.
pyReportParamPageName Optional. Use this parameter to override the columns returned by the report. This parameter enables you to add or remove the columns that the report returns. You can also change the sorting order of these columns.

This parameter is of class Embed-QueryInputs. The page structure is like the following example:

Embed-QueryInputs page structure

<? xml version="1.0" ?>
 <pxObjClass>Embed-QueryInputs </pxObjClass>
 <pyListFields REPEATINGTYPE="PageList">
 <rowdata REPEATINGINDEX="1">
 <pxObjClass> Embed-ReportListFields </pxObjClass>
<pyPrefix>PCO</pyPrefix>  <pySortType>ASC</pySortType>
 <pySortOrder> 1 </pySortOrder>
 <pyMaxRecords>Maximum no. of records to fetch</pyMaxRecords>
 <pyPageIndex>Page Number</pyPageIndex>
 <pyPageSize>Records per page</pyPageSize>


The system uses rule resolution to find the report definition and run it, but does not produce any HTML output display. The selection criteria of the report definition rule and the sorting requirements (recorded on the Design tab) are converted to an SQL query that is sent to the PegaRULES database.

The database results are organized into a results page of class Code-Pega-List. The name of this page is the value you provided for the pyPageName parameter.

Each embedded page contains the properties listed on the Design tab. If the Maximum Number of Rows to Retrieve field on the Data Access tab is not blank, the activity returns at most the number of embedded pages specified in the Maximum Number of Rows to Retrieve field.

However, if report paging is enabled on the User Interactions tab, only the rows for the first page are returned.


This method can return thousands of database rows and create large clipboard pages. To minimize any impact to performance, retrieve only the rows (instances) and columns (properties) that you need.

Other ways to run reports

The pzOpenAndRunReport activity runs a report definition.

You can use the <pega:chart> JSP tag to embed a chart created by a report definition in a section.

Displaying the results of a report definition report in a grid layout

You can display the results of a report definition in a grid layout within a section. The section can be referenced in a flow action or harness.

To add the layout, either drag and drop a report definition from the Application Explorer onto a section, or create the layout in the section and specify the report definition as the data source in the grid's repeating area. In the grid layout, use SmartPrompt to select Column Name values to define the grid's columns.

You can specify joins in the grid. The presentation is determined by the grid layout settings, not the report definition settings. Grid report rows are read-only and cannot be re-sorted.

Limitations for reporting on unoptimized properties

Whenever possible, optimize the properties that you use in reports. Reporting on unoptimized properties causes a performance drain on the system. Reports that use unoptimized properties in filters or selects result in a warning message in the Report Editor or the report definition. Reports that have a join filter with unexposed properties result in a run-time error.

You can view the generated Java code of a rule by clicking ActionsView Java. You can use this code to debug your application or to examine how rules are implemented.

Unoptimized decimal and double properties on Microsoft SQL Server

On Microsoft SQL Server has a size limitation for the value that a report definition can report on using the Calculation Builder to get values out of the BLOB (that is, from an unoptimized property). If a value is greater than precision 18, scale 6, Microsoft SQL server returns an error.

Have a question? Get answers now.

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

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us