How to Create a BIRT Report Library

2011
Maximo Query with
Open Source BIRT
Sometimes an organisation needs to provide certain users with simple query tools over
their key applications rather than complete access to use the application. In this case it
may be appropriate to create your query tool using BIRT and format the output to
resemble the original application. This is part one of a two part series.
Paul Bappoo
Paul@BirtReporting.com
http://www.BirtReporting.com
1
February 2011
CONTENTS
How To Contact The Author ........................................................................................................................... 4
Introduction .................................................................................................................................................... 5
What You Will Need ....................................................................................................................................... 6
The Basic Report ............................................................................................................................................. 7
Adding the Parameter .................................................................................................................................... 9
Laying Out the Report .................................................................................................................................. 13
The Header Section .................................................................................................................................. 13
The Detail Section ..................................................................................................................................... 16
The line detail fields.................................................................................................................................. 17
Conclusion .................................................................................................................................................... 19
More Information ......................................................................................................................................... 20
2
Paul Bappoo –Query Maximo with Open Source BIRT (Part 1)
© COPYRIGHT 2011 by Paul Bappoo, all rights reserved.
This guide is furnished under license and may be used or copied only in accordance withthe terms of such license. The content of this
guide is furnished for informational use only, is subject to change without notice, andshould not be construed as a commitment by the
author. The author assumes no responsibility or liability for any errors or inaccuraciesthat may appear in this guide.
Except as permitted by such license, no part of this publication may be reproduced, stored in a retrieval system or transmitted, inany form
or by any means, electronic, mechanical, recording or otherwise, without the prior written permission of the author.
All product and company names are trademarks or registered trademarks oftheir respective holders.
3
HOW TO CONTACT THE AUTHOR
Email: Paul@BirtReporting.com
Web Site: http://www.BirtReporting.com
Paul Bappoo is the author of BIRT for Beginners (which is available in paperback from BIRTReporting.com,
Amazon and Barnes and Noble amongst others) and the BIRT for Maximo Self Study Workbook, also
available from BIRTReporting.com. He has been an international technical software consultant and
involved with computers for over 30 years. Paul has an interest in BIRT reporting, enterprise application
integration, automated software testing, computer based training and enterprise system implementation.
Paul runs the BIRT User Group UK and is a member of the BIRT-Exchange Advisory Council. He would be
delighted to hear from you with your tips, tricks and stories about your usage of BIRT. If you have a
question, a need for training or consulting or great tip to share with the community then drop him a line.
4
INTRODUCTION
Do you have Maximo users who, for the most part, only need to run queries over your Maximo
data? Most large organisations do and if you have not yet identified them then now may be the
time. Maximo 7.1 and above, of course, comes with BIRT 2.3.2 as the budled report writer
software, however the open source community have developed BIRT beyond this version and at
the time of writing 2.6.1 is the current release.
BIRT can be used for more than simple reporting duties so in this tutorial we look at how to use
the latest version of open source BIRT as a query tool over Maximo, running from outside the
Maximo environment and how to format the resultant “reports” to resemble the Maximo screen
that the user would see if they were logged on to Maximo itself. Even if you don’t wish to report
over Maximo, this tutorial provides a valuable insight into the advanced formatting capabilities of
BIRT.
Here is a screenshot of the report that we are going to build:
The complete design files and all of the image files that were used in the creation of this report
are available free of charge to readers of my book “BIRT for Beginners” or readers of my “BIRT
for Maximo Self Study Workbook”. Just visit the readers area of my web site:
http://www.birtreporting.com/ReadersEntryPage.html
5
WHAT YOU WILL NEED
In order to create the “look and feel” of this report you will need some graphic files. You can
create these yourself with any image editing software or if you are a reader of my books then you
can download the files from my web site.
The files are as follows:
MXReportHeader.jpg
This is an image I created to sit at the top of all the reports and resembles the Maximo header
image. Of course you can create your own image to resemble your corporate reporting style or
just use mine.
MXArrow.jpg
This is the arrow that sits to the left of each detail line of the report. In this example we are
displaying purchase order lines. In the Maximo application this image would be active and when
clicked on it would reveal more details about the parchase order line. In this case it is a static
image, but could easily be made into a hyperlink which would run a secondary report to show the
line details.
MXFindBG.jpg
This image is the background to the search toolbar, that sits just beneath the main report header.
It is a thin sliver of an image and the report design uses standard HTML functionality to repeat it
to fill the entire width of the search bar.
MXLookupBtn.gif
This image is the hyperlink that actually runs the report, once the user has selected the PO
Number that they want to view.
You will also need a copy of the open source BIRT Report Designer and since this report uses a
Java Server Page (JSP), you will need something with which to create and edit one of those.
Luckily the BIRT designer is Eclipse based and so forms an excellent choice for JSP editing too.
For details on how to download and intall the BIRT Designer please see my report: The Complete
Getting Started Guide to BIRT which is available for free from the members area of
www.BIRTReporting.com.
6
THE BASIC REPORT
The BIRT report at the heart of this example is a very simple listing of purchase order lines,
combined with a little information from the report header.
When creating a report with BIRT 2.3.2 for Maximo you need to use the scripted data source
method, however, when creating a report which is designed to run outside of Maximo there is a
much easier way to create a data source and a data set. Again, follow the example provided in
my beginners guide: The Complete Getting Started Guide to BIRT which is available for free from
the members area of www.BIRTReporting.com.
To create the example report I used for the Maximo PO Lines I created 2 datasets, one to give
me a list of all the PO numbers so that the user could select one easily and one to source all the
PO and POLine data.
The SQL statement for the first was as follows:
select distinct PONum
from PO
And the second was like this:
select
po.description as POHeadDesc,
poline.*,
left(poline.description,60) as LineDesc,
left(po.description,50) as description,
po.status,
po.totalcost
from POLine
inner join po on po.ponum = poline.ponum
where poline.ponum = ?
Of course you can use your own SQL and select whatever data you like for your example.
TIP: It is always a good idea to write your SQL statements in a SQL query editor such as TOAD
or MS SQL Enterprise Manager to ensure they work, before moving them into BIRT.
7
The question mark in the second SQL statement indicates that a parameter will be used to
provide the value to the SQL at runtime. In my example this is going to be the PO Number
selected by the user.
Once you have created your two datasets you should be able to see them in the BIRT Designer
as follows:
POLines is the data set that returns the line details that will be used to populate the report and
POList is the data set that returns the list of PO’s that the user will select from at runtime.
8
ADDING THE PARAMETER
To add the report parameter that will be selected by the user at runtime, right click on the Report
Parameters node and select New Parameter.
9
Complete the parameter dialogue as shown:
Notice how the display type for the parameter is set to Combo Box – this is because we want the
user to be able to either select from a drop down list of PO numbers or type in their own PO
number.
The selection list values are set as Dynamic and the data set is specified as POList (remember
that’s the one that provides the list of PO numbers to select from).
I also like to provide a default value of a known database record so that when I test the data set in
the next stage, I know if it is working!
10
Next we need to join our report parameter to the data set, so reopen the dataset and select the
Parameters node.
You will see an entry here called param_1 – this is created automatically by BIRT because you
put that question mark into the original SQL statement. Select it and click the Edit button.
11
Now in the Linked To Report Parameter field, select the report parameter that you just created.
That’s it, now when the report runs, the user will be asked to select or type a PO Number and this
will be passed into the report SQL replacing the question mark and thereby filtering the report to
select all the lines for just the one selected PO.
Try this now by previewing the data set results and ensure that data is being returned. This is
where the default parameter value comes in handy, because without it, no data would be
returned!
12
LAYING OUT THE REPORT
Next you will want to set up 2 tables on your report layout andpopulate them with fields from your
data set.
The first table will hold details of the PO header information so will not require any detail or footer
rows, sinceit is supposed to only display a singlerecord. Create the table with 14 columns and 5
header rows. You will need to edit the table that BIRT creates for you by default to add in the
additional headers and remove the footer.
THE HEADER SECTION
Add the following fields to the third header row:
PONum
Description
SiteID
Status
TotalCost
Add an appropriate label in front of each field and leave a single column empty between each
label/field group, as in the screen shot below.
Format the text fields as follows for the field labels:
13
And as follows for the data items:
Next highlight all the cells in the second row, right click and select Merge Cells. This creates one
single cell that fills theentire second row. Place a label in this cell and set the general and border
properties as follows:
14
The label border colour as for most of the colours in this example, is defined using a custom
colour. To create the custom colour, click the colour box, click Define Custom Colours, select the
first Custom Colour box, then enter the RGB values into the appropriate fields and click Add to
Custom Colours. The colour will then be available to select from the palette for use in other areas
of your report.
You may need to play around with the left/right justification of the fields and format the number
fields appropriately. To format number fields to show two decimal places, select each number
field that you wish to format and set the properties as per the screen shot below.
15
THE DETAIL SECTION
Now we need to create the header for the detail lines section, which will appear in the second of
the two tables. I chose to place a label in the fourth row of the first table, but it could equally be
placed into the header row of the second table. Once the field is placed, set the background
colour as per the screen shot below and enter the text “PO Lines”
16
THE LINE DETAIL FIELDS
From the POLines dataset place the following fields into the second table, but this time place
them into the detail section, rather than the header.
POLineNum
ItemNum
LineDesc
OrderQuantity
OrderUnit
UnitCost
Discount
Tax1
LineCost
LoadedCost
Notice again that we separate the individual columns with a blank column as in the screenshot
below:
When you add the data fields you will see that the headers are added automatically for you, but
since they adopt the underlying field names, you may wish to edit them to a more appropriate
value.
Next we need to format the column headers and the field values. Here is the formatting for the
column headers:
17
And here is the formatting for the data items:
Finally the report date is added to the end of the report. BIRT does this by default and it is part of
the master page. Click on the master page tab, scroll to the end and modfiy the font and
background colours as we have done previously.
18
CONCLUSION
That’s about it for the BIRT report part of this. Preview the report in your browser and see how it
looks:
You will notice of course that the header image and the parameter selection are still not present
and the default BIRT viewer colour scheme is occupying the top of the report window.
In order to place a header image and paramter on the screen, above the report header objects
we need to invoke a little Java Server Page (JSP) and that will be the subject of the next tutorial
in this series.
I hope you enjoy creating this Maximo styled report and I hope it is useful for you. If you have any
difficulties please swing by the forum at BIRTReporting.com and post your query there. Our
members are a helpful bunch and I pop on there myself from time to time so there is a good
chance you will find a solution to your issue.
Also, don’t forget to become a member of BIRTReporting.com, it’s free to join and you will
automatically be alerted when the next part of this tutorial becomes available. Plus you will get
free access to the members area where you can find many other tutorials like this.
Finally, don’t forget that if you are a reader of either of my two books, “BIRT for Beginners” or
“BIRT for Maximo Self Study Workbook” then you can download the source files for this tutorial
from the readers area. This will allow you to use a pre-prepared BIRT report as a template for
creating these examples and any future Maximo styled reports that you need.
19
MORE INFORMATION
This book, written by Paul Bappoo, the founder of the
BIRT User Group UK presents an overview of the
open source BIRT tools and the commercial
enhancements available from Actuate, including...
Eclipse BIRT Designer, Actuate BIRT Designer,
iServer Express, Interactive BIRT viewer, Actuate
BIRT Studio, BIRT Spreadsheet Designer
With walkthrough tutorials of the main features,
including screenshots, from installation through data
selection to formatting reports and fully graphical
Flash charting this book will have you creating your
own reports from scratch in only a couple of hours.
If you are too busy to spend days learning software
and want tangible results fast then BIRT For
Beginners is for you.
When you buy the book you will automatically get
access to the readers section of my web site which
includes BIRT report request forms that you can
distribute to your end users, extra chapters in PDF
format and an ever growing library of reports,
tutorials, reviews, tips & tricks.
Buy the book and get free membership of BIRT Reporting and the BIRT User Group UK at:
http://www.BIRTReporting.com
Please feel free to share this address with your colleagues and inspire them to use BIRT to
create great looking reports.
I look forward to your feedback so please feel free to send me an email and let me know how you
get on with BIRT, provide feedback on this guide or share your tips and tricks.
Paul Bappoo
Paul@BirtReporting.com
20