rene.beck Posted December 14, 2020 Posted December 14, 2020 HiI have a parameter mand_id <parameter name="mand_id" class="java.lang.Integer"> <parameterDescription><![CDATA[MandId]]></parameterDescription> </parameter>and I pass this parameter to a subreport. <subreportParameter name="MAND_ID"> <subreportParameterExpression><![CDATA[new Integer(Integer.valueOf($P{mand_id}))]]></subreportParameterExpression> </subreportParameter>If I run this report on windows in the jaspersoft Studio, it runs perfect. runnning on linux I get this exception and I don't know how to fix.java.lang.RuntimeException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new Integer(Integer.valueOf($P{mand_id})) at com.swisslog.antalis.genpdf.GenPdf.print(GenPdf.java:444) ~[GenPdf.jar:SVN: 436767, Build: 2020-12-09T16:22:26] at com.swisslog.antalis.genpdf.GenPdf.printVersandlabelReport(GenPdf.java:328) ~[GenPdf.jar:SVN: 436767, Build: 2020-12-09T16:22:26] at com.swisslog.antalis.genpdf.GenPdf.run(GenPdf.java:156) ~[GenPdf.jar:SVN: 436767, Build: 2020-12-09T16:22:26] at com.swisslog.antalis.genpdf.GenPdf.main(GenPdf.java:86) ~[GenPdf.jar:SVN: 436767, Build: 2020-12-09T16:22:26]Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new Integer(Integer.valueOf($P{mand_id})) at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:291) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:618) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:586) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRFillSubreport.getParameterValues(JRFillSubreport.java:686) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateParameterValues(JRFillSubreport.java:484) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:464) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:351) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:281) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:504) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2029) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:262) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:122) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:555) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:396) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:91) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:456) ~[jasperreports-6.1.1.jar:6.1.1] at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:863) ~[jasperreports-6.1.1.jar:6.1.1] at com.swisslog.antalis.genpdf.GenPdf.print(GenPdf.java:396) ~[GenPdf.jar:SVN: 436767, Build: 2020-12-09T16:22:26] ... 3 common frames omittedCaused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at versandlabel_1607957341918_955029.evaluate(versandlabel_1607957341918_955029:363) ~[na:na] at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:277) ~[jasperreports-6.1.1.jar:6.1.1] ... 21 common frames omitted
gustavofarias Posted December 14, 2020 Posted December 14, 2020 what's the point of this?new Integer( Integer.valueOf( $P{mand_id} ) )If mand_id is already an Integer, why all this? What's the type of the parameter in the subreport (MAND_ID)?
rene.beck Posted December 15, 2020 Author Posted December 15, 2020 in the subreport mand_id is also INTEGER <parameter name="MAND_ID" class="java.lang.Integer"> <parameterDescription><![CDATA[mand_id aus Hauptreport]]></parameterDescription> </parameter> even if I pass directly the parameter mand_id from the main report (which is also Integer) I get the same error, but only on linux. anyway, I found a workaround for my problem. I defined a Variable <variable name="mandIdInt" class="java.lang.Integer"> <variableExpression><![CDATA[new Integer(Integer.valueOf($P{mand_id}))]]></variableExpression> </variable> and pass this to the subreport. best rené
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now