Tuesday, 31 March 2026

Remove HTML Tags in Maximo using Automation Script

In one of our previous articles, we explored how to remove HTML tags from Long Description fields in Maximo using regular expressions.

Maximo Script to Remove HTML Tags Using Regular Expression

In this post, we’ll look at a much easier and cleaner method using Maximo’s out-of-the-box utility library.

Maximo stores rich text (HTML) in Long Description and work log fields. However, in some cases, you may need,

  • Plain text for integrations
  • Clean output for reports
  • Simplified data for processing or validation

The below python automation script removes HTML tags and converts content into clean plain text,

from psdi.util import HTML

longDesc = mbo.getString("DESCRIPTION_LONGDESCRIPTION")
print(longDesc)

longDesc = HTML.toPlainText(longDesc)
print(longDesc)

Input:

<div>Item </div><div>Long </div><div>Description <br /></div><!-- RICH TEXT -->

Output:

Item Long Description

Saturday, 28 March 2026

Automatic Integration Error Reprocessing Using Automation Scripts

In IBM Maximo, integrations play a critical role in connecting external systems through the Maximo Integration Framework (MIF). However, it’s common to encounter transactions that get stuck in ERROR / HOLD status within the Message Tracking and Message Reprocessing applications.

Some of the common reasons for integration failure include:

  • Temporary network issues during outbound communication
  • Incomplete or delayed data from external systems
  • Timing issues between integrated systems

Interestingly, many of these transactions can be successfully processed later upon retry without any changes to the payload.

By default, Maximo attempts to automatically reprocess failed transactions up to 5 times, depending on the configuration.

However:

  • Some transactions may require more time (minutes or even hours)
  • The default retry limit may not be sufficient
  • This leads to manual reprocessing, which is repetitive and inefficient
Instead of manually retrying transactions, we can automate the process using an Automation Script + Cron Task.


Automation Script (Vanilla Script – No Launch Point)

Script Name: MAXINTERR_REPROCESS
Language: Python

from psdi.server import MXServer
from psdi.security import UserInfo

mxServer = MXServer.getMXServer();
userInfo = mxServer.getSystemUserInfo();

maxIntErrorSet = mxServer.getMboSet("MAXINTERROR", userInfo);
maxIntErrorSet.setWhere("status='HOLD' AND DELETEFLAG=0 and EXTSYSNAME = '<<External System Name>>' and IFACENAME = '<<Interface Name>>'");
maxIntErrorSet.reset();

if (maxIntErrorSet is not None and not maxIntErrorSet.isEmpty()):
	maxIntErrorSet.selectAll();
	maxIntErrorSet.processSelected(maxIntErrorSet.getSelection(), False);
maxIntErrorSet.close();

Replace the following with actual values:

<<External System Name>>

<<Interface Name>>

 

Cron Task Configuration

To automate execution, configure a Cron Task:

  • Create Cron Task

Cron Task Name: MAXINTERR_REPROCESS

Class Name: com.ibm.tivoli.maximo.script.ScriptCrontask

  • Create a new Cron Task Instance
  • Set the schedule (based on need)
  • Add Parameter

Script - MAXINTERR_REPROCESS