2006 IR Open Dicussion Posted August 27, 2006 Share Posted August 27, 2006 By: chad - chadtemp Report doesn't fill when multi-page subreport 2006-07-06 06:39I am using iReport to build Jasper Reports. I need to group many reports together, which I use subreports for. But when one of the subreports ends up being a multiple page report, both iReport and JasperRunManager (when I'm calling the subreport from my java code) stall when creating the report. I get a net.sf.jasperreports.engine.JRRuntimeException in my Java environment and iReport just freezes. Help would be greatly appreciated. By: Vzern - vzern RE: Report doesn't fill when multi-page subre 2006-07-06 07:48Can you post your templates and provide some information about your data source? Vzern By: chad - chadtemp RE: Report doesn't fill when multi-page subre 2006-07-06 07:51The report that the subreport is calling is rather large. But here is the main report with the embedded sub-report. <?xml version="1.0" encoding="UTF-8" ?> <!-- Created with iReport - A designer for JasperReports --> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> <jasperReport name="Plus_Writing_Rosters" columnCount="1" printOrder="Vertical" orientation="Landscape" pageWidth="792" pageHeight="612" columnWidth="732" columnSpacing="0" leftMargin="30" rightMargin="30" topMargin="20" bottomMargin="20" whenNoDataType="NoPages" isTitleNewPage="false" isSummaryNewPage="false"> <property name="ireport.scriptlethandling" value="0" /> <property name="ireport.encoding" value="UTF-8" /> <import value="java.util.*" /> <import value="net.sf.jasperreports.engine.*" /> <import value="net.sf.jasperreports.engine.data.*" /> <parameter name="SUBREPORT_DIR" isForPrompting="true" class="java.lang.String"> <defaultValueExpression ><![CDATA["C:\Documents and Settings\CooneyC\Desktop\Roster Reports\"]]></defaultValueExpression> </parameter> <parameter name="inWritingRosterActId" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inWritingRosterName" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="intesttype" isForPrompting="false" class="java.lang.String"> <defaultValueExpression ><![CDATA["N"]]></defaultValueExpression> </parameter> <parameter name="intestdate" isForPrompting="false" class="java.lang.String"> <defaultValueExpression ><![CDATA["0206"]]></defaultValueExpression> </parameter> <parameter name="batchnum" isForPrompting="false" class="java.lang.String"> <defaultValueExpression ><![CDATA[new String("211")]]></defaultValueExpression> </parameter> <parameter name="reporttype" isForPrompting="false" class="java.lang.String"> <defaultValueExpression ><![CDATA["listreport"]]></defaultValueExpression> </parameter> <parameter name="inMCRosterActId" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inMCRosterName" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inMCRosters" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inWritingRosters" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inMCNonEligibleRosterActId" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inMCNonEligibleRosterName" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inMCNonEligibleRosters" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inNonEligibleListReportRosters" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inEligibleListReportRosters" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inWritingNonEligibleRosterActId" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inWritingNonEligibleRosterName" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inWritingNonEligibleRosters" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inListReportRosters" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="inListReport" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/> <queryString><![CDATA[select distinct nvl(h.rater1,0) rater1, nvl(h.rater2,0) rater2, nvl(h.returned_prompt,' ') returned_prompt, decode(substr(h.test_date,0,2),'01','January','02','February','03','March','04','April','05','May','06','June','07','July','08','August','09','September','10','October','11','November','12','December') ||' '|| '20'||substr(h.test_date,3,2) testdatetext, h.act_id , h.name_long , substr(h.date_of_birth,0,2)||'/'||substr(h.date_of_birth,3,2)||'/'||substr(h.date_of_birth,5,2) DOB, h.batch, h.stack, h.tc_listing , h.scan , h.city, h.state , h.form, substr(h.test_date,0,2)||'/'||substr(h.test_date,3,2) testdate, h.score_standard, h.tir_id from tir.tir_history h, tir.tir_request r where h.act_id = r.act_id and h.test_date = r.test_date and h.test_date = $P{intestdate} and r.process_batch_id = $P{batchnum} and nvl(r.test_type,'NULL') = $P{intesttype} order by ACT_ID]]></queryString> <field name="RATER1" class="java.lang.String"/> <field name="RATER2" class="java.lang.String"/> <field name="RETURNED_PROMPT" class="java.lang.String"/> <field name="TESTDATETEXT" class="java.lang.String"/> <field name="ACT_ID" class="java.lang.String"/> <field name="NAME_LONG" class="java.lang.String"/> <field name="DOB" class="java.lang.String"/> <field name="BATCH" class="java.lang.String"/> <field name="STACK" class="java.lang.String"/> <field name="TC_LISTING" class="java.lang.String"/> <field name="SCAN" class="java.lang.String"/> <field name="CITY" class="java.lang.String"/> <field name="STATE" class="java.lang.String"/> <field name="FORM" class="java.lang.String"/> <field name="TESTDATE" class="java.lang.String"/> <field name="SCORE_STANDARD" class="java.lang.String"/> <field name="TIR_ID" class="java.lang.String"/> <group name="WritingNonEligibleRosters" isStartNewPage="true" > <groupExpression><![CDATA[null]]></groupExpression> <groupHeader> <band height="0" isSplitAllowed="true" > </band> </groupHeader> <groupFooter> <band height="0" isSplitAllowed="true" > </band> </groupFooter> </group> <group name="MCNonEligibleRosters" isStartNewPage="true" > <groupExpression><![CDATA[null]]></groupExpression> <groupHeader> <band height="0" isSplitAllowed="true" > </band> </groupHeader> <groupFooter> <band height="0" isSplitAllowed="true" > </band> </groupFooter> </group> <group name="WritingEligibleRosters" isStartNewPage="true" > <groupExpression><![CDATA[null]]></groupExpression> <groupHeader> <band height="0" isSplitAllowed="true" > </band> </groupHeader> <groupFooter> <band height="0" isSplitAllowed="true" > </band> </groupFooter> </group> <group name="MCEligibleRosters" isStartNewColumn="true" isStartNewPage="true" isReprintHeaderOnEachPage="true" > <groupExpression><![CDATA[null]]></groupExpression> <groupHeader> <band height="50" isSplitAllowed="true" > <subreport isUsingCache="true"> <reportElement x="2" y="1" width="330" height="31" key="subreport-3"/> <subreportParameter name="intesttype"> <subreportParameterExpression><![CDATA[$P{intesttype}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="intestdate"> <subreportParameterExpression><![CDATA[$P{intestdate}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="reporttype"> <subreportParameterExpression><![CDATA[$P{reporttype}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="batchnum"> <subreportParameterExpression><![CDATA[$P{batchnum}]]></subreportParameterExpression> </subreportParameter> <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "ListReportTEST.jasper"]]></subreportExpression> </subreport> </band> </groupHeader> <groupFooter> <band height="0" isSplitAllowed="false" > </band> </groupFooter> </group> <background> <band height="0" isSplitAllowed="true" > </band> </background> <title> <band height="0" isSplitAllowed="true" > </band> </title> <pageHeader> <band height="0" isSplitAllowed="true" > </band> </pageHeader> <columnHeader> <band height="0" isSplitAllowed="true" > </band> </columnHeader> <detail> <band height="94" isSplitAllowed="true" > </band> </detail> <columnFooter> <band height="0" isSplitAllowed="true" > </band> </columnFooter> <pageFooter> <band height="0" isSplitAllowed="true" > </band> </pageFooter> <summary> <band height="0" isSplitAllowed="true" > </band> </summary> </jasperReport> The datasource is an Oracle database. By: chad - chadtemp RE: Report doesn't fill when multi-page subre 2006-07-06 08:24To give you some more information: The report the subreport is calling is a single full page. So, the number of pages corresponds directly to the number of records that get pulled from my sql query. i.e. 15 records = 15 pages, 1 record per page. By: chad - chadtemp RE: Report doesn't fill when multi-page subre 2006-07-06 10:23It seems to be that the subreport is looping too many times when there is more than 1 page. For instance, I have a report that should print six pages, but when inserted as the subreport into my main report, that 6 page report now shows up 15 times in a row. By: Vzern - vzern RE: Report doesn't fill when multi-page subre 2006-07-06 12:14Ok. The subreport runs properly by themselves, right? By: chad - chadtemp RE: Report doesn't fill when multi-page subre 2006-07-06 12:14I solved my problem by removing the margins from the report used in the subreport Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now