Skip to main content

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.

Support Article

ORA-29541 in a report DirectStreamReader could not be resolved



You have a report that has a reference to a non-exposed property.
Executing the report yields this error, ORA-29541: class could not be resolved

Compiling the various JAVA classes based on the PDN article does not help as many of the Classes still remain un-compiled. The message reported is "ORA-24344: success with compilation error".

Error Messages

ORA-29541 log error when running a report, DirectStreamReader could not be resolved

Steps to Reproduce

Run a report definition that has an unexposed column.

Root Cause

The root cause of this problem is defect/misconfiguration in the PRPC operating environment. The movement of the operating environment from one level to the next was done with native database tools. The Java code for the UDF functions was not moved, though the function prototype definitions were present in the database.


This issue is resolved through the following local change:

You need to install the UDFs again after an install. This is true if they become broken due to databases being manipulated or moved using native DB tools.

A change is made to the OOTB setupDatabase.xml and install.bat/sh to allow a turnkey solution that makes use of the existing installation infrastructure.

This implementation requires that the be configured as described in the installation documentation.

Step (1)

A change is made to setupDatabase.xml to add this target - the file is saved as updateUDF.xml.


<!-- Install the UDF functions only used by installUDF.bat -->
<target name="udfInstall" depends="Initialization, Configuration,
 UDF Generation">

  <echo message="UDF install complete."/>


Step (2) from windows
This change is made to install.bat and the file is saved as installUDF.bat

rem Invoke our ant script, passing in the arguments as collected
echo Invoke our ant script, passing in the arguments as collected

call "%ANT_HOME%\bin\ant.bat" %ANT_PROPS% -f updateUDF.xml udfInstall

if not (%errorlevel%)==(0) goto Error

Step (2) from unix
This change is made to and the file is saved as

# Run Ant, given the configuration we collected
"`dirname "$0"`/bin/ant" $ANT_PROPS -f ./updateUDF.xml udfInstall

Note that the UDF functions must be dropped from the database before this script is run.

At this point you run either the installUDF.bat or script to reinstall the UDF functions.
Suggest Edit

Published March 21, 2016 - Updated October 8, 2020

Did you find this content helpful? Yes No

Have a question? Get answers now.

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

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

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us