Galera, estou com um probleminha no iReport.
Quando tenho um subReport, tenho que definir o diretório dele.
Gostaria que ele pegasse automaticamente, o mesmo path que está o relatório pai que estou executando.
Exemplo:
Tenho o relatório estatisticas.jasper e tenho o estatisticas_sub01.jasper, que está no mesmo diretório.
Eu fiz da seguinte maneira.
Fui nas propriedades do subreport, em SubReport (Other).
Em Subreport Expression, tirei o $P{SUBREPORT_DIR} e deixei somente “estatisticas_sub01.jasper”.
Quando rodo o relatório pai, ocorre o erro:
Error filling print… Could not load object from location : estatisticas_subreport0.jasper
net.sf.jasperreports.engine.JRException: Could not load object from location : estatisticas_sub01.jasper at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLoader.java:266)
…
…
Vocês entenderam o problema?
Eu queria deixar todos relatórios inclusive os subrelatórios, na mesma pasta, para meus relatórios ficarem independentes de onde estão (diretórios).
String pathRel = getServlet().getServletContext().getRealPath("/WEB-INF/classes/xxx/xxx/etc.jasper");
String pathSubRel = getServlet().getServletContext().getRealPath("/WEB-INF/classes/xxx/xxx/etc_subrel.jasper");
Eu uso o pathRel para abrir o relatorio principal e passo o pathSubRel com parametro… Sempre funcionou na boa…
Eu vi que o post é meio antigo, mas, eu sou novo em java e precisa de uma ajuda.
Eu construi uma aplicação em JSF chamando um relatorio que desenhei com o Ireport, esse relatorio tem um subrelatorio que não sei como fazer para incluir o parametro que voces descreveram no post.
Para passar parametros de um relatorio “RAIZ” par ao sub relatoio basta vc dar dois cliques encima “sub relatorio” e na 3 aba vc terá como adicionar parametros.
Parametro será o nome do parametro utilizado no outro relatorio --> codigo_pessoa
Expressão é o que vc está passando da “RAIZ” --> $F{cod_pessoa}