Project and Portfolio Management Practitioners Forum
cancel
Showing results for 
Search instead for 
Did you mean: 

Report fails to execute

Highlighted
EngPlan
Member

Report fails to execute

I am attempting to run a custom report in PPM v9.11.  When the report runs, I receive the following error:

 

Running report/web/knta/rpt/custom_LoginReport.jsp

Posting report request to http://xxx.xx.xxx.xxx:8080/itg/servlet/RunJspReport

Error running report. For input string: "[RP.REPORT_CREATED_BY]"

 

java.lang.NumberFormatException: For input string: "[RP.REPORT_CREATED_BY]" at com.kintana.rpt.server.KSCRunJspReportCommand.logError(KSCRunJspReportCommand.java:283) at com.kintana.rpt.server.KSCRunJspReportCommand.execute(KSCRunJspReportCommand.java:231) at com.kintana.core.server.execution.CommandRunner.run(CommandRunner.java:106) at java.lang.Thread.run(Thread.java:662)
 
Any help would be appreciated.
17 REPLIES
Niraj Prabhu
Frequent Visitor

Re: Report fails to execute

Hi,

 

How are you initiating this report to run? I am assuming that you are missing to pass the value to the token [RP.REPORT_CREATED_BY]

 

see following sample,

 

ksc_run_jsp_report /web/knta/custom_Report.jsp  

REPORT_ID=[RP.REPORT_SUBMISSION_ID]  

USER_ID=[RP.CREATED_BY]  

OUT_BASEFILE=[RP.FILENAME]  

ksc_end_report_parameters  

 

Regards,

Niraj

Niraj P.
EngPlan
Member

Re: Report fails to execute

Here is the exact code:

 

ksc_run_jsp_report /web/knta/rpt/custom_LoginReport.jsp
REPORT_ID=[RP.REPORT_SUBMISSION_ID]
USER_ID=[RP.REPORT_CREATED_BY]
OUT_BASEFILE=[RP.FILENAME]
ksc_end_report_parameters

 

It still fails with this.

Niraj Prabhu
Frequent Visitor

Re: Report fails to execute

Try  to replace USER_ID=[RP.REPORT_CREATED_BY] with USER_ID=[RP.CREATED_BY] in the Command line. and see if this fixes the issue,

 

if not then go to the jsp file and search for created_by, you should see following entry

 

<c:set var="created_by" value="${Parameter[36]} "/>

 

Let me know

Niraj P.
EngPlan
Member

Re: Report fails to execute

Thanks, Niraj.  That took care of getting the report to run.  Unfortunately, I now get this error:

 

Running report/web/knta/rpt/custom_LoginReport.jsp
Posting report request tohttp://172.27.228.154:8080/itg/servlet/RunJspReport
Post data= 'REPORT_JSP=%2Fweb%2Fknta%2Frpt%2Fcustom_LoginReport.jsp&OUT_BASEFILE=rep_30683&USER_ID=100530&REPORT_ID=30683&SUBMISSION_LANGUAGE=AMERICAN&KEYID=31564&KEY=2000695225'
Writing report file/opt/ppm/PPM/reports/rep_30683.html
Error running report.(Cleaning up any partial report output...)
HTTP response:500 - org.apache.jasper.JasperException: /web/knta/rpt/custom_LoginReport.jsp(55,66) Unterminated <c:out tag
org.apache.jasper.JasperException: /web/knta/rpt/custom_LoginReport.jsp(55,66) Unterminated <c:out tag at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:130) at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1058) at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1377) at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577) at org.apache.jasper.compiler.Parser.parse(Parser.java:126) at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.kintana.rpt.web.servlet.RunJspReport.doPost(RunJspReport.java:90) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.kintana.core.web.filter.MLUFilter.applyFilter(MLUFilter.java:110) at com.kintana.core.web.filter.BaseFilter.doFilter(BaseFilter.java:59) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.kintana.core.web.filter.stinger.ValidationFilter.applyFilter(ValidationFilter.java:93) at com.kintana.core.web.filter.stinger.ValidationFilter.doFilter(ValidationFilter.java:66) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.kintana.core.web.filter.MultipartRequestFilter.applyFilter(MultipartRequestFilter.java:85) at com.kintana.core.web.filter.BaseFilter.doFilter(BaseFilter.java:59) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.kintana.core.web.filter.ControlFilter.applyFilter(ControlFilter.java:841) at com.kintana.core.web.filter.ControlFilter.doFilter(ControlFilter.java:1334) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.mercury.itg.servlet.I18NFilter.doFilter(I18NFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.kintana.core.web.filter.Log4jFilter.applyFilter(Log4jFilter.java:49) at com.kintana.core.web.filter.BaseFilter.doFilter(BaseFilter.java:59) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:662)
Niraj Prabhu
Frequent Visitor

Re: Report fails to execute

Good..

 

Can you restart the app server,

a) Clear Cache using sh kRunCacheManager.sh

b) stop ppm (all ppm nodes)

c) delete tmp and work folder from itg/server/<server_name>

d) Compile JSP using sh kJSPCompiler.sh

e) start ppm

 

This should clear error messages related to earlier report execution attempts

Niraj P.
Jim Esler
Honored Contributor

Re: Report fails to execute

Niraj,

 

I disagree with your advice. Nothing you recommend will cause any harm but I do not see how these steps would help in the running of a report:

 

  1. I do not see any cache associated with reports.
  2. The caches are dynamic within the PPM processes. Stopping and starting PPM wil effectively clear the caches so manually clearing them is redundant.
  3. I don't believe any information concerning individual reports is saved in the tmp and work directories.
  4. Recompiling JSP would also have no effect on reports. Even when I have made changes to a jsp file, I have had to stop and start PPM but recompiling was not necessary.
Niraj Prabhu
Frequent Visitor

Re: Report fails to execute

Jim,

 

Can you suggest engplan solution for the error message?

Niraj P.
Jim Esler
Honored Contributor

Re: Report fails to execute

The error message is reporting the following:

 

HTTP response:500 - org.apache.jasper.JasperException: /web/knta/rpt/custom_LoginReport.jsp(55,66) Unterminated <c:out tag

 

Look at those lines in that file to see if there is a code issue involving the tag that is listed.

AlexSavencu
Honored Contributor

Re: Report fails to execute

Hi,

 

this is definitely a syntax error in the JSP.

 

@Jim: if you set the JSP_RECOMPILE_ENABLED parameter to true, you don't need to restart the server - just wait as long as jboss is configured to scan for modified jsp files.

 

cheers

alex


--remember to kudos people who helped solve your problem
EngPlan
Member

Re: Report fails to execute

Hi Alex and thanks for the advice.  I do not know how to verify that jboss is configured to scan for modified jsp files.  Can you please tell me how?  Also, the parameter for PPM I assume goes into the server.conf, is this correct?  Thanks again.

AlexSavencu
Honored Contributor

Re: Report fails to execute

Hi, engplan,

 

the jboss is definitely configured for scanning the modified jsp files. Just enable the JSP_RECOMPILE_ENABLED parameter in server.conf (stop PPM, run kUpdateHtml and start PPM), and make sure the jsps for your report are located in the same path as the OOTB ones (web/knta/rpt).

 

cheers

alex


--remember to kudos people who helped solve your problem
EngPlan
Member

Re: Report fails to execute

Sorry, that didn't work either.  Here is the error I receive now and I've attached the code so if you have a minute to take a look it would be appreciated.

 

Running report/web/knta/rpt/custom_LoginReport.jsp
Posting report request tohttp://172.27.228.154:8080/itg/servlet/RunJspReport
Post data= 'REPORT_JSP=%2Fweb%2Fknta%2Frpt%2Fcustom_LoginReport.jsp&OUT_BASEFILE=rep_30973&USER_ID=100530&REPORT_ID=30973&SUBMISSION_LANGUAGE=AMERICAN&KEYID=31719&KEY=24951157'
Writing report file/opt/ppm/PPM/reports/rep_30973.html
Error running report.
(Cleaning up any partial report output...)
HTTP response:500 - org.apache.jasper.JasperException: /web/knta/rpt/custom_LoginReport.jsp(111,11) Attribute number invalid for tag out according to TLD

org.apache.jasper.JasperException: /web/knta/rpt/custom_LoginReport.jsp(111,11) Attribute number invalid for tag out according to TLD
AlexSavencu
Honored Contributor

Re: Report fails to execute

Hi, engplan,

 

I think your problem is due to the fact that the JSP is malformed.

 

check out line 111 (as stated in the error message :) ) : there is something which should not be there:

 "number=

 

let me know if this works - unfortunately I cannot run this in my environment.

 

cheers

alex

 


--remember to kudos people who helped solve your problem
EngPlan
Member

Re: Report fails to execute

So, I've been continuing down a path to get this report to work.  I now receive the following error whenever I attempt to run the report:

 

Running report/web/knta/rpt/custom_LoginReport.jsp
Posting report request tohttp://172.27.228.154:8080/itg/servlet/RunJspReport
Post data= 'REPORT_JSP=%2Fweb%2Fknta%2Frpt%2Fcustom_LoginReport.jsp&OUT_BASEFILE=rep_31516&USER_ID=100530&REPORT_ID=31516&SUBMISSION_LANGUAGE=AMERICAN&KEYID=32293&KEY=1634676766'
Writing report file/opt/ppm/PPM/reports/rep_31516.html
Error running report.
(Cleaning up any partial report output...)
HTTP response:500 - java.lang.NullPointerException

 

My code looks like this for the report:

SELECT username, count(*)
FROM knta_logon_attempts
WHERE creation_date > sysdate - <c:out value="$\{P_NUM_DAYS\}" />
GROUP BY username
ORDER BY username

 

When I run this in the SQL Runner I get positive results:

 

SELECT username, count(*)
FROM knta_logon_attempts
WHERE creation_date > sysdate - 15
group by username
order by username

 

So, my null pointer exception error must have to do with the <c:out value="$\{P_NUM_DAYS\}" /> statement (or at least I think that's it)...any suggestions?

 

Thanks.


 

Jason Nichols K
Honored Contributor

Re: Report fails to execute

You can test to see if that is what is causing your issue by hard coding a value in place of the token and then if the report compiles and runs, look at the line

 

Number of Days to Track - <c:out value="${P_NUM_DAYS}" />

 

to make sure that the token and c:out statment are parsing correctly

EngPlan
Member

Re: Report fails to execute

So, since I am not a developer per se, can you please tell me if I simply remove the token in

<c:out value="$\{P_NUM_DAYS\" /> and replace it with an integer or do I remove everything so the statement looks like this: <c:out value="5" />  ?  Thanks.

Jason Nichols K
Honored Contributor

Re: Report fails to execute

In this case, either would work.  But replacing the whole c:out statement will remove it from the equation in trying to verify that you can get the JSP to compile and run.

//Add this to "OnDomLoad" event