Skip to main content


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

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

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

Troubleshooting: Report output shows no values for a newly exposed column

Updated on September 20, 2019

Summary

A developer asks:

"I worked with my database administrator to get a property exposed as a database column for reporting purposes.  The column is present in the database table, but my reports all show no data for that property. Why not?"


 

Suggested Approach

Note: the approach described here is for V 4.2 systems. For Versions 5.1 - 5.5, newly-exposed database columns can be populated using the Database Column Populator, part of the PRDBUTIL servlet. Consult your system's help documentation for further information.

For V 6.1, newly-exposed database columns can be populated using the Column Populator utility. See How to use the Column Populator utility.

Exposing a property as a database column does not cause that column to be populated, until the next time a row is updated.  

For example, if you expose a property LoanAmount in a work object, this column has non-null values only for newly created work objects. (The correct value for LoanAmount is stored in the Blob column for all work objects.)

However, you may need to cause these columns to be populated with data for all rows of one or more classes (such as work types). You can achieve this by running the Resaver servlet.

To start the Resaver, enter ".../ResaverServlet" in place of ".../PRServlet" in your normal Process Commander URL.  The form that appears allows you to specify which classes to resave. After you submit the ReSaver servlet form, for each row in the database containing an instance of one of these classes, the ReSaverServlet reads the row and then writes the row back out, thereby populating any newly exposed columns.

You can run this servlet while the system is active and in use by others, but it may affect overall system performance and may skip rows that are locked by other requestors.

Note:

  • Enter only one class name per line.
  • Entering a class in the Include Classes field causes only that class to be resaved.
  • Use Include Classes with descendents to resave instances in that class plus all child classes.
  • You can exclude classes by listing them in the Exclude Classes and Exclude Classes with descendents fields.
  • Click Resave to start resaver processing, which may take minutes or hours depending on the number of rows to be processed and overall system capability.
  • The default (all fields blank) is to resave nothing.

As the Resaver runs, it reports on the selections that you made and the instances resaved in each class.

CAUTIONS:

  • Plan out what you will do before running the servlet. Your goal is to resave the minimum set of classes that achieve the desired results.
  • Use the full capabilities of the form to specify which classes to include and exclude.
  • Be careful as you complete the form, especially in the Include classes with descendants area. Don't enter a class that would cause the entire database or a large portion of it to be resaved. This would result in excessive and unnecessary processing.

Here is the ResaverServlet form.

Tags

Pega Platform 7.1.1 - 7.4 System Administration Reporting Financial Services Healthcare and Life Sciences Insurance Communications and Media Government Healthcare and Life Sciences Consumer Services Consumer Services Manufacturing Consumer Services

Have a question? Get answers now.

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

Did you find this content helpful?

Want to help us improve this content?

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

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

Close Deprecation Notice
Contact us