Skip to content

Blog



Share this:

Maximo escalations demystified (2/3) Performances and the 'repeat' option

In our first Maximo escalations demystified post I have described the general functionality of Escalations. We will now dig into some details that will help you using this powerful feature at its best. The Repeat flag When defining an escalation you always have to create an escalation point and then you can assign actions and communications to run. The ‘repeat flag’ have a somewhat strange meaning that is described in the official documentation in this way:

Read more →

August 27, 2019

Handling a Custom Dialog using Automation Scripts

Automation scripts are undoubtedly a powerful feature but we all know there are some limitations. For example automation scripts cannot be used to handle user input in a custom dialog box. This is because the scripting engine runs in the businessobjects layer which is below the maximouiweb layer that can handle DataBeans and user interface events. However, leveraging the standard Maximo event, it is possible to circumvent this limitation. In this post I will explain how to display a custom dialog in the Work Order Tracking application to ask for user input and launch a script to take an action when the user press the OK button.

Read more →

August 25, 2019

Maximo escalations demystified (1/3)

Escalations are one of the most common (and easiest) way we use to automate actions in Maximo. They are well known by Maximo specialists but there are some tips to better use them and some undocumented feature you may like to use. The simplest definition of an escalation is the following. An escalation is a mechanism to evaluate records and take actions when a record reaches a defined condition

Read more →

August 25, 2019

Migrate Maximo configurations with MxLoader

Have you ever struggled migrating configurations from Development to Test environment and then to Production? If the answer is yes, you are not alone. I think this is the one of the most common issues when managing multiple environments in medium-large Maximo projects. Keeping several Maximo environments in synch while ensuring a fast release cycle required in today’s projects is challenging and typically involves two flows. The first flow of configuration changes is the classical release flow. You have to release configurations from Development to Production through all the intermediate environments and entails the build of some sort of ‘configuration package’ that is deployed on each environment. However, in the real world, all those environment will loose sync after some time so we need to realign back through the chain using a database cloning procedure (backup and restore). This is a well known practice to rebuild a development environment ensuring all

Read more →

August 22, 2019

The hidden features of Work Logs

Work Logs are a very useful feature in Maximo and Control Desk products to allow users to keep notes of the progress of work. A very nice feature of work logs is that Maximo displays all work logs for the current record an related ones. Lets make an example. If there is a work log on a work order originated from a Service Request, Maximo will display both SR logs and Work Order logs in the Work Order Tracking application. In the example below we are in the Work Order Tracking application displaying work logs on work order 1019. The first work log has been added to the work order but the second one is attached to the originating service request 1214.

Read more →

August 9, 2019

Tracking elapsed time in work order status history

A common requirement from my clients is to track how much time work orders have been in each status. IBM Maximo already has the Work Order History dialog that displays the date and time of each status change. Unfortunately it may be not straightforward for a user to calculate the time spent in each step of the process or to develop a KPI to set processing time goals in your work management flow.

Read more →

August 4, 2019

Disable default attachment folder

One of the fist lessons I have learned through all these years as Maximo consultant is that every time there is a default value for a field the user will not change it. A very common example of this is the Folder field of the Add Attachment dialog. The value of this field will always default to the first folder available in alphabetical order. If we want to force the user to select the most appropriate folder for the attachment, then we have to remove that default value. The attribute we want to change is DOCLINKS.DOCTYPE. Unfortunately, setting a default value for this field in Database Configuration will not work (believe me I have tried) so we have use a more powerful feature to control the behavior of this attribute. The solution I have found is to use a very simple automation script. Here it is.

Read more →

August 3, 2019

Where was an asset located at a certain time in the past?

Maximo has a well known feature to display the history of where an asset was located. It is accessible from View Asset Move History from the Asset application. In the following example the asset DS01-A-002 was created in location DS01-S-SA-01 and then moved to other two locations. The data displayed in this dialog is stored in the ASSETTRANS database table. By querying this table we can answer questions like this:

Read more →

April 26, 2019

Logging in automation scripts

I have to admit, I’m a big fan of automation scripts. Recent updates released with Maximo 7.6.0.9 have almost covered all the possible customization needs including library scripts, REST APIs, MIF processing, before/after save event. All the new features are well documented in this somewhat secret document. However whatever nice feature will be added in the next feature pack, we will never have a debugger like we have with Java and Eclipse. This could be a serious problem when you have to develop and maintain a complex set of scripts in your environment. The best way to mitigate such problem is to correctly use Maximo logging APIs.

Read more →

April 3, 2019

Avoiding FetchResultStopLimit errors in Java or scripts

Today I had to face an issue deleting a large set of records from a Maximo table using an automation script. My script was something like this. mboSet = MXServer.getMXServer().getMboSet("MYTABLE", mbo.getUserInfo())mboSet.deleteAll()mboSet.save() Unfortunately the table I had to purge (MYTABLE in the example) was having more than 5000 rows so when I launched the script I got the following error.

Read more →

March 18, 2019