<p>Trying again because I didn't get any responses to my first attempt.</p>
<p> </p>
<p>Getting a "parameters" error when running a handful of BIRT reports in a 7.6 Maximo instance. The exact reports run fine in Maximo 7.5.</p>
<p> </p>
<p>Does anyone have any suggestions?</p>
<p> </p>
<p>The error received is: "There was an exception on the server. Check your report parameter values, or contact your system administrator, who can find additional details in the server log"</p>
<p> </p>
<p>The logs almost look like they're not processing the sql statement properly. Here's a snippit of the log. I have also attached report itself:</p>
<p> </p>
<div>A BIRT exception occurred. See next exception for more information.</div>
<div>Wrapped com.ibm.tivoli.maximo.report.script.MXReportRuntimeException: java.lang.NullPointerException (/report/data-sets/script-data-set[
@id=&quot;5"]/method[
@name=&quot;open"]#3).</div>
<div>at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99)</div>
<div>at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)</div>
<div>at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:98)</div>
<div>at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open(ScriptDataSetRuntime.java:80)</div>
<div>at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.java:247)</div>
<div>at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223)</div>
<div>at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1208)</div>
<div>at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)</div>
<div>at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)</div>
<div>at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)</div>
<div>at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)</div>
<div>at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:83)</div>
<div>at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)</div>
<div>at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)</div>
<div>at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)</div>
<div>at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)</div>
<div>at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)</div>
<div>at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)</div>
<div>at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)</div>
<div>at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)</div>
<div>at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)</div>
<div>at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)</div>
<div>at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:258)</div>
<div>at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:269)</div>
<div>at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:86)</div>
<div>at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1344)</div>
<div>at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)</div>
<div>at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)</div>
<div>at org.eclipse.birt.report.service.actionhandler.BirtGetPageActionHandler.__checkDocumentExists(BirtGetPageActionHandler.java:58)</div>
<div>at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.prepareParameters(AbstractGetPageActionHandler.java:118)</div>
<div>at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:103)</div>
<div>at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)</div>
<div>at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)</div>
<div>at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)</div>
<div>at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87)</div>
<div>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div>
<div>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)</div>
<div>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)</div>
<div>at java.lang.reflect.Method.invoke(Method.java:620)</div>
<div>at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)</div>
<div>at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)</div>
<div>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div>
<div>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)</div>
<div>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)</div>
<div>at java.lang.reflect.Method.invoke(Method.java:620)</div>
<div>at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)</div>
<div>at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)</div>
<div>at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)</div>
<div>at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)</div>
<div>at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)</div>
<div>at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)</div>
<div>at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)</div>
<div>at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)</div>
<div>at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)</div>
<div>at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)</div>
<div>at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)</div>
<div>at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)</div>
<div>at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)</div>
<div>at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)</div>
<div>at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)</div>
<div>at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)</div>
<div>at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)</div>
<div>at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)</div>
<div>at com.ibm.tivoli.maximo.report.birt.bridge.launcher.BridgeServlet.service(BridgeServlet.java:126)</div>
<div>at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)</div>
<div>at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1385)</div>
<div>at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:194)</div>
<div>at com.ibm.tivoli.maximo.report.birt.servlet.ReportRequestProcessServlet.processReportRequest(ReportRequestProcessServlet.java:1012)</div>
<div>at com.ibm.tivoli.maximo.report.birt.servlet.ReportRequestProcessServlet.doPost(ReportRequestProcessServlet.java:151)</div>
<div>at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)</div>
<div>at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)</div>
<div>at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)</div>
<div>at com.ibm.tivoli.maximo.report.birt.servlet.ReportRequestFilter.doFilter(ReportRequestFilter.java:82)</div>
<div>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)</div>
<div>at psdi.webclient.system.filter.HttpCrossSiteScriptingSecurity.doFilter(HttpCrossSiteScriptingSecurity.java:66)</div>
<div>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)</div>
<div>at psdi.webclient.system.filter.HttpXFrameOptionsFilter.doFilter(HttpXFrameOptionsFilter.java:38)</div>
<div>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)</div>
<div>at psdi.webclient.system.filter.MTContextFilter.doFilter(MTContextFilter.java:53)</div>
<div>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)</div>
<div>at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)</div>
<div>at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)</div>
<div>at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:940)</div>
<div>at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)</div>
<div>at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)</div>
<div>at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)</div>
<div>at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)</div>
<div>at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)</div>
<div>at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)</div>
<div>at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)</div>
<div>at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)</div>
<div>at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)</div>
<div>at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)</div>
<div>at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)</div>
<div>at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)</div>
<div>at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)</div>
<div>at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)</div>
<div>Caused by: org.eclipse.birt.data.engine.core.DataException: Fail to execute script in function __bm_OPEN(). Source:</div>
<div>
</div>
<div>" + </div>
<div>maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());</div>
<div>maximoDataSet.open();</div>
<div> </div>
<div>reportContext.setPersistentGlobalVariable("siteDescription", getSiteDescription(this.getDataSource().getName()));</div>
<div>reportContext.setPersistentGlobalVariable("reportName", getReportName(this.getDataSource().getName()));</div>
<div> </div>
<div>var sqlText = new String();</div>
<div>//params["where"] = "1=1";</div>
<div> </div>
<div>// Add query to sqlText variable.</div>
<div>sqlText = "select distinct " +</div>
<div>"warrantyview.description, warrantyview.vendor, companies.name, warrantyview.contractnum, " + </div>
<div>"decode(warrantyview.isexpired, 0, 'N', 'Y') isexpired, " +</div>
<div>"asset.assetnum, asset.description as adescription, asset.plustyear, asset.manufacturer, " +</div>
<div>"asset.plustmodel, asset.assettype , asset.status " +</div>
<div>"from maximo.warrantyasset, maximo.warrantyview, MAXIMO.companies, maximo.asset " +</div>
<div>"where warrantyasset.contractnum = warrantyview.contractnum " +</div>
<div>"and asset.assetid = warrantyasset.assetid " +</div>
<div>"and warrantyview.vendor = companies.company (+) " +</div>
<div>"ORDER BY warrantyview.contractnum " ;</div>
<div> </div>
<div>/*"select asset.assetnum, asset.description, asset.plustyear, asset.manufacturer, " +</div>
<div>"asset.plustmodel, asset.plusteqtype, asset.plustopstatus, " +</div>
<div> //--warrantyasset.warrantyassetid, " + </div>
<div>"asset.description, asset.vendor, companies.name " +</div>
<div>//--, asset.vendorwarrantyid</div>
<div>//--asset.inactive </div>
<div>"from MAXIMO.asset, MAXIMO.companies, maximo.warrantyview " + //--, maximo.plustwarrtrans " +</div>
<div>//--and WARRANTYASSET.siteid = asset.siteid " +</div>
<div>"where asset.vendor = companies.company (+) " + </div>
<div>"AND asset.vendor = warrantyview.vendor(+) " +</div>
<div>"AND " + params["where"]</div>
<div>//--and warrantyasset.assetid = asset.assetid " +</div>
<div>//--and plustwarrtrans.assetnum = asset.assetnum " +</div>
<div>*/</div>
<div>;</div>
<div> </div>
<div>maximoDataSet.setQuery(sqlText);</div>
<div> + "</div>
<div>
</div>