<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17" id="1">
    <property name="createdBy">Eclipse BIRT Designer Version 2.3.2.r232_20090202 Build &lt;2.3.2.v20090218-0730></property>
    <property name="units">in</property>
    <simple-property-list name="includeResource">
        <value>report_opt</value>
    </simple-property-list>
    <property name="comments">IBM Confidential

OCO Source Materials

5724-M19

(C) COPYRIGHT IBM CORP. 2006

The source code for this program is not published or otherwise
divested of its trade secrets, irrespective of what has been
deposited with the U.S. Copyright Office.</property>
    <html-property name="description">This template will create a report with one or more groups, each having identical data fields.</html-property>
    <method name="initialize"><![CDATA[importPackage(Packages.com.ibm.tivoli.maximo.report.script);

mxReportScriptContext = MXReportScriptContext.initialize(reportContext);

//mxReportScriptContext.setDefaultLogLevel("DEBUG");
mxReportScriptContext.setDefaultLogFile("./temp/report_upgrade.log");

scriptLogger = mxReportScriptContext.getReportScriptLogger();]]></method>
    <method name="afterFactory"><![CDATA[MXReportScriptContext.close();]]></method>
    <property name="theme">MaximoSystemLibrary.maximoTheme</property>
    <text-property name="displayName">Tivoli Maximo Grouped Template</text-property>
    <property name="bidiLayoutOrientation">ltr</property>
    <list-property name="libraries">
        <structure>
            <property name="fileName">MaximoSystemLibrary.rptlibrary</property>
            <property name="namespace">MaximoSystemLibrary</property>
        </structure>
    </list-property>
    <template-parameter-definitions>
        <template-parameter-definition name="NewTemplateParameterDefinition1" id="496">
            <property name="allowedType">Label</property>
            <text-property name="description">Double-click to enter the report title.</text-property>
            <default>
                <label id="497">
                    <text-property name="text">Report Title</text-property>
                </label>
            </default>
        </template-parameter-definition>
    </template-parameter-definitions>
    <parameters>
        <scalar-parameter name="where" id="25">
            <property name="valueType">static</property>
            <property name="dataType">string</property>
            <property name="isRequired">false</property>
            <property name="controlType">text-box</property>
            <property name="defaultValue">1=1</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="appname" id="240">
            <property name="valueType">static</property>
            <property name="dataType">string</property>
            <property name="isRequired">false</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="paramdelimiter" id="241">
            <property name="hidden">true</property>
            <property name="valueType">static</property>
            <property name="dataType">string</property>
            <property name="isRequired">false</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="paramstring" id="242">
            <property name="hidden">true</property>
            <property name="valueType">static</property>
            <property name="dataType">string</property>
            <property name="isRequired">false</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
    </parameters>
    <data-sources>
        <script-data-source name="maximoDataSource" id="64" extends="MaximoSystemLibrary.maximoDataSource"/>
    </data-sources>
    <data-sets>
        <script-data-set name="mainDataSet" id="5">
            <list-property name="resultSetHints">
                <structure>
                    <property name="position">1</property>
                    <property name="name">reportname</property>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">reportfolder</property>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">appname</property>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">description</property>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="position">5</property>
                    <property name="name">problemcode</property>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="position">6</property>
                    <property name="name">problemdescr</property>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="position">7</property>
                    <property name="name">found</property>
                    <property name="dataType">integer</property>
                </structure>
            </list-property>
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">reportname</property>
                </structure>
                <structure>
                    <property name="columnName">reportfolder</property>
                </structure>
                <structure>
                    <property name="columnName">appname</property>
                </structure>
                <structure>
                    <property name="columnName">description</property>
                </structure>
                <structure>
                    <property name="columnName">problemcode</property>
                </structure>
                <structure>
                    <property name="columnName">problemdescr</property>
                </structure>
                <structure>
                    <property name="columnName">found</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">reportname</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">reportfolder</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">appname</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">description</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">5</property>
                        <property name="name">problemcode</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">6</property>
                        <property name="name">problemdescr</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">7</property>
                        <property name="name">found</property>
                        <property name="dataType">integer</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">maximoDataSource</property>
            <method name="open"><![CDATA[mainDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
mainDataSet.open();

var sqlText = new String();

// Add query to sqlText variable.
sqlText = "select report.reportname, report.reportfolder, report.appname, reportdesign.description, reportdesign.design "
+ " from report inner join "
+ " reportdesign on "
+ " report.reportname = reportdesign.reportname "
+ " where " + params["where"]
+ " and report.runtype in (select value from synonymdomain where synonymdomain.domainid='REPORTTYPES' and maxvalue='BIRT') "
+ " order by report.reportfolder, report.appname, report.reportname"
;

mainDataSet.setQuery(sqlText);

reportEntry = new Object();

bugCounter = 0;
]]></method>
            <method name="fetch"><![CDATA[switch (bugCounter) {
	default:
		bugCounter=0;

	case 0:
		if (!mainDataSet.fetch()) {
			return (false);
		}
		
		reportEntry = new Object();
		
		reportEntry.reportname = mainDataSet.getString("reportname");
		reportEntry.reportfolder = mainDataSet.getString("reportfolder");
		reportEntry.appname = mainDataSet.getString("appname");
		reportEntry.description = mainDataSet.getString("description");
		reportEntry.design = mainDataSet.getString("design");
		
		if (scriptLogger.isDebugEnabled()) {
			scriptLogger.debug(
				"["+ mainDataSet.getName() + "] >>> on reportEntry: "  + reportEntry.reportfolder + "\\" + reportEntry.reportname
			);
		}
		
		bugCounter++;
		
	case 1:
		// 1- Null Date Parameter
		row["problemcode"] = bugCounter;
		row["found"] = 0;
		
		bug1DS = MXReportDataSetProvider.create(this.getDataSource().getName(), "bug1DS");
		bug1DS.open();
		
		sqlText = "select reportlookup.parametername "
		+ " from reportlookup "
		+ " where reportlookup.appname = ? "
		+ " and reportlookup.reportname = ? " 
		+ " and reportlookup.lookupname is null "
		+ " and upper(reportlookup.parametername) like '%DATE%'";
		
		bug1DS.setQuery(sqlText);
		bug1DS.setQueryParameterValue(1, reportEntry.appname);
		bug1DS.setQueryParameterValue(2, reportEntry.reportname);
		
		if (bug1DS.fetch()) {
			if (scriptLogger.isDebugEnabled()) {
				scriptLogger.debug("["+mainDataSet.getName() + "] >>> on report: " 
				+ reportEntry.reportfolder 
				+ "\\" + reportEntry.reportname 
				+ " app: " + reportEntry.appname 
				+ " at check: " + bugCounter);
				scriptLogger.debug("["+ bug1DS.getName() + "] >>> bug1DS param: " +  bug1DS.getString("parametername") );
			}
			//row["problemdescr"] = reportContext.getMessage("nulldateparameter", reportContext.getLocale());
			row["problemdescr"] = "Null Date Parameter";
			row["found"] = 1;
		}
		bug1DS.close();
		
		bugCounter++;
		break;
	
	case 2:
		// 2 - Block comment
		row["problemcode"] =  bugCounter;
		row["found"] = 0;
		
		var blockcomment = /(\/\*[\x00-\x7F\s\x20-\x7E]*?\*\/)/;
		if(blockcomment.test(reportEntry.design)) {
			if (scriptLogger.isDebugEnabled()) {
				scriptLogger.debug("["+mainDataSet.getName() + "] >>> on report: " 
				+ reportEntry.reportfolder + "\\" + reportEntry.reportname 
				+ " app: " + reportEntry.appname 
				+ " at check: " + bugCounter);
				scriptLogger.debug("["+mainDataSet.getName() + "] >>> blockcomment found: " + reportEntry.design.match(blockcomment));
			}
			//row["problemdescr"] = reportContext.getMessage("commentformatting", reportContext.getLocale());	
			row["problemdescr"] = "Comment Formatting";
			row["found"] = 1;
		}
	
		bugCounter++;
		break;
	
	case 3:
		// 3 - ANY datatype
		row["problemcode"] =  bugCounter;
		row["found"] = 0;
		
		var anydatatype = /<property name="dataType">any<\/property>/i;
		if(anydatatype.test(reportEntry.design)) {
			if (scriptLogger.isDebugEnabled()) {
				scriptLogger.debug("["+mainDataSet.getName() + "] >>> on report: " 
				+ reportEntry.reportfolder + "\\" + reportEntry.reportname 
				+ " app: " + reportEntry.appname 
				+ " at check: " + bugCounter);
				scriptLogger.debug("["+mainDataSet.getName() + "] >>> anydatatype ");
			}
			//row["problemdescr"] = reportContext.getMessage("anydatatype", reportContext.getLocale());
			row["problemdescr"] = "Any Data Type";
			row["found"] = 1;
		}
	
		bugCounter++;
		break;
	
	case 4:
		// 4 - Null Comparison
		row["problemcode"] =  bugCounter;
		row["found"] = 0;
			
		var nulljavacheck = /(params\["[^"]*"\]\s*(?:!=|==)\s*null)/i;
		var toSkip = ["forwardsched_changes.rptdesign", "leased_asset_due.rptdesign", "inventory_abc.rptdesign", 
		"inventory_transactions.rptdesign", "inventory_transactions_receipt_transfers.rptdesign", 
		"kit.rptdesign", "inventory_transactions.rptdesign", "inventory_transactions_receipt_transfers.rptdesign", 
		"service_target_compliance.rptdesign", "login_history.rptdesign", "user_session.rptdesign"];
		var skip = false;
		for(var i=0; i < toSkip.length; i++) {
			if(BirtComp.equalTo(BirtStr.toLower(reportEntry.reportname), BirtStr.toLower(toSkip[i]))) {
				skip=true;
				break;
			}
		}
		if(!skip) {
			if(nulljavacheck.test(reportEntry.design)) {
				if (scriptLogger.isDebugEnabled()) {
					scriptLogger.debug("["+mainDataSet.getName() + "] >>> on report: " 
					+ reportEntry.reportfolder + "\\" + reportEntry.reportname 
					+ " app: " + reportEntry.appname 
					+ " at check: " + bugCounter);
					scriptLogger.debug("["+mainDataSet.getName() + "] >>> nulljavacheck found: " + reportEntry.design.match(nulljavacheck));
				}
				//row["problemdescr"] = reportContext.getMessage("nullcomparison", reportContext.getLocale());
				row["problemdescr"] = "Null Comparison";
				row["found"] = 1;
			}
		}
		else {
			if (scriptLogger.isDebugEnabled()) {
				scriptLogger.debug("["+ mainDataSet.getName() + "] >>> Skipped on nulljavacheck : " + reportEntry.reportname);
			}
		}
	
		bugCounter++;
		break;
	
	case 5:
		// 5 - Date Time Calendar Formatting
		row["problemcode"] =  bugCounter;
		row["found"] = 0;
		//the following reports must not be checked against the use of the methods
		var toSkip = ["oeekpi_by_asset.rptdesign","oeekpi_by_location.rptdesign","inventory_eoq_tbl.rptdesign",
		"projected_pm_labor.rptdesign","amdaily_format.rptdesign","ammonthly_format.rptdesign","wo_matlbal.rptdesign"];
		var skip = false;
		for(var i=0; i < toSkip.length; i++) {
			if(BirtComp.equalTo(BirtStr.toLower(reportEntry.reportname), BirtStr.toLower(toSkip[i]))) {
				skip=true;
				break;
			}
		}
		if(!skip) {
			var datetimespam = /(DateTimeSpan[\s\S](?:addDate|addTime|subDate|subTime)\()/;
			if(datetimespam.test(reportEntry.design)) {
				if (scriptLogger.isDebugEnabled()) {
					scriptLogger.debug("["+mainDataSet.getName() + "] >>> on report: " 
					+ reportEntry.reportfolder + "\\" + reportEntry.reportname 
					+ " app: " + reportEntry.appname 
					+ " at check: " + bugCounter);
					scriptLogger.debug("["+mainDataSet.getName() + "] >>> datetimespam: " + reportEntry.design.match(datetimespam));
				}
				//row["problemdescr"] = reportContext.getMessage("datetimecalendarformating", reportContext.getLocale());
				row["problemdescr"] = "Date Time Calendar Formatting";
				row["found"] = 1;
			}
		}
		else {
			if (scriptLogger.isDebugEnabled()) {
				scriptLogger.debug("["+ mainDataSet.getName() + "] >>> Skipped on datetimespam : " + reportEntry.reportname);
			}
		}
		
		bugCounter++;
		break;
}

row["reportname"] = reportEntry.reportname;
row["reportfolder"] = reportEntry.reportfolder;
row["appname"] = reportEntry.appname;
row["description"] = reportEntry.description;

return (true);]]></method>
        </script-data-set>
    </data-sets>
    <styles>
        <style name="crosstab" id="341">
            <property name="borderBottomColor">#CCCCCC</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">1pt</property>
            <property name="borderLeftColor">#CCCCCC</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">1pt</property>
            <property name="borderRightColor">#CCCCCC</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">1pt</property>
            <property name="borderTopColor">#CCCCCC</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">1pt</property>
        </style>
        <style name="crosstab-cell" id="342">
            <property name="borderBottomColor">#CCCCCC</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">1pt</property>
            <property name="borderLeftColor">#CCCCCC</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">1pt</property>
            <property name="borderRightColor">#CCCCCC</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">1pt</property>
            <property name="borderTopColor">#CCCCCC</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">1pt</property>
        </style>
    </styles>
    <page-setup>
        <simple-master-page name="maximoLandscape" id="47" extends="MaximoSystemLibrary.maximoLandscape">
            <overridden-values>
                <ref-entry baseId="304" name="NewGrid2" id="304"/>
                <ref-entry baseId="305" id="305"/>
                <ref-entry baseId="306" id="306"/>
                <ref-entry baseId="307" id="307"/>
                <ref-entry baseId="308" id="308"/>
                <ref-entry baseId="340" name="NewImage1" id="340"/>
                <ref-entry baseId="309" id="309"/>
                <ref-entry baseId="310" name="NewImage" id="310"/>
                <ref-entry baseId="322" name="NewGrid" id="322"/>
                <ref-entry baseId="323" id="323"/>
                <ref-entry baseId="324" id="324"/>
                <ref-entry baseId="325" id="325"/>
                <ref-entry baseId="326" id="326"/>
                <ref-entry baseId="328" name="NewText" id="328"/>
                <ref-entry baseId="327" id="327"/>
                <ref-entry baseId="329" name="NewGrid1" id="329"/>
                <ref-entry baseId="330" id="330"/>
                <ref-entry baseId="331" id="331"/>
                <ref-entry baseId="332" id="332"/>
                <ref-entry baseId="333" id="333"/>
                <ref-entry baseId="334" id="334"/>
                <ref-entry baseId="335" name="NewAutoText" id="335"/>
                <ref-entry baseId="336" id="336"/>
                <ref-entry baseId="337" name="NewText1" id="337"/>
                <ref-entry baseId="338" id="338"/>
                <ref-entry baseId="339" name="NewAutoText1" id="339"/>
            </overridden-values>
        </simple-master-page>
    </page-setup>
    <body>
        <table id="7">
            <property name="width">100%</property>
            <property name="dataSet">mainDataSet</property>
            <list-property name="boundDataColumns">
                <structure>
                    <property name="name">reportname</property>
                    <expression name="expression">dataSetRow["reportname"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">reportfolder</property>
                    <expression name="expression">dataSetRow["reportfolder"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">appname</property>
                    <expression name="expression">dataSetRow["appname"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">description</property>
                    <expression name="expression">dataSetRow["description"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">problemcode</property>
                    <expression name="expression">dataSetRow["problemcode"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">problemdescr</property>
                    <expression name="expression">dataSetRow["problemdescr"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">found</property>
                    <expression name="expression">dataSetRow["found"]</expression>
                    <property name="dataType">integer</property>
                </structure>
            </list-property>
            <property name="pageBreakInterval">50</property>
            <list-property name="filter">
                <structure>
                    <property name="operator">eq</property>
                    <expression name="expr">row["found"]</expression>
                    <simple-property-list name="value1">
                        <value>1</value>
                    </simple-property-list>
                </structure>
            </list-property>
            <column id="83">
                <property name="width">2.5in</property>
            </column>
            <column id="79">
                <property name="width">2.5in</property>
            </column>
            <column id="91">
                <property name="width">0.8in</property>
            </column>
            <column id="87">
                <property name="width">0.8in</property>
            </column>
            <column id="17">
                <property name="width">2in</property>
            </column>
            <column id="18">
                <property name="width">1.4in</property>
            </column>
            <header>
                <row id="209">
                    <property name="style">title</property>
                    <cell id="210">
                        <property name="colSpan">6</property>
                        <property name="rowSpan">1</property>
                        <property name="borderBottomColor">#000000</property>
                        <property name="borderBottomStyle">solid</property>
                        <property name="borderBottomWidth">thin</property>
                        <label id="498">
                            <property name="marginBottom">3pt</property>
                            <property name="refTemplateParameter">NewTemplateParameterDefinition1</property>
                            <text-property name="text" key="report_upgrade.title">Report Upgrade Listing</text-property>
                        </label>
                    </cell>
                </row>
            </header>
            <group id="511">
                <property name="groupName">reportfolderGroup</property>
                <property name="interval">none</property>
                <property name="sortDirection">asc</property>
                <expression name="keyExpr">row["reportfolder"]</expression>
                <structure name="toc">
                    <expression name="expressionValue">row["reportfolder"]</expression>
                </structure>
                <property name="repeatHeader">true</property>
                <property name="hideDetail">false</property>
                <property name="pageBreakAfter">auto</property>
                <property name="pageBreakBefore">auto</property>
                <property name="pageBreakInside">auto</property>
                <header>
                    <row id="527">
                        <property name="height">0.08in</property>
                        <cell id="528">
                            <property name="colSpan">6</property>
                            <property name="rowSpan">1</property>
                        </cell>
                    </row>
                    <row id="512">
                        <property name="style">tableheaderrow</property>
                        <cell id="513">
                            <property name="colSpan">6</property>
                            <property name="rowSpan">1</property>
                            <grid id="541">
                                <property name="width">100%</property>
                                <column id="542">
                                    <property name="width">1in</property>
                                    <property name="style">tableheaderlabel</property>
                                </column>
                                <column id="543">
                                    <property name="width">9in</property>
                                    <property name="style">tableheaderdata</property>
                                </column>
                                <row id="544">
                                    <cell id="545">
                                        <label id="547">
                                            <text-property name="text" key="reportfolder_colon">Report Folder:</text-property>
                                        </label>
                                    </cell>
                                    <cell id="546">
                                        <data id="560">
                                            <property name="resultSetColumn">reportfolder</property>
                                        </data>
                                    </cell>
                                </row>
                            </grid>
                        </cell>
                    </row>
                    <row id="534">
                        <property name="height">0.08in</property>
                        <cell id="535">
                            <property name="colSpan">6</property>
                            <property name="rowSpan">1</property>
                        </cell>
                    </row>
                    <row id="548">
                        <property name="style">tabledetailslabel</property>
                        <cell id="549">
                            <property name="style">tabledetailslabelcell</property>
                            <label id="555">
                                <text-property name="text" key="reportfilename">Report File Name</text-property>
                            </label>
                        </cell>
                        <cell id="550">
                            <property name="style">tabledetailslabelcell</property>
                            <label id="556">
                                <text-property name="text" key="description">Description</text-property>
                            </label>
                        </cell>
                        <cell id="551">
                            <property name="style">tabledetailslabelcell</property>
                            <label id="557">
                                <text-property name="text" key="application">Application</text-property>
                            </label>
                        </cell>
                        <cell id="552">
                            <property name="style">tabledetailslabelcell</property>
                            <label id="558">
                                <text-property name="text" key="categorynumber">Category Number</text-property>
                            </label>
                        </cell>
                        <cell id="553">
                            <property name="style">tabledetailslabelcell</property>
                            <label id="559">
                                <text-property name="text" key="categorydescription">Category Description</text-property>
                            </label>
                        </cell>
                        <cell id="554">
                            <property name="style">tabledetailslabelcell</property>
                        </cell>
                    </row>
                </header>
                <footer>
                    <row id="519">
                        <property name="height">0.08in</property>
                        <property name="borderBottomColor">#000000</property>
                        <property name="borderBottomStyle">solid</property>
                        <property name="borderBottomWidth">thin</property>
                        <cell id="520">
                            <property name="colSpan">6</property>
                            <property name="rowSpan">1</property>
                        </cell>
                    </row>
                </footer>
            </group>
            <detail>
                <row id="11">
                    <property name="style">tabledetailsdatarow</property>
                    <cell id="81">
                        <property name="style">tabledetailsdatacell</property>
                        <data id="499">
                            <property name="resultSetColumn">reportname</property>
                        </data>
                    </cell>
                    <cell id="77">
                        <property name="style">tabledetailsdatacell</property>
                        <data id="500">
                            <property name="resultSetColumn">description</property>
                        </data>
                    </cell>
                    <cell id="89">
                        <property name="style">tabledetailsdatacell</property>
                        <data id="501">
                            <property name="resultSetColumn">appname</property>
                        </data>
                    </cell>
                    <cell id="85">
                        <property name="style">tabledetailsdatacell</property>
                        <data id="502">
                            <property name="resultSetColumn">problemcode</property>
                        </data>
                    </cell>
                    <cell id="12">
                        <property name="style">tabledetailsdatacell</property>
                        <data id="503">
                            <property name="resultSetColumn">problemdescr</property>
                        </data>
                    </cell>
                    <cell id="13">
                        <property name="style">tabledetailsdatacell</property>
                    </cell>
                </row>
            </detail>
            <footer>
                <row id="504">
                    <cell id="505">
                        <property name="colSpan">6</property>
                        <property name="rowSpan">1</property>
                    </cell>
                </row>
            </footer>
        </table>
    </body>
</report>
