Bonjour,
J'ai exactement le même problème.
Voici l'extrait de mon rapport :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <subDataset name="dataset-nb">
<queryString>
<![CDATA[
select sum(MaTable.nombre) AS TOTAL
from MaTable, Journal
where MaTable.idLog=Journal.idLog
and $P!{CLAUSE_DATE}
and Journal.idLog='toto'
]]>
</queryString>
<field name="total" class="java.lang.Long"/>
</subDataset>
[...]
<parameter name="CLAUSE_DATE" class="java.lang.String"/> |
Mon bout de code java :
1 2
|
jasperReport = JasperCompileManager.compileReport (report_file); |
Mon paramètre de lancement :
-p CLAUSE_DATE "date_trunc('day',Journal.dateHeure) >= date_trunc('day',CURRENT_DATE-'1 YEAR'::INTERVAL) and date_trunc('day',Journal.dateHeure) < date_trunc('day',CURRENT_DATE)"
Et mon plantage :
1 2 3 4 5 6 7 8 9 10
| [ERROR] r.Report.main(Report.java:317) - Cannot process report "C:\Users\moi\tmp-resources\rapport-13-01-09.jrxml" in output "C:\Users\moi\tmp-resources\rapport-13-01-09.pdf
net.sf.jasperreports.engine.design.JRValidationException: Report design not valid :
1. Query parameter not found : CLAUSE_DATE
at net.sf.jasperreports.engine.design.JRAbstractCompiler.verifyDesign(JRAbstractCompiler.java:258)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:140)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:148)
at com.cassidian.pharos.stats.jasper.Report.<init>(Report.java:105)
at com.cassidian.pharos.stats.jasper.Report.processReport(Report.java:175)
at com.cassidian.pharos.stats.jasper.Report.main(Report.java:310) |
Il semble que le rapport ne soit même pas valide. Bien sûr, lorsque je remplace ma clause "and $P!{CLAUSE_DATE}" par un texte en dur, ça marche.
Merci d'avance pour votre aide !!!
Partager