Hi, I've got a problem that only happens under tomcat5/Linux, not under eclipse/WindowsXP (just runs fine there).<br />
I followed the steps for deploying the viewer ( <a class='bbc_url' href='
http://www.eclipse.org/birt/phoenix/deploy/viewerSetup.php#install_viewer'>Installing the BIRT Viewer in Tomcat</a> ) and included my .rptdesign file.<br />
After chosing the parameters, I got the following stack trace:<br />
<br />
08.03.2010 11:17:15 org.eclipse.birt.report.engine.api.impl.RunTask doRun<br />
SCHWERWIEGEND: An error happened while running the report. Cause:<br />
org.mozilla.javascript.EcmaError: ReferenceError: "XML" is not defined. (<inline>#1)<br />
<br />
(long trace messages before and after)<br />
<br />
I'm having some Rhino scripts in suspicion, but AFAIK they seem to be clean. To really exclude that I already tried without these and I still got that error.<br />
<br />
The parameters are not listed in the dataset, they're added later in the beforeOpen method of the main dataset.<br />
<br />
The server is a CentOs 5.4 with <br />
java-1.6.0-openjdk and<br />
tomcat5-5.5.23-0jpp.7.el5_3.2<br />
<br />
The (only) 3 Expressions in the report:<br />
==============================================<br />
1st expression:<br />
ETHselected = reportContext.getParameterValue("ETH");<br />
selectedETH="";<br />
for (var counter=0; counter<ETHselected.length;counter++) {<br />
selectedETH += ETHselected[counter] + ", ";<br />
}<br />
selectedETH = selectedETH.substring(0,selectedETH.length-2);<br />
selectedETH;<br />
<br />
==============================================<br />
2nd expression:<br />
ILOTselected = reportContext.getParameterValue("ILOT");<br />
selectedILOT="";<br />
for (var counter=0; counter<ILOTselected.length;counter++) {<br />
selectedILOT += ILOTselected[counter] + ", ";<br />
}<br />
selectedILOT = selectedILOT.substring(0,selectedILOT.length-2);<br />
selectedILOT;<br />
<br />
==============================================<br />
3rd expression:<br />
DATEselected = reportContext.getParameterValue("Produktionsdatum");<br />
// construct day<br />
var myday = BirtStr.trim(BirtDateTime.day(DATEselected).toString());<br />
if (myday.length==1) { myday = "0" + myday;}<br />
// construct month<br />
var mymonth = BirtStr.trim(BirtDateTime.month(DATEselected).toString());<br />
if (mymonth.length==1) { mymonth = "0" + mymonth;}<br />
// construct year<br />
var myyear = BirtStr.trim(BirtDateTime.year(DATEselected).toString());<br />
myday + "." + mymonth + "." + myyear;<br />
<br />
==============================================<br />
<br />
My only "proper" script in that report:<br />
<br />
==============================================<br />
beforeOpen method of the main dataset:<br />
<br />
// ============================ ETH ========================================<br />
ETHselected = reportContext.getParameterValue("ETH");<br />
selectedETH="";<br />
for (var counter=0; counter<ETHselected.length;counter++) {<br />
selectedETH += "'" + ETHselected[counter] + "',";<br />
}<br />
selectedETH = selectedETH.substring(0,selectedETH.length-1);<br />
<br />
// ============================ ILOT ========================================<br />
ILOTselected = reportContext.getParameterValue("ILOT");<br />
selectedILOT="";<br />
for (var counter=0; counter<ILOTselected.length;counter++) {<br />
selectedILOT += "'" + ILOTselected[counter] + "',";<br />
}<br />
selectedILOT = selectedILOT.substring(0,selectedILOT.length-1);<br />
<br />
// ============================ DATE ========================================<br />
DATEselected = reportContext.getParameterValue("Produktionsdatum");<br />
// construct day<br />
var myday = BirtStr.trim(BirtDateTime.day(DATEselected).toString());<br />
if (myday.length==1) { myday = "0" + myday;}<br />
// construct month<br />
var mymonth = BirtStr.trim(BirtDateTime.month(DATEselected).toString());<br />
if (mymonth.length==1) { mymonth = "0" + mymonth;}<br />
// construct year<br />
var myyear = BirtStr.trim(BirtDateTime.year(DATEselected).toString());<br />
mysqlquerydate = myyear + "-" + mymonth + "-" + myday;<br />
<br />
ethpar = " ETH IN (" + selectedETH + ") ";<br />
ilotpar = " ILOT IN (" + selectedILOT + ") ";<br />
datpar = " TAGES_DATUM = '" + mysqlquerydate + "' ";<br />
this.queryText += "where " + ethpar + " and " + datpar + " and " + ilotpar;<br />
<br />
<br />
==============================================<br />
Any help would be appreciated.<br />
Regards<br />
Michael