Here is the issue. I have 2 jasper reports almost identical except one is used to generate pdf file and another one just old plain text file. I have a subreport in the summary band of the main report page. The code is below The problem is when I generate the text file, the subreport data for the text file does not come up(is blank) if I generate the pdf file first. If I comment out //JasperPrint jPrint = Utils.buildJasperPrint(reportParams, inFile,a); for the pdf then it generates the sub report for the text file. What am I doing wrong? Code:String inFile = "C:test_goodoldone1_pdf.jasper"; String outFile = "C:\Collections_" + monthReported; JasperPrint jPrint = Utils.buildJasperPrint(reportParams, inFile,a); Utils.generatePDF(jPrint, outFile+".pdf", "PDF"); String inFile1 = "C:test_goodoldone1_text.jasper"; String outFile1 = "C:\Collections_" + monthReported; JasperPrint jPrint1 = Utils.buildJasperPrint(reportParams, inFile1,a); Utils.generatePlainText(jPrint1, outFile1+".txt", null, null, "4", "12", "", null, "rn"); The code for buildJasperPrint is below public static JasperPrint buildJasperPrint(HashMap jasperParams, String inFile, Collection jasperReportData) { JasperPrint jasperPrint = null; try { File templateFile = new File(inFile); JasperReport jasperReport = (JasperReport) JRLoader.loadObject(templateFile); jasperPrint = JasperFillManager.fillReport(jasperReport, jasperParams, new JRBeanCollectionDataSource(jasperReportData)); //return jasperPrint; } catch (Exception e) { e.printStackTrace(); System.out.println("Error occurred captured by buildJasperPrint: " + e.getMessage()); } return jasperPrint; }