Maximo

Maximo

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

 View Only
  • 1.  Implementation of CHANGESTATUS function without Java Class

    Posted Tue January 13, 2026 01:11 AM

    Hi, I have just created a new application in Manage based on a custom object. Its class is "psdi.mbo.custapp.CustomMboSet" and I have successfully created the relationships, domains, fields and non-persistent object for the CHANGESTATUS dialog etc. How can we implement the CHANGESTATUS function in this custom object without actually using a Java class? When I was trying to call the CHANGESTATUS function on the mbo from an automation script it gives an error "psdi.mbo.custapp.custommbo object has no attribute changestatus".

    Any suggestions to implement a solution or workaround will be appreciated.

    Thank you.



    ------------------------------
    Anurag Chugh
    Data Engineer
    objec3d
    Melbourne, Australia
    https://www.objec3d.com/
    ------------------------------


  • 2.  RE: Implementation of CHANGESTATUS function without Java Class

    Posted Tue January 13, 2026 04:35 AM

    Hi Anurag,

    I must admit that I'm not entirely sure whether this is doable without Java customization but I highly doubt that. I would love to hear from other community members what are your experiences?

    Here is a couple reflections of mine.

    Just by looking at other examples across Maximo to properly support status changes your MBO should extend psdi.mbo.StatefulMbo and implement abstract methods psdi.mbo.StatefulMbo#getStatusHandler, psdi.mbo.StatefulMbo#getStatusHistory and psdi.mbo.StatefulMbo#getStatusListName. Your object may need to have additional attributes as well.

    Automation Scripting framework is powerful and allows you to define classes in runtime. Perhaps, except of being "hacky", this could be one way of providing your custom StatefulMbo implementation...



    ------------------------------
    Andrzej Więcław
    Maximo Technical SME
    Naviam
    Wrocław, Poland

    If this post was helpful, please click the Like button to let others know.
    ------------------------------



  • 3.  RE: Implementation of CHANGESTATUS function without Java Class

    Posted Wed January 14, 2026 12:37 AM
    Edited by Anurag Chugh Wed January 14, 2026 12:53 AM

    Hi Andrzej,

    Thanks for the detailed reply, I appreciate you sharing your thoughts.

    I agree that a fully native status implementation would typically require extending StatefulMbo and implementing those abstract methods. I wasn't able to implement those abstract methods directly, so I took a UI-driven approach instead by handling the requirement using an automation script without a launch point, triggered via a custom toolbar (change status) dialog. The script updates the project status directly on the parent MBO and records the audit details (changed by, date, memo) on OK.

    In addition, I'm also running a separate automation script with an object launch point to auto-populate the non-persistent attributes from the persistent project object when the dialog opens. This keeps the UI consistent while avoiding direct Java customization. This whole function can only be triggered from the UI and will not work via integration or other methods.

    I’ve attached screenshots of both scripts for reference.

    ------------------------------
    Anurag Chugh
    Data Engineer
    objec3d
    Melbourne, Australia
    https://www.objec3d.com/
    ------------------------------



  • 4.  RE: Implementation of CHANGESTATUS function without Java Class

    Posted Thu January 15, 2026 09:37 AM

    Hi Anurag,

    Fully agree with what Andrzej mentioned above. Everything that Change Status functionality does in Maximo is not possible to achieve from Automation Scripts, it depends of course on the customer requirements.

    One thing which i believe can be difficult to achieve is the Change Status dialog being executed from the List tab, for multiple records, all the error handling, saving transactions,etc that is done in Maximo core.

    Hope this helps.



    ------------------------------
    Liliana Malaescu
    Naviam (formerly known as ZNAPZ)
    Senior Maximo Technical Consultant
    Romania
    ------------------------------



  • 5.  RE: Implementation of CHANGESTATUS function without Java Class

    Posted Fri January 16, 2026 01:39 AM

    Hi Liliana,

    Thanks for your input

    I agree that replicating the full Change Status functionality through Automation Scripts isn't feasible, especially considering the additional logic Maximo handles natively, such as multi-record status changes from the List tab, all the error handling etc.



    ------------------------------
    Anurag Chugh
    Data Engineer
    objec3d
    Melbourne, Australia
    https://www.objec3d.com/
    ------------------------------