Did you get this report working? Or are you still receiving the following error?
Original Message:
Sent: 12-12-2023 15:32
From: Philip Marrone
Subject: BIRT 4.8 Error
Thanks for all of your help, it got me this far and is much appreciated.
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-12-2023 14:32
From: Bob Kraus
Subject: BIRT 4.8 Error
That's about all I know.
Good Luck.
Bob Kraus | Senior Business Services Consultant | Facilities Services | Missouri S&T | |
General Services Bldg, 1701 Spruce Dr, Rolla, MO 65409 | | |
Original Message:
Sent: 12/12/2023 1:39:00 PM
From: Philip Marrone
Subject: RE: BIRT 4.8 Error
I tried this and updated the above. I am not sure. When I did my fetch script, I noticed that there is also an "OnFetch", is that something I need to develop also? Just thinking what I might be doing wrong. Thanks so much for your help thus far.
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-12-2023 13:03
From: Bob Kraus
Subject: BIRT 4.8 Error
I know that BIRT plays a little differently than SQL.
You might try:
- Instead of assigning an alias to the tables (w.wonum) use the full name (workorder.wonum)
- Try using '01-JAN-23' instead of '2023-01-01' for dates
- Try LEFT OUTER JOIN instead of LEFT JOIN
Bob Kraus | Senior Business Services Consultant | Facilities Services | Missouri S&T | |
General Services Bldg, 1701 Spruce Dr, Rolla, MO 65409 | | |
Original Message:
Sent: 12/12/2023 12:36:00 PM
From: Philip Marrone
Subject: RE: BIRT 4.8 Error
Alright, thanks once again for your help. I can consistently get it to run now but unfortunately without any results. As I said there should be 25 results.
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-12-2023 12:20
From: Bob Kraus
Subject: BIRT 4.8 Error
WONUM is not GetInteger, it is GetString.
Bob Kraus | Senior Business Services Consultant | Facilities Services | Missouri S&T | |
General Services Bldg, 1701 Spruce Dr, Rolla, MO 65409 | | |
Original Message:
Sent: 12/12/2023 11:53:00 AM
From: Philip Marrone
Subject: RE: BIRT 4.8 Error
Hello again,
I ran in SQL and get 25 records. However, when I went back to run it again it runs as though the fetch script is null, even though I have not changed anything since the last time testing the report. Fetch script is still as I captured above (when it did work), and now I get the following stack trace error:
org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true);":
Fail to execute script in function __bm_FETCH(). Source:
------
" + if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true); + "
-----
A BIRT exception occurred. See next exception for more information.
Wrapped com.ibm.tivoli.maximo.report.script.MXReportRuntimeException: com.ibm.db2.jcc.am.SqlException: [jcc][10150][10300][4.26.14] Invalid parameter: Unknown column name STATUS. ERRORCODE=-4460, SQLSTATE=null (/report/data-sets/script-data-set[@id="5"]/method[@name="fetch"]#7).
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99)
at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:143)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: Data Set script method "Fetch" returned null; expected a Boolean value.
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:249)
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:238)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:165)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true);":
Fail to execute script in function __bm_FETCH(). Source:
------
" + if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true); + "
-----
A BIRT exception occurred. See next exception for more information.
Wrapped com.ibm.tivoli.maximo.report.script.MXReportRuntimeException: com.ibm.db2.jcc.am.SqlException: [jcc][10150][10300][4.26.14] Invalid parameter: Unknown column name STATUS. ERRORCODE=-4460, SQLSTATE=null (/report/data-sets/script-data-set[@id="5"]/method[@name="fetch"]#7).
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99)
at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:143)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: Data Set script method "Fetch" returned null; expected a Boolean value.
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:249)
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:238)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:165)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true);":
Fail to execute script in function __bm_FETCH(). Source:
------
" + if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true); + "
-----
A BIRT exception occurred. See next exception for more information.
Wrapped com.ibm.tivoli.maximo.report.script.MXReportRuntimeException: com.ibm.db2.jcc.am.SqlException: [jcc][10150][10300][4.26.14] Invalid parameter: Unknown column name STATUS. ERRORCODE=-4460, SQLSTATE=null (/report/data-sets/script-data-set[@id="5"]/method[@name="fetch"]#7).
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99)
at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:143)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: Data Set script method "Fetch" returned null; expected a Boolean value.
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:249)
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:238)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:165)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-12-2023 11:34
From: Bob Kraus
Subject: BIRT 4.8 Error
If your result comes up blank without any errors, recheck your SQL select statement.
Can you clean it and run it in SQL to see what the number of records should be?
Bob Kraus | Senior Business Services Consultant | Facilities Services | Missouri S&T | |
General Services Bldg, 1701 Spruce Dr, Rolla, MO 65409 | | |
Original Message:
Sent: 12/12/2023 11:25:00 AM
From: Philip Marrone
Subject: RE: BIRT 4.8 Error
Thank you, good sir. I have gotten further than before, but the report comes up blank:
I thought perhaps that something was wrong with my column bindings, but from my limited knowledge they appear to be okay:
Fetch script, just incase it is relevant here:
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-12-2023 10:01
From: Bob Kraus
Subject: BIRT 4.8 Error
Go to the Layout Tab.
Click the corner of the layout and click on Table (not Grid)
Click on the Binding Tab. Here you can add, remove etc.
Bob Kraus | Senior Business Services Consultant | Facilities Services | Missouri S&T | |
General Services Bldg, 1701 Spruce Dr, Rolla, MO 65409 | | |
Original Message:
Sent: 12/12/2023 9:51:00 AM
From: Philip Marrone
Subject: RE: BIRT 4.8 Error
Sure thing. Here is my data set. Below, I believe I found the culprit in the maintable, although I do not know how to remove it.
Please see the below where I believe I may have found the issue:
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-12-2023 09:06
From: Bob Kraus
Subject: BIRT 4.8 Error
Show me your Data Set
Bob Kraus | Senior Business Services Consultant | Facilities Services | Missouri S&T | |
General Services Bldg, 1701 Spruce Dr, Rolla, MO 65409 | | |
Original Message:
Sent: 12/11/2023 4:41:00 PM
From: Philip Marrone
Subject: RE: BIRT 4.8 Error
Thank you. I fixed that and received an error: "org.eclipse.birt.report.engine.api.EngineException: Column binding "Work Order" has referred to a data set column "Work Order" which does not exist,'"
I only reference WONUM in the report and not "Work Order". For reference, here are my layout, output columns, parameters, and fetch script.
if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true);
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-11-2023 16:21
From: Bob Kraus
Subject: BIRT 4.8 Error
Fix your Select statement. I see missing commas and extra single quotes here and there.
shop.BCH_PARshop',
w.ASSETNUM
w.LEAD',
shop.BCH_GRPLDR',
etc.
------------------------------
Bob Kraus
Missouri S&T
Original Message:
Sent: 12-11-2023 16:13
From: Philip Marrone
Subject: BIRT 4.8 Error
Hi Bob,
I weorked on the fetch script and received the following error, I am unsure how to proceed:
"
org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
maximoDataSet.open();
var shopwhere = "1=1";
if (params["shop"].value) {
shopwhere += " AND " + MXReportSqlFormat.createParamWhereClause("shop.BCH_PARshop", params["shop"]);
}
var datewhere = "1=1";
datewhere += " AND week(w.TARGSTARTDATE) = (week(sysdate) - 1) AND year(w.SCHEDSTART) = year(sysdate)";
if (params["startdate"].value) {
datewhere += " AND w.TARGSTARTDATE >= " + MXReportSqlFormat.getStartDayTimestampFunction(params["startdate"]);
}
if (params["enddate"].value) {
datewhere += " AND w.TARGSTARTDATE <= " + MXReportSqlFormat.getEndDayTimestampFunction(params["enddate"]);
}
var sqlText = "SELECT "
+ "w.WONUM, "
+ "PM.FREQUENCY, "
+ "PM.FREQUNIT, "
+ "TO_CHAR(w.SCHEDSTART, 'MM/DD/YY'), "
+ "TO_CHAR(w.REPORTDATE, 'MM/DD/YY')', "
+ "UPPER(w.DESCRIPTION), "
+ "shop.BCH_PARshop', "
+ "w.PERSONGROUP, "
+ "w.ASSETNUM
+ "w.LEAD', "
+ "pm.BCH_PMREG, "
+ "w.PMNUM, "
+ "shop.BCH_GRPLDR', "
+ "shop.BCH_shopSUP' "
+ "FROM WORKORDER AS w "
+ "LEFT JOIN MAXIMO.PM AS PM ON w.PMNUM = PM.PMNUM "
+ "LEFT JOIN Maximo.PERSONGROUP AS shop ON PM.PERSONGROUP = shop.PERSONGROUP "
+ "LEFT JOIN Maximo.WOSTATUS AS status ON w.WONUM = status.WONUM "
+ "WHERE PM.FREQUNIT = 'WEEKS' "
+ "AND w.status NOT IN ('COMP-TECH', 'COMP-SUPV','CLOSE','COMP','COMP-REVIEWED', 'CAN') "
+ "AND PM.BCH_PMREG = 'TJC' "
+ "AND w.TARGSTARTDATE BETWEEN DATE('2023-12-03') AND DATE('2023-12-09') "
+ "AND " + shopwhere + " "
+ "AND " + datewhere;
maximoDataSet.setQuery(sqlText);":
Fail to execute script in function __bm_OPEN(). Source:
------
" + maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
maximoDataSet.open();
var shopwhere = "1=1";
if (params["shop"].value) {
shopwhere += " AND " + MXReportSqlFormat.createParamWhereClause("shop.BCH_PARshop", params["shop"]);
}
var datewhere = "1=1";
datewhere += " AND week(w.TARGSTARTDATE) = (week(sysdate) - 1) AND year(w.SCHEDSTART) = year(sysdate)";
if (params["startdate"].value) {
datewhere += " AND w.TARGSTARTDATE >= " + MXReportSqlFormat.getStartDayTimestampFunction(params["startdate"]);
}
if (params["enddate"].value) {
datewhere += " AND w.TARGSTARTDATE <= " + MXReportSqlFormat.getEndDayTimestampFunction(params["enddate"]);
}
var sqlText = "SELECT "
+ "w.WONUM, "
+ "PM.FREQUENCY, "
+ "PM.FREQUNIT, "
+ "TO_CHAR(w.SCHEDSTART, 'MM/DD/YY'), "
+ "TO_CHAR(w.REPORTDATE, 'MM/DD/YY')', "
+ "UPPER(w.DESCRIPTION), "
+ "shop.BCH_PARshop', "
+ "w.PERSONGROUP, "
+ "w.ASSETNUM
+ "w.LEAD', "
+ "pm.BCH_PMREG, "
+ "w.PMNUM, "
+ "shop.BCH_GRPLDR', "
+ "shop.BCH_shopSUP' "
+ "FROM WORKORDER AS w "
+ "LEFT JOIN MAXIMO.PM AS PM ON w.PMNUM = PM.PMNUM "
+ "LEFT JOIN Maximo.PERSONGROUP AS shop ON PM.PERSONGROUP = shop.PERSONGROUP "
+ "LEFT JOIN Maximo.WOSTATUS AS status ON w.WONUM = status.WONUM "
+ "WHERE PM.FREQUNIT = 'WEEKS' "
+ "AND w.status NOT IN ('COMP-TECH', 'COMP-SUPV','CLOSE','COMP','COMP-REVIEWED', 'CAN') "
+ "AND PM.BCH_PMREG = 'TJC' "
+ "AND w.TARGSTARTDATE BETWEEN DATE('2023-12-03') AND DATE('2023-12-09') "
+ "AND " + shopwhere + " "
+ "AND " + datewhere;
maximoDataSet.setQuery(sqlText); + "
-----
A BIRT exception occurred. See next exception for more information.
unterminated string literal (/report/data-sets/script-data-set[@id="5"]/method[@name="open"]#27).
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99)
at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:98)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open(ScriptDataSetRuntime.java:80)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.java:247)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223)
at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1257)
at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
at org.eclipse.birt.report.engine.data.dte.QueryResultSet.
org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true);":
Fail to execute script in function __bm_FETCH(). Source:
------
" + if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["WONUM"] = maximoDataSet.getInteger("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SCHEDSTART"] = maximoDataSet.getDateTime("SCHEDSTART");
row["FREQUENCY"] = maximoDataSet.getDecimal("FREQUENCY");
row["FREQUNIT"] = maximoDataSet.getString("FREQUNIT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["BCH_PARSHOP"] = maximoDataSet.getString("BCH_PARSHOP");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["LEAD"] = maximoDataSet.getString("LEAD");
row["BCH_PMREG"] = maximoDataSet.getString("BCH_PMREG");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["BCH_GRPLDR"] = maximoDataSet.getString("BCH_GRPLDR");
row["BCH_SHOPSUP"] = maximoDataSet.getString("BCH_SHOPSUP");
row["REPORTDATE"] = maximoDataSet.getDateTime("REPORTDATE");
return (true); + "
-----
A BIRT exception occurred. See next exception for more information.
ReferenceError: "maximoDataSet" is not defined. (/report/data-sets/script-data-set[@id="5"]/method[@name="fetch"]#1).
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99)
at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:143)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: Data Set script method "Fetch" returned null; expected a Boolean value.
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:249)
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:238)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:165)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: Column binding "Work Order" has referred to a data set column "Work Order" which does not exist.
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1252)
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1231)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:96)
at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:258)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:273)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:89)
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1325)
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:159)
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(BirtChangeParameterActionHandler.java:58)
at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:52)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:531)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678)
at java.base/java.lang.Thread.run(Thread.java:1623)
Caused by: org.eclipse.birt.data.engine.core.DataException: Column binding "Work Order" has referred to a data set column "Work Order" which does not exist.
at org.eclipse.birt.data.engine.impl.ResultIterator.validateManualBindingExpressions(ResultIterator.java:380)
at org.eclipse.birt.data.engine.impl.ResultIterator.
"
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-11-2023 13:42
From: Bob Kraus
Subject: BIRT 4.8 Error
Select the Dataset on the left, then from the drop-down, select the fetch script.
Then, make sure that the data fields from the Dataset are the same in the fetch script.
------------------------------
Bob Kraus
Missouri S&T
Original Message:
Sent: 12-11-2023 12:39
From: Philip Marrone
Subject: BIRT 4.8 Error
Thank you Bob for the feedback. I have the following script written (see below), and this is my first report that I have attempted from scratch so I appreciate any advice you may offer.
maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
maximoDataSet.open();
var shopwhere = "1=1";
if (params["shop"].value) {
shopwhere += " AND " + MXReportSqlFormat.createParamWhereClause("shop.BCH_PARshop", params["shop"]);
}
var datewhere = "1=1";
datewhere += " AND week(w.TARGSTARTDATE) = (week(sysdate) - 1) AND year(w.SCHEDSTART) = year(sysdate)";
if (params["startdate"].value) {
datewhere += " AND w.TARGSTARTDATE >= " + MXReportSqlFormat.getStartDayTimestampFunction(params["startdate"]);
}
if (params["enddate"].value) {
datewhere += " AND w.TARGSTARTDATE <= " + MXReportSqlFormat.getEndDayTimestampFunction(params["enddate"]);
}
var sqlText = "SELECT "
+ "w.WONUM AS 'Work Order', "
+ "PM.FREQUENCY AS 'Frequency', "
+ "PM.FREQUNIT AS 'Interval', "
+ "w.LOCATION AS 'ROOM', "
+ "TO_CHAR(w.SCHEDSTART, 'MM/DD/YY') AS 'Scheduled Start', "
+ "TO_CHAR(w.REPORTDATE, 'MM/DD/YY') AS 'Reported Date', "
+ "UPPER(w.DESCRIPTION) AS 'Description', "
+ "shop.BCH_PARshop AS 'Parent shop', "
+ "w.PERSONGROUP AS 'Shop', "
+ "w.ASSETNUM AS 'Equipment', "
+ "w.Status AS 'Status', "
+ "w.LEAD AS 'Assigned To', "
+ "pm.BCH_PMREG AS 'Compliance', "
+ "w.PMNUM AS 'PM', "
+ "shop.BCH_GRPLDR AS 'Group Leader', "
+ "shop.BCH_shopSUP AS 'Supervisor' "
+ "FROM WORKORDER AS w "
+ "LEFT JOIN MAXIMO.PM AS PM ON w.PMNUM = PM.PMNUM "
+ "LEFT JOIN Maximo.PERSONGROUP AS shop ON PM.PERSONGROUP = shop.PERSONGROUP "
+ "LEFT JOIN Maximo.WOSTATUS AS status ON w.WONUM = status.WONUM "
+ "WHERE PM.FREQUNIT = 'WEEKS' "
+ "AND w.status NOT IN ('COMP-TECH', 'COMP-SUPV','CLOSE','COMP','COMP-REVIEWED', 'CAN') "
+ "AND PM.BCH_PMREG = 'TJC' "
+ "AND w.TARGSTARTDATE BETWEEN DATE('2023-12-03') AND DATE('2023-12-09') "
+ "AND " + shopwhere + " "
+ "AND " + datewhere;
maximoDataSet.setQuery(sqlText);
What does the fetch script contain and where do I find it in the designer? (sorry) Please advise, thank you so much for your help so far.
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-11-2023 12:00
From: Bob Kraus
Subject: BIRT 4.8 Error
I would suggest making sure that your data fields, sql select statement and fetch script all match.
To me it looks like you haven't set up your fetch script yet.
------------------------------
Bob Kraus
Missouri S&T
Original Message:
Sent: 12-11-2023 11:46
From: Philip Marrone
Subject: BIRT 4.8 Error
Thank you for your response, the stack trace error says:
"org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["textfield"] = maximoDataSet.getString("textfield");
row["datefield"] = maximoDataSet.getTimestamp("datefield");
return (true);":
Fail to execute script in function __bm_FETCH(). Source:
------
" + if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["textfield"] = maximoDataSet.getString("textfield");
row["datefield"] = maximoDataSet.getTimestamp("datefield");
return (true); + "
-----
A BIRT exception occurred. See next exception for more information.
Wrapped com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=AS;SELECT w.WONUM ;AND, DRIVER=4.26.14 (/report/data-sets/script-data-set[@id="5"]/method[@name="fetch"]#1).
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:99)
at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:143)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
org.eclipse.birt.report.engine.api.EngineException: Data Set script method "Fetch" returned null; expected a Boolean value.
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:249)
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:238)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:165)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.
"
------------------------------
Philip Marrone
Boston Children's Hospital
Original Message:
Sent: 12-11-2023 11:42
From: Bob Kraus
Subject: BIRT 4.8 Error
Hi,
There doesn't seem to be an attached error. It usually gives you some kind of information on why the report failed.
All I see is a generic script.
------------------------------
Bob Kraus
Missouri S&T
Original Message:
Sent: 12-11-2023 09:01
From: Philip Marrone
Subject: BIRT 4.8 Error
Good morning, fellow Maximo power-users!
I hope you are all having an amaiong day! I'm currently facing an issue while working with BIRT 4.8 for Maximo, and I'm reaching out to the community for some assistance.
In my report script, I'm trying to populate output columns and receiving the following error (I can provide the full output if required, this is just a snippet):
BIRT Error
row["textfield"] = maximoDataSet.getString("textfield");row["datefield"] = maximoDataSet.getTimestamp("datefield");
However, I'm encountering an error, and I'm unsure how to resolve it. If anyone has experienced a similar issue or has insights into potential solutions, your assistance would be immensely valuable.
The error message I'm receiving is not something I have much familiarity with, and I want to make sure I'm handling output columns correctly. Your expertise and guidance on this matter would be greatly appreciated!
Thank you in advance for your time and assistance. Looking forward to discussing with you.
I can provide any additional details as needed to help clarify my issue.
Thank you very much,
Phil
#Analytics
#Reporting
------------------------------
Philip Marrone
Boston Children's Hospital
------------------------------