Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

RQM Scorecard Report Widget Error

Hi,

Kindly help with this error we've encountered.
Halfway in the display of the scorecard widget, an error appears stating:

The following items have errors:

TextData (id = 3729):
+ Cannot execute the statement.
    org.eclipse.datatools.connectivity.oda.OdaException: ORA-01795: maximum number of expressions in a list is 1000

ReportDesign (id = 1):
+ There are errors evaluating script "// Test to see if we are at the end of the results we need to create
// If so, we return false and the fetch() method will not get called again
if (typeof root == "undefined" || root == null || i >= root.ewiToDefect.length )
return false

// Set our column fields for this row of data to be added to the dataset result
// The available row columns for this dataset are defined as the 'output columns' on the dataset.
row["EWI_ITEMID"]   = root.ewiToDefect[i].ewi
row["WORKITEM_ITEMID"]  = root.ewiToDefect[i].defect
row["WORKITEM_BLOCKING"]= root.ewiToDefect[i].blocking

// lookup the associated defect and assign field values to this dataset results columns
// All the column values of the defect are defined in dataset 'Remote - Workitems'
var defect = root.defects[root.ewiToDefect[i].defect]
row["WORKITEM_NAME"]    = defect["WORKITEM_NAME"]
row["WORKITEM_ID"]     = defect["REFERENCE_ID"]
row["WORKITEM_URL"]    = defect["WORKITEM_URL"]
row["WORKITEM_STATE"]    = defect["WORKITEM_STATEID.WORKITEMSTATE_NAME"]
row["WORKITEM_RESOLVER"]  = defect["WORKITEM_RESOLVER.CONTRIBUTOR_USERID"]
row["WORKITEM_PRIORITY"]  = defect["WORKITEM_PRIORITY.WORKITEMPRIORITY_NAME"]
row["WORKITEM_SEVERITY"]  = defect["WORKITEM_SEVERITY.WORKITEMSEVERITY_NAME"]
row["WORKITEM_DATE_CREATED"] = defect["WORKITEM_DATE_CREATED_COLUMN"]
row["WORKITEM_DATE_RESOLVED"] = defect["WORKITEM_DATE_RESOLVED_COLUMN"]

// Override default text value in the DW with appropriate translated text
if ( row["WORKITEM_RESOLVER"] == "Info not available" ) {
 row["WORKITEM_RESOLVER"] = nls.getString("legend.unassigned");
}

// The DW has default dates of 1969 instead of null.  This is to work around the problem.
// If the DW has 1969, then the workitem has not been resolved and we don't want to show a date.
if (  row["WORKITEM_DATE_RESOLVED"] != null && row["WORKITEM_DATE_RESOLVED"].getTime() == 0 ) {
 row["WORKITEM_DATE_RESOLVED"] = null ;
}

// increment to get the next row of data when we are called again
i++

// return true to indicate that we should continue processing results for this dataset
return true":
{1}.
+ Data Set script method "Fetch" returned null; expected a Boolean value.


Upon investigation of the logs, it says that:

0000002a ScriptExecuto W   Fail to execute script in function __bm_FETCH(). Source:
------
" + // Test to see if we are at the end of the results we need to create
// If so, we return false and the fetch() method will not get called again
if (typeof root == "undefined" || root == null || i >= root.ewiToDefect.length )
return false

// Set our column fields for this row of data to be added to the dataset result
// The available row columns for this dataset are defined as the 'output columns' on the dataset.
row["EWI_ITEMID"]         = root.ewiToDefect[i].ewi
row["WORKITEM_ITEMID"]     = root.ewiToDefect[i].defect
row["WORKITEM_BLOCKING"]= root.ewiToDefect[i].blocking

// lookup the associated defect and assign field values to this dataset results columns
// All the column values of the defect are defined in dataset 'Remote - Workitems'
var defect = root.defects[root.ewiToDefect[i].defect]
row["WORKITEM_NAME"]             = defect["WORKITEM_NAME"]
row["WORKITEM_ID"]                 = defect["REFERENCE_ID"]
row["WORKITEM_URL"]             = defect["WORKITEM_URL"]
row["WORKITEM_STATE"]             = defect["WORKITEM_STATEID.WORKITEMSTATE_NAME"]
row["WORKITEM_RESOLVER"]        = defect["WORKITEM_RESOLVER.CONTRIBUTOR_USERID"]
row["WORKITEM_PRIORITY"]        = defect["WORKITEM_PRIORITY.WORKITEMPRIORITY_NAME"]
row["WORKITEM_SEVERITY"]        = defect["WORKITEM_SEVERITY.WORKITEMSEVERITY_NAME"]
row["WORKITEM_DATE_CREATED"]    = defect["WORKITEM_DATE_CREATED_COLUMN"]
row["WORKITEM_DATE_RESOLVED"]    = defect["WORKITEM_DATE_RESOLVED_COLUMN"]

// Override default text value in the DW with appropriate translated text
if ( row["WORKITEM_RESOLVER"] == "Info not available" ) {
    row["WORKITEM_RESOLVER"] = nls.getString("legend.unassigned");
}

// The DW has default dates of 1969 instead of null.  This is to work around the problem.
// If the DW has 1969, then the workitem has not been resolved and we don't want to show a date.
if (  row["WORKITEM_DATE_RESOLVED"] != null && row["WORKITEM_DATE_RESOLVED"].getTime() == 0 ) {
    row["WORKITEM_DATE_RESOLVED"] = null ;
}

// increment to get the next row of data when we are called again
i++

// return true to indicate that we should continue processing results for this dataset
return true + "
-----
A BIRT exception occurred. See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError: Cannot read property "WORKITEM_NAME" from undefined (/report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"]#15)
 Script source: /report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"], line: 0, text:
__bm_FETCH()
                                 org.eclipse.birt.data.engine.core.DataException: Fail to execute script in function __bm_FETCH(). Source:
------
" + // Test to see if we are at the end of the results we need to create
// If so, we return false and the fetch() method will not get called again
if (typeof root == "undefined" || root == null || i >= root.ewiToDefect.length )
return false

// Set our column fields for this row of data to be added to the dataset result
// The available row columns for this dataset are defined as the 'output columns' on the dataset.
row["EWI_ITEMID"]         = root.ewiToDefect[i].ewi
row["WORKITEM_ITEMID"]     = root.ewiToDefect[i].defect
row["WORKITEM_BLOCKING"]= root.ewiToDefect[i].blocking

// lookup the associated defect and assign field values to this dataset results columns
// All the column values of the defect are defined in dataset 'Remote - Workitems'
var defect = root.defects[root.ewiToDefect[i].defect]
row["WORKITEM_NAME"]             = defect["WORKITEM_NAME"]
row["WORKITEM_ID"]                 = defect["REFERENCE_ID"]
row["WORKITEM_URL"]             = defect["WORKITEM_URL"]
row["WORKITEM_STATE"]             = defect["WORKITEM_STATEID.WORKITEMSTATE_NAME"]
row["WORKITEM_RESOLVER"]        = defect["WORKITEM_RESOLVER.CONTRIBUTOR_USERID"]
row["WORKITEM_PRIORITY"]        = defect["WORKITEM_PRIORITY.WORKITEMPRIORITY_NAME"]
row["WORKITEM_SEVERITY"]        = defect["WORKITEM_SEVERITY.WORKITEMSEVERITY_NAME"]
row["WORKITEM_DATE_CREATED"]    = defect["WORKITEM_DATE_CREATED_COLUMN"]
row["WORKITEM_DATE_RESOLVED"]    = defect["WORKITEM_DATE_RESOLVED_COLUMN"]

// Override default text value in the DW with appropriate translated text
if ( row["WORKITEM_RESOLVER"] == "Info not available" ) {
    row["WORKITEM_RESOLVER"] = nls.getString("legend.unassigned");
}

// The DW has default dates of 1969 instead of null.  This is to work around the problem.
// If the DW has 1969, then the workitem has not been resolved and we don't want to show a date.
if (  row["WORKITEM_DATE_RESOLVED"] != null && row["WORKITEM_DATE_RESOLVED"].getTime() == 0 ) {
    row["WORKITEM_DATE_RESOLVED"] = null ;
}

// increment to get the next row of data when we are called again
i++

// return true to indicate that we should continue processing results for this dataset
return true + "
-----
A BIRT exception occurred. See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError: Cannot read property "WORKITEM_NAME" from undefined (/report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"]#15)
 Script source: /report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"], line: 0, text:
__bm_FETCH()

And

Caused by: org.eclipse.birt.data.engine.core.DataException: A BIRT exception occurred. See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError: Cannot read property "WORKITEM_NAME" from undefined (/report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"]#15)
 Script source: /report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"], line: 0, text:
__bm_FETCH()
    at org.eclipse.birt.data.engine.core.DataException.wrap(DataException.java:118)
    at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:1005)
    at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138)
    ... 121 more
Caused by: org.eclipse.birt.core.exception.CoreException: Error evaluating Javascript expression. Script engine error: TypeError: Cannot read property "WORKITEM_NAME" from undefined (/report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"]#15)
 Script source: /report/data-sets/script-data-set[@id="3880"]/method[@name="fetch"], line: 0, text:
__bm_FETCH()

0 votes



One answer

Permanent link
What version of RQM do you use? it is likely you are hitting the defect:
https://jazz.net/jazz/web/projects/Jazz%20Foundation#action=com.ibm.team.workitem.viewWorkItem&id=288331


0 votes

Comments

Hi,

It is version 4.0.5 (RJF-I20131025-1325).

and how can it be fixed? Thanks.

Upgrade is the best option.
For example, you can test with v5.0.2(latest) with your data in a testing environment and once it works for you(not only for this issue, I understand that many users will have a test before upgrading their production environment), you can go to production.

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 7,495

Question asked: Feb 09 '15, 11:02 p.m.

Question was seen: 3,882 times

Last updated: Feb 10 '15, 1:15 a.m.

Confirmation Cancel Confirm