iReport: getting "Incompatible java.math.BigDecimal value assigned to parameter" exception - jasper-reports

I am developing report containing sub report using iReport and i am passing two external parameters in master report: the CurrWeek and CurrYear parameters. I'm passing the same parameters to the subreport.
In both reports I declared parameters as BigDecimal. When i run the report it shows the error shown bellow:
Error filling print...
net.sf.jasperreports.engine.JRException:
Incompatible java.math.BigDecimal value assigned to parameter 
CurrWeek in the WeeklyReportForOtherWeek dataset.
net.sf.jasperreports.engine.JRRuntimeException: 
net.sf.jasperreports.engine.JRException: 
Incompatible java.math.BigDecimal value assigned to parameter 
CurrWeek in the WeeklyReportForOtherWeek dataset.

This error mean that you pass wrong type from dataset to parameter.
Look at the place where you are creating (filling) dataset.

Related

JasperReports: report parameter as an argument for message bundle lookup

How to look up a particular internationalized property based on a report parameter?
This works, but is static:
$R{some_literal_string}
This works too, but is not internationalized:
$P{key_to_parameters_map_element}
What I need is:
$R{$P{key_to_parameters_map_element}}
Unfortunately, I get a pile of error messages:
Caused by: net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
1. Syntax error on token "}", delete this token
value = str("$P{key_to_parameters_map_element")}; //$JR_EXPR_ID=13$
This doesn't change anything:
$R{$P{key_to_parameters_map_element}.toString()}
Is this possible at all?
It's
str($P{key_to_parameters_map_element})
Quite intuitive, isn't it?

Talend component tPivotToColumnsDelimited generates error "The method parseObject(String) is undefined for the type Object"

I am using the component tPivotToColumnsDelimited in Talend 6.1.1. When I try to run the job I get the error message "The method parseObject(String) is undefined for the type Object".
In code view I can see the error relates to this line of Talend-generated code:
sumtPivotToColumnsDelimited_1 = Object.parseObject(row3.Amount + "")
As you can see from the process flow above, the data comes from an SQL query. The schema flowing into the tPivotToColumnsDelimited looks like this:
The tPivotToColumnsDelimited component settings look like this:
Any suggestion how to fix it?
Its clear that Talend cannot parse an Object typed variable, You need to change the type of column Ammount to other type like int, float.

JasperReports Server: Input Controls error

My question relates to an error when generating a report.
In JasperReports Server created a Single Input Control Value but when you try to generate a report I get the error:
The server has encountered an error. Please excuse the inconvenience.
Error Message
net.sf.jasperreports.engine.JRRuntimeException: Invalid type java.lang.String for parameter SelectAsset used in an IN clause; the value must be an array or a collection.
In the preview iReport everything works flawlessly. I will put the value and generates a report.
if you mean a single value by "Single Input Control Value" it should not be a collection. So
Change your SelectAsset parameter type from java.util.Collection to java.lang.String
Then redeploy your report to the server then try again.

Error while passing value to subreport in Jaspersoft Studio

I am trying to pass a long value to a subreport. It throws the following error.
net.sf.jasperreports.engine.JRException:
net.sf.jasperreports.engine.JRRuntimeException: Unknown subreport source class
java.lang.Long

JasperReports expression evaluation

Hi, I am using jasper reports 5.0.0.
the following code in jrxml throws exception
new java.text.DecimalFormat("#,###").format($P(xyz))
throws an expression evaluation exception.
Where as I change this to
new java.text.DecimalFormat("#,###").format(Double.valueOf($P(xyz))),
the exception is gone.
Why?? Any help is appreciated,
Thanks
In report Parameter Value expression of the Input parameter must be different than Input control value which you are passing through input control.