Galera
Estou com problemas no sub relatório. Vou explicar…
Tenho uma relatório principal que chama um sub-relatório e que por sua vez chama outro sub-relatorio.
Bom, o problema é que o último sub relatorio não é chamado, pois não é encontrando o arquivo. é alguma coisa com o caminho, pois se eu colocar o caminho completo na minha máquina ele funciona. Não sei qual é o problema já que o sub relatorio de primeiro nivel é chamado normalmente.
[color=green]Olá.
Você pode tentar resolver seu problema da seguinte forma:
No Java.
Criar um HashMap chamado parametros:[/color]
HashMap<String, String> parametros
[color=green]Aqui ele retorna a pasta relatorios, que se encontra na raiz do projeto:[/color]
parametros.put("SUBREPORT_DIR",getServletConfig().getServletContext() .getRealPath("/relatorios")+"/");
[color=green]No iReport
Criar um Parâmetro chamado SUBREPORT_DIR.
Acesse as Propriedades do Objeto que chama o primeiro SubRelatório.
Na aba Subreport(Other), altere o valor de SubReport Expression para:[/color]
$P{SUBREPORT_DIR} + "subrelatorio1.jasper"
[color=green]Ainda na mesma aba, adicione o parâmetro SUBREPORT_DIR para que o mesmo seja passado para o subrelatorio1.
Agora no segundo SubRelatório, você terá o parâmetro que retorna a sua pasta de relatórios, então basta seguir os mesmos passos do primeiro SubRelatório, e estará tudo certo.
Veja se isso pode lhe ajudar, qualquer dúvida, só perguntar, até.[/color]
Beleza funcionou
Mas como eu nao sei o caminho do diretorio em que o relatório se encontra no servidor, eu usei essa chamada
this.getServlet().getServletContext().getRealPath("/")+"/relatorio/subCapaManifestoNotas.jasper"
coloquei o resultado no map e funcionou.
muito obrigado