Support Article
SQL error when running reports that use UDFs
SA-21310
Summary
Users are unable to run reports that use the Pega User Defined Functions (UDFs), and they encounter a SQL error.
Error Messages
Java stored procedure or user-defined function "PEGA.PR_READ_FROM_ST", specific name "SQL160116084303200" could not load Java class "/home/db2/sqllib/function", reason code "".. SQLCODE=-4304, SQLSTATE=42724, DRIVER=3.58.81
Steps to Reproduce
Run a report definition that reports on unexposed properties.
Root Cause
A defect or configuration issue in the operating environment
This issue was encountered in a Disaster Recovery (DR) system that was replicating from the live production system. Replication of database content included all of the schema objects, but did not copy over the UDF classes installed in the production database. Because of this, the underlying classes for the Pega UDFs were not present and they could not be run.
Resolution
According to IBM documentation on the High-Availability Disaster Recovery (HADR) replication technology, classes and libraries included in the user function path must be manually replicated. They are not automatically copied by HADR. See the IBM article on "How to configure DB2 HADR using Data Sources", Reference #1665033, for how to avoid this kind of issue with database replication technology.
To solve this problem if you are experiencing the error, you should drop and reload the functions. See Support Article SA-15921 for further information on how to drop and reload the UDFs: https://pdn.pega.com/support-articles/how-install-user-defined-functions.
Published April 15, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.