Public Utility: Maximo Reporting Using
External Report Integration, TRM Rules Manager rules development, and Oracle database
programming
Project Summary
Active Solutions Northwest was asked to provide a reporting solution
for a Washington-state public utility to support an upgrade of Maximo
4.11 to Maximo 6.2.2 and then from Maximo 6.2.2 to Maximo 7.1.1.5, with
the Utilities add-on.
Additionally, Active Solutions was asked to also develop an Oracle
package to provide Purchase Order encumbrance information for integration
with PeopleSoft, since Maximo supply-chain capabilities are
implemented.
Active Solutions was also tasked with developing business rules using
Total Resource Management (TRM)'s Rules Manager add-on to Maximo.
Reporting Solution: External Report
Integration
Active Solutions Northwest was asked to provide a reporting solution
for a Washington-state public utility to support an upgrade of Maximo
4.11 to Maximo 6.2.2 and then from Maximo 6.2.2 to Maximo 7.1.1.5, with
the Utilities add-on.
Initially the client had estimated the project based on re-creating
almost 200 legacy Crystal reports using Actuate. Since the
client, after migrating to Maximo 6.2.2, decided to then (pre go-live)
upgrade all the way to Maximo 7.1.1.5, those reports would have to again
have been rewritten using BIRT.
Instead, Active Solutions' consultant, Bill Goss, suggested using
External Report Integration to invoke Crystal-for-Eclipse so that
reporting could continue to use Crystal Reports. This suggestion was
adopted.
BIRT report designer was also installed and demo reports created.
Goal:
Minimize costs while providing needed reports as part of an upgrade to
Maximo 6.2.2 & to 7.1.1.5
Execution:
The approach taken was to create a custom Java
Server Page (JSP) using the Crystal add-on to the Eclipse development
environment, Crystal for Eclipse (CR4E). This JSP receives
parameters from Maximo and uses them to invoke Crystal reports
seamlessly.
Although Maximo documentation states that
invocation of custom reports from the Maximo toolbar cannot be done, our
consultant devised a way to not only invoke custom reports from the
toolbar with one click (or from the Select Action menu), but to directly produce the report as a PDF without requiring
it to be first viewed in an HTMTL page and then
exported.
This was accomplished using another custom Java Server page.
Custom Maximo request pages were also created
to provide parameter entry and custom data lookups.
This solution enabled the utility
to avoid retraining its support staff
to use Actuate, or BIRT, and to speedily re-use its legacy Crystal
reports.
Generally, the only modification necessary to the reports was to
accommodate the changes in database tables and fields going from Maximo
4.11 to Maximo 6.2.2. and Maximo 7.1.1.5.
For some reports, SQL Command objects were added in Crystal, re-using
the original SQL from the Maximo 4.11 reports, to enable using the
user's selection of records in Maximo to filter the report
results. Some Oracle 10g views were also created to enable re-use
of SQL for some new custom reports.
When, under load testing, performance issues were discovered,
additional copies of the JSPs were made and a round-robin method of
distributing the report load was implemented.
Oracle Package development
Goal:
Provide a snapshot of each day's open Purchase Orders to PeopleSoft
Financials to accurately reflect encumbrances.
Execution:
The approach taken was to create a custom Oracle 10g package
encapsulating several stored procedures, to be invoked on a nightly
basis.
Rules Manager Development
Goal:
Add new business rules, schedule
informative emails, and other functionality using the Rules Manager
add-on from Total Resource Management (TRM).
Execution:
Business edit/update rules included, among other
functionality:
- Checking of POs on change of status to Approved in Maximo's user
interface to ensure they do not cause a contract to exceed its
maximum dollar amount. This required creation of a custom Oracle
view that is invoked by the rule to provide a total of all the
already-approved POs for the contract associated with the current
PO.
- Checking of POs on change of status to warn the user if the PO
would cause a project to go over budget. This required creation
of a custom Oracle view that joins Maximo PO/PR data and a
materialized Oracle view of PeopleSoft budget data.
- Creation of ancillary records (e.g. Terms) upon creation of
certain records in Maximo's user interface.
To provide scheduled informative emails, Rules Manager
SECronTask rules were created that run under a custom CRONTASK bundled
with Rules Manager. These CronTask rules format data retrieved
from the Maximo database, in some cases re-using views developed for
reporting or for edit rules, and send it members of predefined Maximo
persongroups. Examples:
- An email message listing all the POs approved in the previous day
that caused a project to go over-budget.
- An email message listing all error log messages for batch
interface jobs
|