Blog
Maximo REST APIs examples
This entry is part of the Maximo Integration Framework series. Update April 2021 - This post describes the old REST APIs. A tutorial on the new APIs can be found here. In this tutorial I will show how easy it is to query and update data in Maximo using the Integration Framework (MIF) REST interface. To send REST calls you first need to setup an HTTP/REST client. In this tutorial I will use a Google Chrome add-on called Advanced REST Client.
April 4, 2017
Load failure codes in Maximo with MxLoader
This is an old post that uses a legacy version of MxLoader that only supports only OS service. For MAS Manage please refer to this post. Creating and maintaining the hierarchy of failure codes in Maximo can be quite long and boring task using the standard Failure Codes application. The easiest and fastest way of importing Failure codes and the corresponding hierarchy is using MxLoader. The example described in this post is available in this tailored in this sample MxLoader file. Please download it before proceeding.
March 16, 2017
Maximo keyboard shortcuts
You know IBM Maximo has a lot of fields and sometimes can be boring entering data. Here are some keyboard shortcuts that can ease the pain. I have highlighted in bold the most common and useful ones. Tab > The most important keyboard shortcut is the TAB key. It allows you to move across fields without using the mouse and also performs data validation and auto-completion. Space > Select or clear a check box. Alt + F1 > Display field help for field in focus. There are few other useful shortcuts to move across applications.
February 6, 2017
Maximo search operators
Maximo search features are quite advanced but often neglected. By using the advanced search techniques described in this post it is possible to find relevant records easier and faster. Equal The equal ‘=’ operator can be used to find only records that match that a word or number exactly. In other words ‘=’ means “exact match”. Example: Enter =123 to find any records with the exact characters 123 in the field. (Search results would not include numbers such as 0123 or 1234AB. If you enter just 123, without the =, search results would include 0123 and 1234AB.)
January 29, 2017
Find inactive users in Maximo
Here is a quick SQL query you can use to find inactive users that haven’t logged into Maximo in the last 2 months. DB2 select * from maxuserwhere status='ACTIVE'and sysuser=0and not exists (select userid from logintracking where logintracking.userid=maxuser.userid and attemptresult='LOGIN' and attemptdate>(current date-60 DAYS))order by userid; Oracle
January 18, 2017
Long Descriptions in Maximo
Long descriptions in Maximo are a special fields meant to store long text. Unlike all the other fields they are stored in a dedicated table called LONGDESCRIPTION. Tables link to the LONGDESCRIPTION table through their unique ID and the long description attribute is stored in a CLOB field. Let’s change the long description of the work order ‘1000’ with few lines of text. If we run the following SQL we can retrieve the internal ID of the work order.
January 17, 2017
Improving Assets and Locations drilldown dialog
The Assets/Locations drilldown dialog is one of the most longstanding and criticized features of Maximo. This dialog is almost unchanged from release 6.1 and definitely lacks some important capabilities to provide a unified view of assets and location hierarchy. However, we can make few minor improvements to the standard dialog to make it slightly better. Increase size of the dialog I think the most usability improvement is to increase the size of the dialog allowing to see more elements in the drilldown. The default size is definitely too small for the typical modern screen resolutions. Unfortunately there is no system setting for this and we have to tweak the dialog definition in the library. Open the Application Designer and select the Export System XML action from the menu. Click on the small arrow for the LIBRARY row to export the file. Open the XML file with a good text editor and search for psdi.webclient.beans.common.DrilldownTreeBean. There are two occurrences of this string in the file inside the ‘drilldown’ dialog definition. One is for the Locations tab and one is for Assets tab. Change the height attribute increasing it from the default 150 to 350 or 400.
December 28, 2016
Tracking changes using Audit feature
A common requirement in Maximo is to track changes made by users on a specific object (database table). In Maximo terms this is called ‘Audit Tracking’. In this post I will describe how to enable audit tracking for a specific set of attributes of an object and how to display the updates in a separate tab of the corresponding application. I will use the Assets application for this tutorial and here is the final outcome I have achieved.
November 29, 2016
Watson IoT MQTT APIs walkthrough
After several experiments with IBM Watson IoT Platform I have decided to take a step back and play MQTT manually to really understand how it works. In this post I will walk through my experiments with of the Watson IoT Platform MQTT messaging API for devices, applications and gateways. Prerequisites First of all you need an account on IBM Watson IoT Platform on Bluemix. In all cases you need to create your own Internet of Things Platform service and create your own device type and device. I suggest you to follow the IoT Starter tutorial if you are on familiar with Watson IoT.
June 3, 2016
Install Kura on Raspberry PI
Eclipse Kura is an Open Source project that provides a platform for building IoT gateways. It is a smart application container that enables remote management of such gateways and provides a wide range of APIs for allowing you to write and deploy your own IoT application. Kura runs on top of the Java Virtual Machine (JVM) and leverages OSGi, a dynamic component system for Java, to simplify the process of writing reusable software building blocks. Kura APIs offer easy access to the underlying hardware including serial ports, GPS, watchdog, USB, GPIOs, I2C, etc. It also offer OSGI bundle to simplify the management of network configurations, the communication with IoT servers, and the remote management of the gateway.
May 7, 2016