Home
Analytics
MAXIMO and Eclipse
Stry
How can I confirm my Eclipse is configured correctly for Maximo for creating and debugging reports? Not sure if I have all I need.
I can create Maximo reports in Eclipse but that's about all I know how to do?
One of my issues is I wrote a query that returns the data I want. It's an Oracle db and I'm using Toad to connect to it. The query works in Toad however when I create a new maximo report I paste the query into the wizard. As soon as the wizard is done and before I drop any fields on the report I go to Datasets select my dataset right click and hit edit. There when I preview the dataset it's empty. I add fields to the report and run it. It runs with not error that I can see but report is empty. I can't figure out why or where to start finding the issue. How do I debug in eclipse? If someone can walk me threw this is baby steps that would be awesome. Urgent help needed please thanks.
Find more posts tagged with
Comments
robbinma
Hello Stry
The connection properties for the BIRT viewer configuration are defined in this file:
{Eclipse_Home}\plugins\org.eclipse.birt.report.viewer_2.3.2.r232_20090212\birt\WEB-INF\classes\mxreportdatasources.properties
The following javascript is quite useful for displaying debug messages
http://www.lebirtexpert.com/wordpress/2010/03/03/using-a-popup-debug-window/
You don't say if you intend running the reports in the Maximo environment.
maximo reports rely on a scripted dataset but you seem to be using a SQL data set.
You won't be able to use the standard maximo parameters e.g. where
There are a number of useful resources at the IBM wiki page here:
http://www.ibm.com/developerworks/wikis/display/maximo/Reports
Stry
<blockquote class='ipsBlockquote' data-author="'robbinma'" data-cid="85569" data-time="1321909820" data-date="21 November 2011 - 02:10 PM"><p>
Hello Stry<br />
<br />
The connection properties for the BIRT viewer configuration are defined in this file:<br />
{Eclipse_Home}\plugins\org.eclipse.birt.report.viewer_2.3.2.r232_20090212\birt\WEB-INF\classes\mxreportdatasources.properties<br />
<br />
The following javascript is quite useful for displaying debug messages<br />
<a class='bbc_url' href='
http://www.lebirtexpert.com/wordpress/2010/03/03/using-a-popup-debug-window/'>http://www.lebirtexpert.com/wordpress/2010/03/03/using-a-popup-debug-window/</a><br
/>
<br />
<br />
You don't say if you intend running the reports in the Maximo environment.<br />
maximo reports rely on a scripted dataset but you seem to be using a SQL data set.<br />
You won't be able to use the standard maximo parameters e.g. where<br />
<br />
There are a number of useful resources at the IBM wiki page here:<br />
<a class='bbc_url' href='
http://www.ibm.com/developerworks/wikis/display/maximo/Reports'>http://www.ibm.com/developerworks/wikis/display/maximo/Reports</a><br
/></p></blockquote>
Hi robbinma,<br />
<br />
Thanks you much for the reply. The links are very helpful.<br />
<br />
I will be running the report in the Maximo environment. <br />
In fact the report is based on an ad hoc report by a user.<br />
In Eclipse when I create a new maximo report the wizard asks for a select statement.<br />
I use the one from the ad hoc report with a few minor adjustments like adding a work order number<br />
<br />
Here is the open script<br />
<br />
maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());<br />
maximoDataSet.open();<br />
var sqlText = new String();<br />
sqlText = <br />
"select " <br />
+ " sr.ticketid,sr.location,sr.description,sr.reportedby,sr.reportedpriority,sr.status,sr.owner,sr.reportdate,sr.ticketuid,RR.RELATEDRECKEY wonum "<br />
+ "from sr , relatedrecord rr" <br />
+ "where " + params["where"] + " and ( " + "( ( sr.status = 'INPROG' or sr.status = 'NEW' or sr.status = 'PENDING' or sr.status = 'QUEUED' ) and ( sr.reportedpriority = 6 or sr.reportedpriority = 7 ) ) and ( exists (select 1 from maximo.multiassetlocci where (exists (select 1 from maximo.locancestor where ((ancestor like '%WP%' ) ) and (location =multiassetlocci.location and systemid = ( select systemid from locsystem where primarysystem = 1 and siteid =multiassetlocci.siteid ) and siteid=multiassetlocci.siteid ) ) ) and (recordkey=sr.ticketid and recordclass=sr.class ) ) )" + " and RR.RECORDKEY = SR.TICKETID and RR.CLASS = 'SR' and RR.SITEID = 'WOLFLAKE' and RR.RELATEDRECCLASS = 'WORKORDER') " <br />
+ " order by sr.ticketid desc "<br />
;<br />
<br />
maximoDataSet.setQuery(sqlText);<br />
<br />
maximoDataSet.registerDataTranslation("ticketid", "ticketuid", "sr", "TICKETID");<br />
maximoDataSet.registerDataTranslation("location", "ticketuid", "sr", "LOCATION");<br />
maximoDataSet.registerDataTranslation("description", "ticketuid", "sr", "DESCRIPTION");<br />
maximoDataSet.registerDataTranslation("reportedby", "ticketuid", "sr", "REPORTEDBY");<br />
maximoDataSet.registerDataTranslation("status", "ticketuid", "sr", "STATUS");<br />
maximoDataSet.registerDataTranslation("owner", "ticketuid", "sr", "OWNER");<br />
maximoDataSet.registerDataTranslation("wonum", "ticketuid", "sr", "WONUM");<br />
<br />
the only thing I added was anything to do with wonum. Since we are on the topic can you explain what these lines are doing.<br />
maximoDataSet.registerDataTranslation("ticketid", "ticketuid", "sr", "TICKETID");<br />
maximoDataSet.registerDataTranslation("location", "ticketuid", "sr", "LOCATION");<br />
maximoDataSet.registerDataTranslation("description", "ticketuid", "sr", "DESCRIPTION");<br />
maximoDataSet.registerDataTranslation("reportedby", "ticketuid", "sr", "REPORTEDBY");<br />
maximoDataSet.registerDataTranslation("status", "ticketuid", "sr", "STATUS");<br />
maximoDataSet.registerDataTranslation("owner", "ticketuid", "sr", "OWNER");<br />
maximoDataSet.registerDataTranslation("wonum", "ticketuid", "sr", "WONUM");<br />
<br />
I did do some reading on it but don't get it.<br />
<br />
Incase you want to have a look this is the fetch script<br />
if (!maximoDataSet.fetch()) <br />
return (false);<br />
<br />
// Add a line for each output column<br />
// The specific get method should match the data type of the output column.<br />
row["ticketid"] = maximoDataSet.getString("ticketid"); <br />
row["location"] = maximoDataSet.getString("location"); <br />
row["description"] = maximoDataSet.getString("description"); <br />
row["reportedby"] = maximoDataSet.getString("reportedby"); <br />
if (maximoDataSet.getString("reportedpriority") != null) <br />
{ <br />
row["reportedpriority"] = maximoDataSet.getInteger("reportedpriority"); <br />
}<br />
row["status"] = maximoDataSet.getString("status"); <br />
row["owner"] = maximoDataSet.getString("owner"); <br />
row["reportdate"] = maximoDataSet.getTimestamp("reportdate"); <br />
row["wonum"] = maximoDataSet.getString("wonum");<br />
return (true);<br />
<br />
Thanks<br />
Stry