Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » Sub Reports on Scripted datasets
Sub Reports on Scripted datasets [message #716001] Tue, 16 August 2011 07:53 Go to next message
gavinR  is currently offline gavinR Friend
Messages: 4
Registered: August 2011
Junior Member
Hi All,

I have read other other posts on this subject but cannot make sense of the answers (new to more complex birt reports). I have a main dataset (WODETAIL) and for each row I need display a list of WOSTATUS in a nested table/subreport. For this report I need to use scripted datasets. Please can anyone shed light on how I need to adapt the code below?

Main Data Set - WODETAIL:

OPEN:

maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
maximoDataSet.open();

var sqlText = new String();

// Add query to sqlText variable.
sqlText = " select WONUM, "
+ " WORKORDER.DESCRIPTION, "
+ " MULTIASSETLOCCI.FEATURE, "
+ " MULTIASSETLOCCI.featurelabel, "
+ " WORKORDER.M_CUSTOMERREF, "
+ " WORKORDER.PLUSPCUSTOMER, "
+ " PLUSPCUSTOMER.NAME, "
+ " WORKORDER.PARENT, "
//+ " PARENT_DESCRIPTON = case len(WORKORDER.PARENT) when 0 then '' else WO2.description END, "
+ " WORKORDER.LOCATION, "
+ " LOCATIONS.DESCRIPTION AS LOCATION_DESC, "
+ " WORKORDER.ASSETNUM, "
+ " ASSET.DESCRIPTION AS ASSET_DESC, "
+ " WORKORDER.PLUSPCITY, "
+ " ASSET.M_NORTHING1, "
+ " ASSET.M_NORTHING2, "
+ " ASSET.M_EASTING1, "
+ " ASSET.M_EASTING2, "
+ " WORKORDER.M_SUMMARY, "
+ " LONGDESCRIPTION.ldtext as LONGDESCRIPTION, "
+ " WORKORDER.WORKTYPE, "
+ " WORKTYPE.WTYPEDESC, "
+ " WORKORDER.M_FUNCTION, "
+ " M_FUNCTION.DESCRIPTION AS M_FUNCTION_DESC, "
+ " WORKORDER.M_ACTIVITY, "
+ " M_ACTIVITY.DESCRIPTION AS M_ACTIVITY_DESC, "
+ " WORKORDER.M_LENGTH, "
+ " WORKORDER.M_DEPTH, "
+ " WORKORDER.M_WIDTH, "
+ " WORKORDER.M_DIAMETER, "
+ " WORKORDER.M_XCOORDINATE, "
+ " WORKORDER.M_YCOORDINATE, "
+ " WORKORDER.SITEID, "
+ " WORKORDER.STATUS, "
+ " WORKORDER.STATUSDATE, "
+ " WORKORDER.REPORTDATE, "
+ " WORKORDER.M_WOPRIORITY, "
+ " M_WOPRIORITY.DESCRIPTION AS M_WOPRIORITY_DESC, "
+ " WORKORDER.TARGSTARTDATE, "
+ " WORKORDER.TARGCOMPDATE, "
+ " WORKORDER.SCHEDSTART, "
+ " WORKORDER.SCHEDFINISH, "
+ " WORKORDER.ACTSTART, "
+ " WORKORDER.ACTFINISH, "
+ " WORKORDER.M_SOURCE, "
+ " WORKORDER.ORIGRECORDCLASS+''+WORKORDER.ORIGRECORDID as SOURCE_RECORD, "
+ " WORKORDER.M_NOTICETYPE, "
+ " WORKORDER.M_NOTICEREQD, "
+ " WORKORDER.M_FIXEDDATE, "
+ " WORKORDER.M_FIXEDRESOURCE, "
+ " WORKORDER.JPNUM, "
+ " WORKORDER.PMNUM, "
+ " WORKORDER.CONTRACT, "
+ " WORKORDER.M_BUDGETCODE1, "
+ " WORKORDER.M_CONTYEAR, "
+ " WORKORDER.M_SIO, "
+ " WORKORDER.M_COSTHEAD "
+ " from workorder "
+ " left join ASSET on WORKORDER.ASSETNUM=ASSET.ASSETNUM "
+ " left join LOCATIONS on WORKORDER.LOCATION=LOCATIONS.LOCATION "
+ " LEFT JOIN MULTIASSETLOCCI ON WORKORDER.ASSETNUM = MULTIASSETLOCCI.ASSETNUM and WORKORDER.WONUM=MULTIASSETLOCCI.recordkey AND MULTIASSETLOCCI.recordclass = 'WORKORDER' "
+ " left join PLUSPCUSTOMER on WORKORDER.PLUSPCUSTOMER=PLUSPCUSTOMER.CUSTOMER "
+ " left join WORKTYPE on WORKORDER.WORKTYPE=WORKTYPE.WORKTYPE and worktype.orgid = 'HWYS' "
+ " left join longdescription on workorder.workorderid=longdescription.ldkey and longdescription.ldownertable = 'WORKORDER' and ldownercol = 'DESCRIPTION' "
+ " left join (select domainid, value, description from ALNDOMAIN where domainid = 'M_FUNCTION') M_FUNCTION on workorder.M_FUNCTION = M_FUNCTION.value "
+ " left join (select domainid, value, description from ALNDOMAIN where domainid = 'M_ACTIVITY') M_ACTIVITY on workorder.M_ACTIVITY = M_ACTIVITY.value "
+ " left join (select domainid, value, description from ALNDOMAIN where domainid = 'M_ACTIVITY') M_WOPRIORITY on workorder.M_WOPRIORITY = M_WOPRIORITY.value "
// Include the Maximo where clause
+ " where workorder.wonum is not null and workorder.wonum = '100198' "
//+ "and workorder.wonum='" + params["Work Order Number"] + "'"
//+ " and " + params["where"]
;

maximoDataSet.setQuery(sqlText);

FETCH

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.getString("WONUM");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["SITEID"] = maximoDataSet.getString("SITEID");
row["FEATURE"] = maximoDataSet.getString("FEATURE");
row["featurelabel"] = maximoDataSet.getString("featurelabel");
row["M_CUSTOMERREF"] = maximoDataSet.getString("M_CUSTOMERREF");
row["PLUSPCUSTOMER"] = maximoDataSet.getString("PLUSPCUSTOMER");
row["NAME"] = maximoDataSet.getString("NAME");
row["PARENT"] = maximoDataSet.getString("PARENT");
row["LOCATION"] = maximoDataSet.getString("LOCATION");
row["LOCATION_DESC"] = maximoDataSet.getString("LOCATION_DESC");
row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
row["ASSET_DESC"] = maximoDataSet.getString("ASSET_DESC");
row["PLUSPCITY"] = maximoDataSet.getString("PLUSPCITY");
row["M_NORTHING1"] = maximoDataSet.getString("M_NORTHING1");
row["M_NORTHING2"] = maximoDataSet.getString("M_NORTHING2");
row["M_EASTING1"] = maximoDataSet.getString("M_EASTING1");
row["M_EASTING2"] = maximoDataSet.getString("M_EASTING2");
row["M_SUMMARY"] = maximoDataSet.getString("M_SUMMARY");
row["LONGDESCRIPTION"] = maximoDataSet.getString("LONGDESCRIPTION");
row["WORKTYPE"] = maximoDataSet.getString("WORKTYPE");
row["WTYPEDESC"] = maximoDataSet.getString("WTYPEDESC");
row["M_FUNCTION"] = maximoDataSet.getString("M_FUNCTION");
row["M_FUNCTION_DESC"] = maximoDataSet.getString("M_FUNCTION_DESC");
row["M_ACTIVITY"] = maximoDataSet.getString("M_ACTIVITY");
row["M_ACTIVITY_DESC"] = maximoDataSet.getString("M_ACTIVITY_DESC");
row["M_LENGTH"] = maximoDataSet.getString("M_LENGTH");
row["M_DEPTH"] = maximoDataSet.getString("M_DEPTH");
row["M_WIDTH"] = maximoDataSet.getString("M_WIDTH");
row["M_DIAMETER"] = maximoDataSet.getString("M_DIAMETER");
row["M_XCOORDINATE"] = maximoDataSet.getString("M_XCOORDINATE");
row["M_YCOORDINATE"] = maximoDataSet.getString("M_YCOORDINATE");
row["STATUSDATE"] = maximoDataSet.getString("STATUSDATE");
row["REPORTDATE"] = maximoDataSet.getString("REPORTDATE");
row["M_WOPRIORITY"] = maximoDataSet.getString("M_WOPRIORITY");
row["M_WOPRIORITY_DESC"] = maximoDataSet.getString("M_WOPRIORITY_DESC");
row["TARGSTARTDATE"] = maximoDataSet.getString("TARGSTARTDATE");
row["TARGCOMPDATE"] = maximoDataSet.getString("TARGCOMPDATE");
row["SCHEDSTART"] = maximoDataSet.getTimestamp("SCHEDSTART");
row["SCHEDFINISH"] = maximoDataSet.getTimestamp("SCHEDFINISH");
row["ACTSTART"] = maximoDataSet.getTimestamp("ACTSTART");
row["ACTFINISH"] = maximoDataSet.getTimestamp("ACTFINISH");
row["M_SOURCE"] = maximoDataSet.getString("M_SOURCE");
row["SOURCE_RECORD"] = maximoDataSet.getString("SOURCE_RECORD");
row["M_NOTICETYPE"] = maximoDataSet.getString("M_NOTICETYPE");
row["M_FIXEDRESOURCE"] = maximoDataSet.getString("M_FIXEDRESOURCE");
row["M_FIXEDDATE"] = maximoDataSet.getString("M_FIXEDDATE");
row["M_FIXEDRESOURCE"] = maximoDataSet.getString("M_FIXEDRESOURCE");
row["JPNUM"] = maximoDataSet.getString("JPNUM");
row["PMNUM"] = maximoDataSet.getString("PMNUM");
row["CONTRACT"] = maximoDataSet.getString("CONTRACT");
row["M_BUDGETCODE1"] = maximoDataSet.getString("M_BUDGETCODE1");
row["M_CONTYEAR"] = maximoDataSet.getString("M_CONTYEAR");
row["M_SIO"] = maximoDataSet.getString("M_SIO");
row["M_COSTHEAD"] = maximoDataSet.getString("M_COSTHEAD");

//row["datefield"] = maximoDataSet.getTimestamp("datefield");

return (true);

Sub report dataset

OPEN

maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
maximoDataSet.open();

var sqlText = new String();


// Add query to sqlText variable.
sqlText = " select WONUM, "
+ " STATUS, "
+ " CHANGEDATE, "
+ " CHANGEBY "
+ " from wostatus "
// Include the Maximo where clause
//+ " where workorder.wonum is not null and workorder.wonum = '100012' "
//+ " where " + params["where"]
//+ " where wostatus.wonum ='" + params["param_1"] + "'"
// USING GUI I CREATED A PARAM CALL PARAM_1
+ " where wostatus.wonum ='"+params["PARAM_1"]+"'";
;

maximoDataSet.setQuery(sqlText);

FETCH

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.getString("WONUM");
row["STATUS"] = maximoDataSet.getString("STATUS");
row["CHANGEDATE"] = maximoDataSet.getString("CHANGEDATE");
row["CHANGEBY"] = maximoDataSet.getString("CHANGEBY");

//row["datefield"] = maximoDataSet.getTimestamp("datefield");

return (true);

Any and all suggestions on how to fix this would be very much appreciated.

Many Thanks,

Gavin

[Updated on: Tue, 16 August 2011 07:55]

Report message to a moderator

Re: Sub Reports on Scripted datasets [message #716234 is a reply to message #716001] Tue, 16 August 2011 18:00 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

In your nested dataset it looks like you are using a report parameter.
A better approach is to use a dataset parameter. Take a look at the
attached example. It has an outer and inner datset. The inner dataset
is bound to a nested table in the report. It also has an input
parameter for the dataset. If you select the nested table and then
click on the binding tab in the properties editor you will see a button
to set the dataset input pararmeter. In the example it is setting it to
a value from the outer table (in your case that would be row["WONUM"])

The nested script uses this input parameter in its open method to set a
starting variable.

Jason

On 8/16/2011 3:54 AM, gavinR wrote:
> Hi All,
>
> I have read other other posts on this subject but cannot make sense of the answers (new to more complex birt reports). I have a main dataset (WODETAIL) and for each row I need display a list of WOSTATUS in a nested table/subreport. For this report I need to use scripted datasets. Please can anyone shed light on how I need to adapt the code below?
>
> Main Data Set - WODETAIL:
>
> OPEN:
>
> maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
> maximoDataSet.open();
>
> var sqlText = new String();
>
> // Add query to sqlText variable.
> sqlText = " select WONUM, "
> + " WORKORDER.DESCRIPTION, "
> + " MULTIASSETLOCCI.FEATURE, "
> + " MULTIASSETLOCCI.featurelabel, "
> + " WORKORDER.M_CUSTOMERREF, "
> + " WORKORDER.PLUSPCUSTOMER, "
> + " PLUSPCUSTOMER.NAME, "
> + " WORKORDER.PARENT, "
> //+ " PARENT_DESCRIPTON = case len(WORKORDER.PARENT) when 0 then '' else WO2.description END, "
> + " WORKORDER.LOCATION, "
> + " LOCATIONS.DESCRIPTION AS LOCATION_DESC, "
> + " WORKORDER.ASSETNUM, "
> + " ASSET.DESCRIPTION AS ASSET_DESC, "
> + " WORKORDER.PLUSPCITY, "
> + " ASSET.M_NORTHING1, "
> + " ASSET.M_NORTHING2, "
> + " ASSET.M_EASTING1, "
> + " ASSET.M_EASTING2, "
> + " WORKORDER.M_SUMMARY, "
> + " LONGDESCRIPTION.ldtext as LONGDESCRIPTION, "
> + " WORKORDER.WORKTYPE, "
> + " WORKTYPE.WTYPEDESC, "
> + " WORKORDER.M_FUNCTION, "
> + " M_FUNCTION.DESCRIPTION AS M_FUNCTION_DESC, "
> + " WORKORDER.M_ACTIVITY, "
> + " M_ACTIVITY.DESCRIPTION AS M_ACTIVITY_DESC, "
> + " WORKORDER.M_LENGTH, "
> + " WORKORDER.M_DEPTH, "
> + " WORKORDER.M_WIDTH, "
> + " WORKORDER.M_DIAMETER, "
> + " WORKORDER.M_XCOORDINATE, "
> + " WORKORDER.M_YCOORDINATE, "
> + " WORKORDER.SITEID, "
> + " WORKORDER.STATUS, "
> + " WORKORDER.STATUSDATE, "
> + " WORKORDER.REPORTDATE, "
> + " WORKORDER.M_WOPRIORITY, "
> + " M_WOPRIORITY.DESCRIPTION AS M_WOPRIORITY_DESC, "
> + " WORKORDER.TARGSTARTDATE, "
> + " WORKORDER.TARGCOMPDATE, "
> + " WORKORDER.SCHEDSTART, "
> + " WORKORDER.SCHEDFINISH, "
> + " WORKORDER.ACTSTART, "
> + " WORKORDER.ACTFINISH, "
> + " WORKORDER.M_SOURCE, "
> + " WORKORDER.ORIGRECORDCLASS+''+WORKORDER.ORIGRECORDID as SOURCE_RECORD, "
> + " WORKORDER.M_NOTICETYPE, "
> + " WORKORDER.M_NOTICEREQD, "
> + " WORKORDER.M_FIXEDDATE, "
> + " WORKORDER.M_FIXEDRESOURCE, "
> + " WORKORDER.JPNUM, "
> + " WORKORDER.PMNUM, "
> + " WORKORDER.CONTRACT, "
> + " WORKORDER.M_BUDGETCODE1, "
> + " WORKORDER.M_CONTYEAR, "
> + " WORKORDER.M_SIO, "
> + " WORKORDER.M_COSTHEAD "
> + " from workorder "
> + " left join ASSET on WORKORDER.ASSETNUM=ASSET.ASSETNUM "
> + " left join LOCATIONS on WORKORDER.LOCATION=LOCATIONS.LOCATION "
> + " LEFT JOIN MULTIASSETLOCCI ON WORKORDER.ASSETNUM = MULTIASSETLOCCI.ASSETNUM and WORKORDER.WONUM=MULTIASSETLOCCI.recordkey AND MULTIASSETLOCCI.recordclass = 'WORKORDER' "
> + " left join PLUSPCUSTOMER on WORKORDER.PLUSPCUSTOMER=PLUSPCUSTOMER.CUSTOMER "
> + " left join WORKTYPE on WORKORDER.WORKTYPE=WORKTYPE.WORKTYPE and worktype.orgid = 'HWYS' "
> + " left join longdescription on workorder.workorderid=longdescription.ldkey and longdescription.ldownertable = 'WORKORDER' and ldownercol = 'DESCRIPTION' "
> + " left join (select domainid, value, description from ALNDOMAIN where domainid = 'M_FUNCTION') M_FUNCTION on workorder.M_FUNCTION = M_FUNCTION.value "
> + " left join (select domainid, value, description from ALNDOMAIN where domainid = 'M_ACTIVITY') M_ACTIVITY on workorder.M_ACTIVITY = M_ACTIVITY.value "
> + " left join (select domainid, value, description from ALNDOMAIN where domainid = 'M_ACTIVITY') M_WOPRIORITY on workorder.M_WOPRIORITY = M_WOPRIORITY.value "
> // Include the Maximo where clause
> + " where workorder.wonum is not null and workorder.wonum = '100198' "
> //+ "and workorder.wonum='" + params["Work Order Number"] + "'"
> //+ " and " + params["where"]
> ;
>
> maximoDataSet.setQuery(sqlText);
>
> FETCH
>
> 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.getString("WONUM");
> row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
> row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
> row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
> row["STATUS"] = maximoDataSet.getString("STATUS");
> row["SITEID"] = maximoDataSet.getString("SITEID");
> row["FEATURE"] = maximoDataSet.getString("FEATURE");
> row["featurelabel"] = maximoDataSet.getString("featurelabel");
> row["M_CUSTOMERREF"] = maximoDataSet.getString("M_CUSTOMERREF");
> row["PLUSPCUSTOMER"] = maximoDataSet.getString("PLUSPCUSTOMER");
> row["NAME"] = maximoDataSet.getString("NAME");
> row["PARENT"] = maximoDataSet.getString("PARENT");
> row["LOCATION"] = maximoDataSet.getString("LOCATION");
> row["LOCATION_DESC"] = maximoDataSet.getString("LOCATION_DESC");
> row["ASSETNUM"] = maximoDataSet.getString("ASSETNUM");
> row["ASSET_DESC"] = maximoDataSet.getString("ASSET_DESC");
> row["PLUSPCITY"] = maximoDataSet.getString("PLUSPCITY");
> row["M_NORTHING1"] = maximoDataSet.getString("M_NORTHING1");
> row["M_NORTHING2"] = maximoDataSet.getString("M_NORTHING2");
> row["M_EASTING1"] = maximoDataSet.getString("M_EASTING1");
> row["M_EASTING2"] = maximoDataSet.getString("M_EASTING2");
> row["M_SUMMARY"] = maximoDataSet.getString("M_SUMMARY");
> row["LONGDESCRIPTION"] = maximoDataSet.getString("LONGDESCRIPTION");
> row["WORKTYPE"] = maximoDataSet.getString("WORKTYPE");
> row["WTYPEDESC"] = maximoDataSet.getString("WTYPEDESC");
> row["M_FUNCTION"] = maximoDataSet.getString("M_FUNCTION");
> row["M_FUNCTION_DESC"] = maximoDataSet.getString("M_FUNCTION_DESC");
> row["M_ACTIVITY"] = maximoDataSet.getString("M_ACTIVITY");
> row["M_ACTIVITY_DESC"] = maximoDataSet.getString("M_ACTIVITY_DESC");
> row["M_LENGTH"] = maximoDataSet.getString("M_LENGTH");
> row["M_DEPTH"] = maximoDataSet.getString("M_DEPTH");
> row["M_WIDTH"] = maximoDataSet.getString("M_WIDTH");
> row["M_DIAMETER"] = maximoDataSet.getString("M_DIAMETER");
> row["M_XCOORDINATE"] = maximoDataSet.getString("M_XCOORDINATE");
> row["M_YCOORDINATE"] = maximoDataSet.getString("M_YCOORDINATE");
> row["STATUSDATE"] = maximoDataSet.getString("STATUSDATE");
> row["REPORTDATE"] = maximoDataSet.getString("REPORTDATE");
> row["M_WOPRIORITY"] = maximoDataSet.getString("M_WOPRIORITY");
> row["M_WOPRIORITY_DESC"] = maximoDataSet.getString("M_WOPRIORITY_DESC");
> row["TARGSTARTDATE"] = maximoDataSet.getString("TARGSTARTDATE");
> row["TARGCOMPDATE"] = maximoDataSet.getString("TARGCOMPDATE");
> row["SCHEDSTART"] = maximoDataSet.getTimestamp("SCHEDSTART");
> row["SCHEDFINISH"] = maximoDataSet.getTimestamp("SCHEDFINISH");
> row["ACTSTART"] = maximoDataSet.getTimestamp("ACTSTART");
> row["ACTFINISH"] = maximoDataSet.getTimestamp("ACTFINISH");
> row["M_SOURCE"] = maximoDataSet.getString("M_SOURCE");
> row["SOURCE_RECORD"] = maximoDataSet.getString("SOURCE_RECORD");
> row["M_NOTICETYPE"] = maximoDataSet.getString("M_NOTICETYPE");
> row["M_FIXEDRESOURCE"] = maximoDataSet.getString("M_FIXEDRESOURCE");
> row["M_FIXEDDATE"] = maximoDataSet.getString("M_FIXEDDATE");
> row["M_FIXEDRESOURCE"] = maximoDataSet.getString("M_FIXEDRESOURCE");
> row["JPNUM"] = maximoDataSet.getString("JPNUM");
> row["PMNUM"] = maximoDataSet.getString("PMNUM");
> row["CONTRACT"] = maximoDataSet.getString("CONTRACT");
> row["M_BUDGETCODE1"] = maximoDataSet.getString("M_BUDGETCODE1");
> row["M_CONTYEAR"] = maximoDataSet.getString("M_CONTYEAR");
> row["M_SIO"] = maximoDataSet.getString("M_SIO");
> row["M_COSTHEAD"] = maximoDataSet.getString("M_COSTHEAD");
>
> //row["datefield"] = maximoDataSet.getTimestamp("datefield");
>
> return (true);
>
> Sub report dataset
>
> OPEN
>
> maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
> maximoDataSet.open();
>
> var sqlText = new String();
>
>
> // Add query to sqlText variable.
> sqlText = " select WONUM, "
> + " STATUS, "
> + " CHANGEDATE, "
> + " CHANGEBY "
> + " from wostatus "
> // Include the Maximo where clause
> //+ " where workorder.wonum is not null and workorder.wonum = '100012' "
> //+ " where " + params["where"]
> //+ " where wostatus.wonum ='" + params["param_1"] + "'"
> // USING GUI I CREATED A PARAM CALL PARAM_1
> + " where wostatus.wonum ='"+params["PARAM_1"]+"'";
> ;
>
> maximoDataSet.setQuery(sqlText);
>
> FETCH
>
> 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.getString("WONUM");
> row["STATUS"] = maximoDataSet.getString("STATUS");
> row["CHANGEDATE"] = maximoDataSet.getString("CHANGEDATE");
> row["CHANGEBY"] = maximoDataSet.getString("CHANGEBY");
>
> //row["datefield"] = maximoDataSet.getTimestamp("datefield");
>
> return (true);
Re: Sub Reports on Scripted datasets [message #716355 is a reply to message #716234] Wed, 17 August 2011 07:01 Go to previous messageGo to next message
gavinR  is currently offline gavinR Friend
Messages: 4
Registered: August 2011
Junior Member
Hi Jason,

Thank you so much for the reply. I tried to download the attachment but got a "Error: central directory not found." when I tried to unzip it.

Would you be able to re-attach the file (perhaps unzipped) so I could take a look at your example solution?

Many many thanks,

Gavin
Re: Sub Reports on Scripted datasets [message #716503 is a reply to message #716355] Wed, 17 August 2011 14:57 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Sure, here it is.

Jason

On 8/17/2011 3:01 AM, gavinR wrote:
> Hi Jason,
>
> Thank you so much for the reply. I tried to download the attachment but
> got a "Error: central directory not found." when I tried to unzip it.
>
> Would you be able to re-attach the file (perhaps unzipped) so I could
> take a look at your example solution?
>
> Many many thanks,
>
> Gavin
Re: Sub Reports on Scripted datasets [message #716695 is a reply to message #716503] Thu, 18 August 2011 06:48 Go to previous messageGo to next message
gavinR  is currently offline gavinR Friend
Messages: 4
Registered: August 2011
Junior Member
Hi Jason,

The penny has now dropped!

Embarrisingly one of the key issues was my subreport had an error in the SQL so was never going to return any rows regardless of how I joined it Sad

I have attached example screen shots and report for others to follow.

Thanks for your help. It was very kind of you and much appreciated.

Regards,

Gavin
Re: Sub Reports on Scripted datasets [message #1779018 is a reply to message #716695] Thu, 28 December 2017 18:47 Go to previous message
qadir nawaz is currently offline qadir nawazFriend
Messages: 1
Registered: December 2017
Junior Member
In this report I want to get the work order and description in one line
and statuses and changedate reiterated for the othere workorders.
but i am getting only first workorder and its related statuses.
I need all the workorders in the same format.
Please help....
Previous Topic:No preview on BIRT OXYGEN Report Developer-Web Browser fix not working
Next Topic:Dynamic Master Page footer based on XML data field
Goto Forum:
  


Current Time: Sun Feb 18 08:25:14 GMT 2018

Powered by FUDForum. Page generated in 0.02349 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software