Support Article
Report Definitions throwing ORA-29540 UDF does not exist
SA-11534
Summary
User is unable to use properties in embedded page for Report Definition because an Oracle database error occurs. There is no problem when using properties inside embedded pages for List View.
Error Messages
** ** There was a problem getting a list: code: 29540 SQLState: 99999 Message: ORA-29540: class com/pega/pegarules/data/udf/directstreamreader/DirectStreamReader does not exist
Steps to Reproduce
- Create a Report Definition.
- Include unexposed properties that are in embedded pages.
Root Cause
Pega User-Defined Functions (UDFs) are not installed or not functioning correctly.
Resolution
Perform the following local-change to the operating environment:
- Create a configuration file named user-deployudf.properties.
In the example below, it is saved to a directory in the distribution media. - Set it so that it contains the following information, but specify your connection information:
oracledate.jdbc.class=oracle.jdbc.OracleDriver
dev.oracledate.url=jdbc:oracle:thin:@<HOST>:<PORT>:<DB Name>
dev.oracledate.username=<PegaUser>
dev.oracledate.password=<password>
dev.oracledate.schema=<PegaSchema> - Update the command below to reference the locations of the specified files:
java -cp "<PRPC_MEDIA>\scripts\prdeploy.jar;<PRPC_MEDIA>\scripts\ojdbc6.jar" com.pega.pegarules.install.DatabaseLibraryLoader --config="<PRPC_MEDIA>\archives\udf\user-deployudf.properties" --profile=dev.oracledate "<PRPC_MEDIA>\archives\udf\prreadstream.jar"
prdeploy.jar – Should be in the scripts directory of the distribution media
ojdbc6.jar – Is not included in the media
user-deployudf.properties – Was created in Step 1
Prreadstream.jar – Should be in the \archives\udf directory of the distribution media
- After updating the command, run it. This places the classes in the database.
- Run the scripts in the \schema\oracledate\install\udfstatements directory of the distribution media.
Published April 30, 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.