Accelerate blog

Solutions for Popular Administrative Maintenance Tasks | Part 2

Written by Wael El-Khalil | May 16, 2022 9:03:30 PM

Retriggering Successful Integration Outbound Messages in Message Tracking Application 

 

Use Case: 

When an outbound asynchronous integration is setup between Maximo and an external system, Maximo’s message status traceability is completed when a successful delivery response is received. However, the message can fail to be processed in the external system for number of reasons, and the Maximo administrator is sometimes requested to retrigger the same message. But Maximo does not offer that functionality in the Message Tracking application. Instead, the administrator will have to retrigger that message through other workarounds, such as updating the same record, or changing its status. In some cases, retriggering the message from the same record can be impractical, so, the administrator will have to recreate the scenario or even wait for the business process to retrigger a similar message, if it is a transactional record. The easiest way in those cases is to manually send the message through a Web Service testing application like SoapUI or Postman. But that wouldn’t even be feasible if there are many messages that have to be retriggered in bulk. 

 

Method and Reasoning: 

Since Maximo offers to retrigger the failed messages in the Message Reprocessing application, we can imitate that functionality through automation scripts in the message tracking application. 

  1. We will add a new action menu item, Reprocess Selected Messages,  
  1. The action will invoke the script which either will iterate through all the messages filters in the list tab or the selected ones. 
  1. The script will only reprocess outbound messages. 
  1. The script will only reprocess message with a status of PROCESSED. 
  1. Since the process can take a while, a warning message will be displayed to the user before reprocessing the messages.

 

Implementation: 

We will perform the below steps to add an action menu item, that will eventually launch an automation script:

1. Go to Application Designer Application

2. Open the application definition for Message Tracking application.

3. From the Select Action menu, choose Add/Modify Signature Options.

4. When the dialog is displayed, click New Row, and add the name and description of the action, for instance: 

  1. Option: REPROCESS 
  1. Description: Reprocess Selected Messages. 

5. Expand the Advanced Signature Options and choose the option that reads: This is an action that must be invoked by user in the UI.

6. Click OK. 

7. From the Select Action menu, choose Add/Modify Select Action Menu.

8. When the dialog is displayed, click New Row, and add the details of the signature option you just created: 

  1. Element Type: Option
  2. Key Value: REPROCESS
  3. Unique Position and Sub-Position, I chose a location just below the Synchronous Message tracking action
  4. Tabs: ALL.  

Remember, for an automation script to run on the list tab, there should be at least one record in the results table.

9. Click OK

10. Do not forget to grant the access to run this action to the right security group.  

Now to create a warning message for action. 

1.  From the Select Action menu, choose Messages.

2. When the dialog is displayed, click New Row, and add the details of the warning message as in the below screenshot 

3. Click OK 

After that, we have to create the automation script, we will use for this purpose an Action Launch Point:

1. Go to Automation Scripts application.

2. From the More Actions menu, choose Create Script with Action Launch Point.

3. Fill the Launch Point Name and description, and the Action name and description 

  • Note: creating this launch point, will automatically create an Action in the Actions application.

4. Fill the object name as MAXINTMSGTRK.

5. Click Next 

6. Fill out the script name and description, then choose the language as Python.

7. Copy and paste the below script source code, then click Create. 


 

 

Wael El-Khalil
IBM certified Maximo techno-functional Consultant

Wael is an IBM Certified Maximo techno-functional consultant since 2010, based in Brisbane, Australia, he gained his experience working for consultancy companies in the Middle East and Australia, and at the client side as Maximo Project Manager at the Roads and Transport Authority in Dubai. Throughout his Maximo years, he worked with clients such as Australian Gas Group, BP, Port Waratah Coal Services, ADNOC Group, DP World, Abu Dhabi Water and Electricity and helped them implement Maximo, its add-ons and industry solutions (Service Provider, Transportation, Oil and Gas, HS&E, Scheduler, etc..), and integrate it with systems such as Oracle E-Business Suite, SAP, JDE. SCADA. Vocollect, and many others.