Related to getting the "Read Fields" functionality working for a custom query executor... and related the suggestion to ensure all parameters have valid default values defined: http://jasperforge.org/plugins/espforum/view.php?group_id=83&forumid=101&topicid=65109 Making sure all parameters have a valid "defaultValueExpression" did correct the "Error:null" Read Fields error for me, however, I'm still having problem with two types of parameters: PROBLEM #1) Any parameters where I use a localized string in the defaultValueExpression, such as: <parameter name="MY_REPORT_NAME" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA[$R{NOT_AVAILABLE}]]></defaultValueExpression> </parameter> I seem to get an "Attempt to access property on undefined variable or class name" error/exception as per the full exception below: ------------------ Sourced file: inline evaluation of: ``$R{NOT_AVAILABLE}'' : Attempt to access property on undefined variable or class name : at Line: 1 : in file: inline evaluation of: ``$R{NOT_AVAILABLE}'' : { at bsh.BSHPrimarySuffix.doProperty(Unknown Source) at bsh.BSHPrimarySuffix.doSuffix(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBinaryExpression.eval(Unknown Source) at bsh.BSHIfStatement.evaluateCondition(Unknown Source) at bsh.BSHTernaryExpression.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at com.jaspersoft.ireport.designer.data.ReportQueryDialog.recursiveInterpreter(ReportQueryDialog.java:2606) at com.jaspersoft.ireport.designer.data.ReportQueryDialog$FieldReader.run(ReportQueryDialog.java:773) ------------------ So I'm guessing I should not be using a localized ($R) string in a parameters defaultValueExpression? PROBLEM #2) Any parameters where I use our custom $P{REPORT_SCRIPTLET} in the defaultValueExpression, such as: <parameter name="ToDate" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA[$P{REPORT_SCRIPTLET}.getFormattedDate()]]></defaultValueExpression> </parameter> Seems to result in a null pointer exception. I'm guessing because the ${REPORT_SCRIPTLET} parameter is not initialized for the "Read Fields" functionality? I did find if I try to instantiate by custom Report Scriptlet, such as: <parameter name="ToDate" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA[new my.company.reports.MyReportScriptlet().getFormattedDate()]]></defaultValueExpression> </parameter> That seems to work for *most* of my custom scriptlet methods, however, I'm guessing that is not the safest solution because it looks like instantiating my custom report scriptlet myself causes certain other parameters that the report scriptlet methods might depend on (such as REPORT_LOCALE) may not get set propertly. But at least it seems to work for static/independent methods in the report scriptlet that perform simple functions that don't need other parameters or environmental settings. So my questions? QUESTION #1) Any suggestions for allowing $R{} values in defaultValueExpression for parameters that will still allow the "Read Fields" functionality to work? QUESTION #2) Any feedback (ok/not ok) on trying to instantiate my custom Report Scriplet in the defaultValueExpression for parameters? Or alternate suggestions? BTW: I'm using iReport 4.5.0. Thanks!