Maximo Automation Scripts: Overwriting Maximo Business Logic with MboConstants

Phil Runion, Technical Account Manager, Projetech
June 12, 2023

Intro

Maximo, a comprehensive asset management system from IBM, allows users to manage their assets, work orders, and maintenance operations. One powerful feature of Maximo is the ability to use automation scripts to customize the system to meet specific business needs. In this article, we will discuss the best practices for using Maximo automation scripts, the importance of using proper validation and access checks, and alternative methods for achieving similar goals.

Overwriting Maximo Business Logic with MboConstants

When working with automation scripts and Java code written for Maximo, a wide range of MboConstants can be used to control how the script interacts with Maximo's business logic. It is crucial to choose the right constants for your code to ensure it works correctly and does not compromise the system's integrity. Approach each use case with the least intrusive MboConstants that work for the situation.   

For example, the NOVALIDATION_AND_NOACTION or 9L constant represents no validation and no action, meaning the script will not trigger any additional automation or check the entered values. While this may be useful in some cases, it can lead to undesired results or even break Maximo's business logic. A more appropriate constant for most situations is NOVALIDATION or 1L, which allows the script to run without validating the data that is being set or suppressing other MBO logic.

Commonly Used MboConstants

All available constants can be found in the Java Docs: https://ibm.ent.box.com/v/maximojavadocs 

Different Ways to Utilize MboConstants 

There are a few ways to reference the MboConstants. IBM code often uses a long value like “2L,” which can be difficult to read unless you have the reference table memorized. Using the written-out constant value greatly increases readability. You can either do this by importing the MboConstants class or by referencing the MBO. In the examples below, the NOACCESSCHECK is set in three different ways.

No Constant

        mbo.setValue("DESCRIPTION","Test Value")

Value MboConstants

        mbo.setValue("DESCRIPTION","Test Value",2L)

Importing MboConstants class

        from psdi.mbo import MboConstants

        mbo.setValue("DESCRIPTION","Test Value",MboConstants.NOACCESSCHECK)

MBO to Pull MboConstants

        mbo.setValue("DESCRIPTION","Test Value",mbo.NOACCESSCHECK)

Bonus: Combining Constants with Java Pipe

mbo.setValue("DESCRIPTION","Test Value",mbo.NOACCESSCHECK|mbo.NOVALIDATION)

Share this post
Phil Runion, Technical Account Manager, Projetech
June 12, 2023
IBM Maximo Tips & Tricks

More Blogs

Navigating Maximo v.7.6.1.x End of Support

Navigating Maximo v.7.6.1.x End of Support

On April 12th, 2022, IBM announced the end of support for Maximo v7.6.1.x effective September 30th, 2025. This means no further updates or technical support will be provided. For users not ready to upgrade to the Maximo Application Suite, options include transitioning to MAS AppPoint licenses or obtaining extended support through Projetech’s MaaS solution or IBM’s Extended and Sustained Support, ensuring continued usage and support until a mandatory upgrade by 2027 or later.
Read post
Discovering Maximo IT: Revolutionizing IT Service Management

Discovering Maximo IT: Revolutionizing IT Service Management

Maximo IT revolutionizes IT service management by enhancing efficiency and innovation. Originally the IBM Control Desk, it offers a user-friendly interface, seamless integration, and ITIL-aligned processes, ensuring comprehensive management of IT services, assets, and problems. Key features include efficient reporting, enhanced staff productivity, policy-based automation, and advanced analytics. Maximo IT promises rapid deployment, data management excellence, and cloud deployment options through Projetech's Maximo as a Service, showcasing its adaptability and robustness for modern IT needs.
Read post
Add Validation on Change Status with Automation Scripts

Add Validation on Change Status with Automation Scripts

This blog explores using automation scripts in Maximo to enforce business logic, particularly for validating field requirements upon status changes. It contrasts simpler methods, like Application Designer and data restrictions, highlighting automation scripts' ability to handle complex logic and provide clear, custom error messages. The blog covers practical examples, including required fields for asset status changes and mandatory specifications for operating assets, showcasing how automation scripts improve data integrity and user guidance in Maximo.
Read post

Become a part of our thriving community with over 4,000 Maximo users.

MORE offers users a platform to discover valuable resources and engage in insightful discussions surrounding the intricacies of Maximo software. Connect with peers and experts to explore the depths of possibilities and enhance your expertise.