How Maximo Communicates with BIRT

Posted by Derek Steele on July 24, 2018

Reporting in Maximo is one of the best ways to stay on top of your data and BIRT is the embedded report engine and primary reporting tool utilized in Maximo. BIRT has been used with Maximo since Maximo V7.1.1 with BIRT V2.1.2. Since Maximo V7.5.0.0, BIRT has grown in popularity with clients and is now the report engine that drives all Query Based Reports (QBRs) and out of the box (OOB) reports.

When a BIRT report runs within Maximo how does Maximo and BIRT “talk” to each other? Firstly, BIRT’s library, style sheet, and template files are located on the Maximo application server which allows it to process the report being executed. These files provide a consistent look and feel across all reports.  Additionally, all reports are represented as XML text in the database, so when a report is executed, BIRT uses Java and JavaScript to begin opening the data set, executing the queries, and generating the report output. When the BIRT library functions are called, the following actions are performed:

  • The passing of parameters happens for QBR (Ad Hoc) reports in embedded BIRT or to a BIRT report design for an out of box report
  • Executing an Out of Box BIRT report, Maximo opens a new tab with BIRT’s standard report viewer interface
  • Parameter values are retrieved from Maximo. The standard parameters are as follows:
    • appname: Passed from Maximo. Represents the application name that the current MBO is accessed through
    • “where” clause is built dynamically based on the user’s input
      • e. Sitting on the Work Order List tab in Work Order Tracking and user filters for =APPR work orders, the “where” clause will contain the filter [workorder].status=’APPR’ ([workorder] is implied from the parameter appname)
      • If no additional conditions are defined in the where clause passed, BIRT defaults to using “1=1”
    • paramdelimeter: Indicate the parameter delimiter inbound/unbound parameter strings
    • paramstring: Contains the undelimitated parameter string
  • A data set is created/opened - this consumes a database connection given to the Maximo application server
  • The data set’s query is run
  • Data is fetched from the query’s results
  • Data is written to the report’s layout
  • The data set is closed – this returns the database connection

Note: each data set in a report design is processed individually such that BIRT uses the minimal number of database connections required. In other words, a data set will be created/opened then closed before another data set is created/opened.

Stay with Cohesive; we will have more blogs covering BIRT topics in the coming weeks. You can learn more about our complete consulting service offerings by visiting our website.

Topics: Maximo data, BIRT, Reports

Written by Derek Steele

Find me on:

Subscribe to Email Updates

Lists by Topic

see all

Posts by Topic

see all

Recent Posts