Customizing Ad Hoc Reports

We all want to make our Maximo reports as informative and readable as possible, but sometimes the available attributes for an Ad Hoc report don’t provide the information we want to see. For example, let’s look at a Work Order record. If I wanted to pull this Work Order into a report, I would have a hard time knowing what company is being used as the Vendor and which “Ed” is supervising the Work Order. So instead of using these attributes on our Work Order reports, why not use the display name of the Supervisor or the name of the Vendor company? In the steps below, I’ll use the “company name” example to demonstrate creating an Ad Hoc report with an attribute from a separate application.

First things first, let’s see what it looks like if I try to create a report that includes the name of the Vendor company. There isn’t anything related to the Companies object on the left side panel, so I can’t access the attribute I need yet. However, we can see the description of our reporting Object Structure at the top. (We’ll save that piece for later!)

For now, let’s grab the information we need to create a relationship between the Work Order object and the Companies object. I’ll have to use my trusty ALT+i shortcut to get the value of two different attributes: the attribute representing the record I want to access and the attribute on that record which is being displayed. In my case, the Work Order “VENDOR” attribute represents the record I want to reach and the “COMPANY” attribute stores that same value in the Companies object.




Now we can go into the Database Configuration and see if there is a relationship from the Work Order object to the Companies objects which uses these fields. Looks like there are none, so let’s create a new row and make it ourselves!

I’ve filled in my details as shown below. Remember when creating a new relationship between objects, the Relationship should have the same name as the Child Object to avoid creating duplicates in the future. In your Where Clause, the value of the Child attribute is listed first and attributes on the Parent are retrieved using a binding ‘:’ symbol.

Now that the Work Order knows how to access the Companies application, let’s go to the Object Structures application and use this relationship to alter the reporting structure we saw earlier.

Scroll to the “Source Objects” section and create a new using the COMPANIES Object, the WORKORDER Parent Object, and the brand-new COMPANIES Relationship. Make sure to enter a Reporting Description so anyone creating an Ad Hoc report knows what this object represents.

Finally, let’s go back to Work Order Tracking and create a new report. We can now see the new Vendor Information object in the structure and select it. This is where I can access any of the attributes that the Companies object has to offer.

Once I’ve added the company Description to my report, I can go ahead and run a preview to see it in action. This version of my report is much easier to understand, and it saves me time digging around in Company records for more information. So, try creating new object relationships and adding to object structures to make your Ad Hoc reports the best they can be!

Product Launch: Automated Label Printing from NinjaFix

The A3J Label Printing report solution includes a report and an automated process to print labels as items
and materials are received. The printer used by the storeroom is defined on the storeroom record. If only
a single printer is used across all storerooms, then the automation script may be adjusted to use a system

The goal of the automation is to proactively notify warehouse personnel when an item or material is
received through a printed label report. The label report should contain information about the received
item or material with bar-coded fields to enable scanning. The labels can automatically be fixed to parts
(materials) that are received.

The report that prints at the storeroom will have all the information that the warehouse operations staff
will need to fulfill the request. It will also have bar codes for key fields that will enable mobile applications
to quickly scan and perform inventory transactions against the reservation. A3J recommends pairing this
report solution with its own suite of mobile applications called MxMobile.

This solution includes a report built and tested to work with a Zebra printer. Specifically, a Zebra 410 and
520 portable printers but should work with any label printer that supports a 4.09”x2.00” format.

The report label is built to print the following fields:

• Item number (with barcode)
• Item description
• Purchase Order number (with barcode)
• Purchase Order line number
• Bin number if received into a bin
• Quantity at receipt (custom field included in solution)
• Work Order number (with barcode)

If either item number or work order number fields are blank the label rows will be blank saving space for
additional information. To purchase click here!

New in Maximo 7.6: KPI Templates

With the launch of Maximo 7.6 came some enhanced functionality around KPI’s. Specifically, two new applications were added to the product: KPI Templates and KPI Viewer. This article will cover the features of how to utilize the KPI Templates application for your organization. For more information on the KPI Viewer application, please sure to visit our related blog article.

In previous versions of Maximo, users created and managed KPI’s through the KPI Manager application. There, they could define the queries that governed the KPI and the Target, Caution, and Alert thresholds. The reason the KPI Templates application was developed for version 7.6 was the challenge of efficiently managing slight variations on KPI’s through the KPI Manager.

For example, take the case of wanting to track the overall backlog of work by man-hours. That number by itself, trended over time, can provide some valuable insight to your organization. However, in most cases, it would behoove the people who analyze that number to know what the breakdown is by craft or crew. Unfortunately, the only way to know this is to create additional KPI’s with a slight change in the query. This can be done by duplicating the query and making the change, which is not overly difficult to do. The challenge comes when you have done this several times and then want to go back and make an adjustment to the query.

This is where KPI Templates come in. We now have an application that we can manage slight query variations in that can automatically generate the resulting records in the KPI Manager application. Let’s see an example.

  1. Log into Maximo as an administrative user.
  2. Go to the Administration > KPI > KPI Templates application.
  3. Create a new KPI Template by clicking the New Template button in the toolbar.
  4. Fill out the following fields:
    1. Description: Backlog Work Orders by Work Type
    2. Application: WOTRACK
    3. Format: Decimal
    4. KPI Query: select count(1) from workorder inner join synonymdomain on workorder.status = synonymdomain.value and synonymdomain.domainid = ‘WOSTATUS’ where synonymdomain.maxvalue not in (‘COMP’,’CLOSE’,’CAN’) and istask = 0 and worktype = ${worktype}
  5. Save the record.

The header section of the Template tab looks very similar to the KPI tab in the KPI Manager application, with one slight variation. Instead of separate Select and Where text boxes, there is a single text box for your KPI Query.

Within the KPI Query, you need to establish at least one variable that will be replaced in each KPI that is generated from the template. Variables are of the form ${variablename}. Variables will be replaced with string literals in the resulting KPI Query, so there is no need to quote them in the template query. In our example, we’ve created a variable called ${worktype}.

For each variable defined within the query, you will need to define a binding for that variable in the KPI Variables table. To continue with our example:

  1. Click the New Row button on the KPI Variables table.
  2. Fill out the following fields:
    1. Variable Name: worktype
    2. Object: WORKORDER
    3. Attribute: WORKTYPE
    4. Type: UPPER
  3. Save the record.

We now have bound the worktype variable to the WORKORDER.WORKTYPE field in Maximo.

The next step is to identify the possible values for your variable(s) and to establish the appropriate KPI targets for each variable value. This is done from both the KPI and Variable Values tables. To continue with our example:

  1. Click the New Row button on the KPI table. You’ll notice a new row has been added to both the KPI and Variable Values tables.
  2. Fill out the following fields in the KPI table:
    1. Target: 10
    2. Caution At: 15
    3. Alert At: 20
    4. Public: Yes
    5. Active: Yes
  3. Fill out the following fields in the Variable Values table:
    1. Value: CM
  4. You can validate the results of the query with variable substitution by clicking the Test Variable button in the KPI table.
  5. Save the record.

Next, perform the same steps as many times as you have variable values. In our example, we’ll create similar variables for EM and PM. Note that each time you click the New Row button in the KPI table, Maximo will automatically copy the values from the previous variable value. Highlight the appropriate KPI row to update your Variable Values.

Finally, we can turn our template into a series of KPIs.

  1. From the Select Action menu, choose the Generate KPIs option.
  2. Maximo will prompt you with the results. Press the OK button.

You can now navigate to the Administration > KPI > KPI Manager application and see your 3 new KPIs.

Please note that if you make changes to the KPI in the KPI Manager application that you may void the link with the template. Changes such as updating the Description or Select Clause of the KPI will result in the template no longer being able to update the KPI with changes.

To make a change to each KPI go back to your template. Let’s say you want to alter the KPI Query slightly by adding a woclass = ‘WORKORDER’ clause to the query. Simply alter your query, save the record, and choose the Select Action > Generate KPIs option. This action will generate any new variables into new KPIs, but also update existing KPIs.

I hope you enjoy this new application!


New in Maximo 7.6: KPI Viewer

With the launch of Maximo 7.6 came some enhanced functionality around KPI’s. Specifically, two new applications were added to the product: KPI Templates and KPI Viewer. This article will cover the features of how to utilize the KPI Viewer application for your organization. For more information on the KPI Templates application, please sure to visit our related blog article.

In previous versions of Maximo there were two ways to view KPI’s:

  1. In the KPI Manager application.
  2. On your Start Center.

The KPI Manager application in Maximo is intended to be for administrators of Maximo to create and manage KPI’s for all audiences. This application was not suitable to standard users of Maximo, both because of its complexity and due to licensing considerations.

The Start Center therefore is where the consumption of KPI information tended to take place in Maximo. The challenges with that were:

  1. Having too many KPI’s on the Start Center is both cluttering and a performance drag.
  2. Users are only able to view the KPI’s current value and see an indicator for its direction. No other historical information is provided on the Start Center.

This is where the KPI Viewer comes in. Users now have an application where they can access read-only versions of KPI’s that they have specifically been granted access to through their Security Group authorizations. In addition to being able to view current values and targets, users have full access to historical data, trends and graphs. A new added feature allows users to create an email communication directly from a KPI, and logs that email in the Communication Log tab within the application.

Let’s walk through accessing a KPI through the KPI Viewer application. We start with KPI Manager:

  1. Log into Maximo as an administrative user.
  2. Go to the Administration > KPI > KPI Manager application.
  3. Select an existing KPI.

There are a few things to notice here. First, pay attention to the Is Public? checkbox. Any KPI’s listed in the KPI Manager application with that flag checked will show up in the KPI Viewer application for every user of Maximo. This is a subtle difference from previous versions, where the Public flag meant that you could use the KPI on any Start Center Template.

Second, notice the Security tab. This tab is used to define which security groups can view which KPI’s. This is similar to assigning a KPI to a Start Center Template in previous versions.

The last thing to notice is the Long Description. This text is displayed in a prominent place in the KPI Viewer application when looking at a particular KPI, so it’s wise not only to fill out the Long Description, but to be as verbose as is necessary to convey the meaning and purpose of the KPI to your intended audience.

Next, we’ll navigate to the KPI Viewer application:

  1. Log into Maximo as an end user.
  2. Go to the Analytics > KPI Viewer application.
  3. Select an existing KPI.

The first thing you’ll notice is the Long Description of the KPI from the KPI Manager application. This is where we can give context to the readings for the consumer of the metric.

The next tab over shows Historical Trends. Finally! This is a feature that has long been available to administrators, but never to end users of Maximo. Users have the ability on the Historical Trends tab to view historical data in graphical or raw format (that can be downloaded into Excel for further manipulation).



Lastly, we now have the ability to generate a Communication (i.e. Email) from Maximo to other users, and capture that communication permanently as part of the KPI record in the system.

I hope you enjoy all of the benefits of the new application!