Skip to content

Blog



Share this:

Maximo Automation Scripts Done Right

I had the pleasure to present the “Maximo Automation Scripts Done Right” Technology Breakout at IBM TechXchange 2026. The presentation shows my top 10 tips to follow when implementing automation scripts from Maximo. You can download the presentation from here. 10 Tips Looping MboSet Avoid using field flags Avoid MxServer.getMboSet() Close MboSet() Use Logging Avoid using launchpoint variables Launchpoint is IMPORTANT! Group scripts by object Use functions Library scripts Bonus tips

Read more →

November 6, 2026

Saved Queries are now supported in MxLoader 8.6

You know that the old XML-based OS APIs are no onger supported in IBM MAS. REST APIs are better and faster but you cannot use SQL statements to filter data. The OSLC where clause can be used but is very limited compared to SQL syntax. MxLoader 8.6 now allows to specify a Saved Query in cell D1. Saved Queries can be defined in the Object Structure application. Here is an example.

Read more →

October 29, 2026

Load failure codes in Maximo with MxLoader

MxLoader 6.2 was the last version with a built-in support for failure codes data loading. Unfortunately this version does not support REST APIs. This post describes how to load failure codes using MxLoader 8.5 with the latest versions of Maximo (including MAS Manage) that only support REST protocol. I will use the following small failure class hierarchy C1 as an example. CL1 - Failure Class 1 P1 - Problem 1 C1 - Cause 1 R1 - Remedy 1 P2 - Problem 2

Read more →

April 7, 2026

Force table refresh from automation script

The most common technique to force a reload of an MboSet (and thus refresh a table on the UI) is to call the MboSet().reset() method. context = UIContext.getCurrentContext() wcs = context.getWebClientSession() wcs.getDataBean(“assetmove_t”).refreshTable() In some cases you don’t need to reload the MboSet or you just cannot do it because you haven’t yet saved the MboSet. In such cases you have to work at UI level using the DataBean.refreshTable() method. This will force a reload of the data in the UI from the underlying MboSet in memory.

Read more →

March 27, 2026

Conditional expression variables

Maximo conditional expressions use an SQL-like syntax allowing to replace the value of a specific attribute using the “:” notation. For example, you can have an expression like this: exists (select 1 from workorder where wonum=:wonum) At run time, the second wonum is replaced with the value of the wonum attribute for the current record.

Read more →

March 25, 2026

IBM Maximo 7.5 manuals in PDF format

We all know that Maximo has moved to OpenShift platform and is evolving to a more web-based documentation system but sometimes I feel a little bit old and I prefer to study in the “old way”. In this page I’m sharing to old IBM Maximo 7.5 documentation in PDF format. I know it’s quite old but 99% of the information is still valid in MAS Manage application. Installation Installation Guide (IBM WebSphere)

Read more →

February 28, 2026

Save disk space in doclinks folder resizing images

If you are collecting a lot of photos with service requests or workorder you may start wasting a lot of disk space in the DOCLINCS folder. Here is a small script I have developed for one of our clients to resize JPEG files in the doclinks folder using ImageMagick open-source software. Download the application from the ImageMagick website. I have downloaded the Windows x64 portable version ImageMagick-7.1.2-15-portable-Q16-x64.7z file. Extract the archive on one of the application servers.

Read more →

February 28, 2026

MIF vs OSLC vs REST vs JSON APIs

I’m copying here a very insightful explanation by Steven Shull on MoreMaximo forum about of the different types of REST APIs available in Maximo. It is (as always) really well written and worth posting here as well. MIF is the abbreviation for the Maximo Integration Framework. All the integration possibilities (flat file, table, SOAP, REST, etc.) and the components (external systems, enterprise services, publish channels, etc.) fall under this umbrella. If you have existing integrations, you may need to make some minor adjustments like switching to API key for authentication instead of basic authentication for SOAP/REST. And you should test for behavioral changes between the versions. But most of your existing integrations should continue to work as written and I wouldn’t recommend changing without additional reasons.

Read more →

February 18, 2026

Maximo Query Manager application

Maximo allows to create predefined queries in applications that can be used to filter records based on specific criteria and reuse them in Start Centers. However, there are some limitations in the capability and manageability of these queries. In this post I will describe how to create a Query Manager application to centrally manage application queries. Application Open Application Designer application and create the following app:

Read more →

February 11, 2026

Binary and text files handling in MxLoader 8.5

MxLoader 8.5 has some improvements regarding the capability to upload and download files from Maximo. REST and OS services behavior is now aligned and upload/download is fully supported. MxLoader provides two special tags to manage files: FileTxt - to be used to upload/download text content (long descriptions, automation scripts, report design, etc.) FileEnc - to be used to upload/download text content (item image, attachments/doclinks) Downloading files To download files you must specify the FileTxt/FileEnc tag in the header. MxLoader will recognize that you want to save the data in separate files instead of using the Excel sheet to store the data.

Read more →

January 5, 2026