Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only

Automating Work Order Creation in IBM Maximo Application Suite with Python: Towards Intelligent Maintenance

  • 1.  Automating Work Order Creation in IBM Maximo Application Suite with Python: Towards Intelligent Maintenance

    Posted 17 hours ago

    Automating Work Order Creation in IBM Maximo Application Suite with Python: Towards Intelligent Maintenance


    🔹 Introduction

    Automation is reshaping maintenance management. By leveraging Python scripting within IBM Maximo Application Suite (MAS), organizations can automatically create and manage work orders - improving efficiency, accuracy, and responsiveness.
    Let's explore how a few lines of Python can transform the way maintenance teams operate.


    🔹 Technical Context

    Since MAS 8 and 9, IBM Maximo includes a flexible scripting environment based on Python (Jython).
    This enables developers and administrators to automate actions directly within Maximo, such as:

    • Automatically generating work orders when an anomaly is detected

    • Creating WO based on asset performance thresholds

    • Integrating external data (IoT, APIs, AI) to trigger maintenance tasks


    🔹 Example: Automatically Creating a Work Order

    from psdi.server import MXServer from psdi.mbo import MboRemote # Connect to the Maximo server mxServer = MXServer.getMXServer() # Access system user info userInfo = mxServer.getSystemUserInfo() # Create a new Work Order set woSet = mxServer.getMboSet("WORKORDER", userInfo) # Add a new Work Order newWO = woSet.add() newWO.setValue("DESCRIPTION", "High temperature alert detected on pump P-1001") newWO.setValue("ASSETNUM", "P-1001") newWO.setValue("WOPRIORITY", 1) newWO.setValue("WORKTYPE", "CM") # Corrective Maintenance newWO.setValue("SITEID", "MAINPLANT") # Save the record woSet.save() print("✅ Work Order successfully created automatically!")

    🔹 Code Explanation

    • MXServer.getMXServer() → Connects to the Maximo server

    • getMboSet("WORKORDER") → Creates a manipulable set of work orders

    • add() → Adds a new record

    • setValue() → Defines core fields (description, priority, site, etc.)

    • save() → Commits the record to the Maximo database

    This script can be triggered through an Automation Script Launch Point, such as:

    • Object Launch Point – when an asset changes status

    • Cron Task Launch Point – for scheduled automation


    🔹 Key Benefits

    ✅ Reduced manual processing time
    ✅ Improved reliability and maintenance responsiveness
    ✅ Seamless integration with IoT and AI data (e.g., Maximo Monitor or Visual Inspection)
    ✅ Fully customizable automation without altering Maximo's core logic


    🔹 Conclusion

    Python automation within IBM MAS offers a powerful way to make maintenance smarter and more proactive.
    For organizations seeking to optimize operational performance, Jython scripting is a gateway to intelligent, data-driven maintenance.

    alt

    #IBMMAS #Maximo #MaximoApplicationSuite #PythonAutomation #AIMaintenance #IBMChampion #DigitalTransformation #EnterpriseAssetManagement #Jython #Automation #PredictiveMaintenance #IBMCommunity #Maintenance4_0



    ------------------------------
    Yasmine Ghomri
    IBM Maximo / MAS 9 Expert | Technical Lead | IBM Digital Badges
    SINORFI
    ------------------------------