Welcome to IBM Maximo Customization and Development blog.
When I started working on Maximo/TPAE products I was feeling excited about the new challenge but I often loose myself in tons of product documentation. In many cases I have tried to search on the web to solve specific problems and I seldom found answers to my questions. That's why I decided to create my blog to discuss and share IBM Maximo features, customization and development topics.
If you are working on Maximo/TPAE technology you may find useful to follow me on this channels:

MaximoDev Guidelines

After two year of activity this blog has become very popular among the Maximo/TPAE technical community so I have decided to publish a brief set of guidelines for using this site.

  • Reward my effort: Follow me on Twitter and LinkedIn. Retweet or 'like' my posts. Leave comments when you use my tutorials in your daily job. If you are an IBMer, give me a BlueThx.
  • Contribute: Blogs are social websites. Use comments to enrich content or suggest improvements.
  • Comments moderation: Comments are not moderated but I will remove those not following these rules.
    • This is not a support forum: Do not post comments that are not strictly related to the content of each post. Use developerWorks Maximo forum to ask for help.
    • Fair links: Do not add links to sites not strictly related to argument of the post. To boost your Google page-rank go somewhere else.


  1. Good Site for all Maximo Developers

  2. Really very Good Site on Development side

  3. This comment has been removed by a blog administrator.

    1. Can you please clarify the topic of the article?
      Do you mean the periodic IBM TechNotes suggesting to patch the WebSphere JVM to fix security issues?
      Thanks for your interest in my blog.

    2. Hi How do we import Records to the ALNDOMAIN Tables ? using Excel / MIF / Data Import Any Method ?

  4. Very good site for all maximo Developers and thanks a lot Brono Portaluri

  5. Hi Bruno,
    Thanks for all this great information. Best practice calls for many Maximo environments. Do you have a resource that explains IBM or your own best practice for Development and Code Migrations where there is a Ticket system (could be Maximo, often Quality Center) and a Source Control like IBM Rational ClearCase in the mix?
    (Catalog all the Maximo code and put it in ClearCase, log tickets in Ticket system, perform dev in Dev, consolidate in Test, try out in Stage, then migrate to Prod). Programming is for tickets across the same code or objects, migrations include multiple tickets at once.

  6. Hi All,

    In my workflow i would like to route a Service request to different assignee/groups based on the classifications. I have 4 levels of classifications (300+ in total), and i would like to map the service requests among 5 groups.

    What would the better approach i can implement??

    1. This is not a support forum.
      Do not post comments that are not strictly related to the content of each post. Use developerWorks Maximo forum to ask for help.

  7. Hi All,
    I'm Just now starting my software career with maximo as a Fresher. can any body please tell me how would be my career with maximo?

  8. Hi,
    I like this blog very much. For all the maximo java reference, i directly come to this blog instead of google. Can you explain about how to do database transactions in maximo? I mean, how to start the transaction, commit, rollback and other related stuff.

  9. Hi Bruno,

    Your blogs are realy very usefull for the maximo beginers and maximo professionals. I am following your blog for all the technical queries.

    Thanks for sharing such informations.

  10. Hi Bruno,

    Could you please write some blog on difference between Zombie MBO and non-persistent MBO? I tried to search for IBM wiki, google for some nice explantation but could not find.

  11. Hi Bruno,

    I am facing below issue in maximo.

    The Reports link at navigation bar stopped working. When the user clicks on it the cursor scrolls for a second then nothing happens.

    Earlier we had changed the skin color for this instance by changing banner_swoosh image file. I was thinking this might be the result of banner_swoosh image file change.Now I rolled it back but the issue still persists.

    I have verified LIBRARY & MENU xml files. There is no change in these xml files.

    Any suggestions/comments would be appreciated. Maximo version is 7.5.


  12. This comment has been removed by the author.

  13. Maximo Scheduler has been installed.In Scheduler Application, Select Action Menu, Configure Gantt View Properties have not been configured by default.When i click on New Row.i am getting an error as i show Can Not Add A Row. Log File shows:

    BMXAA4118I - The Boolean field is blank and requires a value.
    at psdi.util.MaxTypeYORN.asBoolean(MaxTypeYORN.java:267)
    at psdi.mbo.MboValue._getBoolean(MboValue.java:604)
    ... 502 more
    [10/3/17 9:56:12:471 ICT] 00000035 SystemOut O 03 Oct 2017 09:56:12:468 [ERROR] [MXServer] [] BMXAA7135E - The Boolean value of SKDPROPERTY.PERSISTENT cannot be retrieved.
    BMXAA4118I - The Boolean field is blank and requires a value.
    psdi.util.MXSystemException: BMXAA7135E - The Boolean value of SKDPROPERTY.PERSISTENT cannot be retrieved.

  14. Hi Bruno,

    Your posts are very helpful for many people. For many doubts i prefer your posts. Please cover few more topics like BRE, Validation check and customazation quick tips.

    Thank you.

  15. Hi Mr.Bruno...Thx For your blog, it's awesome....can u cover more about maximo anywhere, please....especially in cloning maximo anywhere apps....Thank u, sir !!!

  16. Hi Bruno

    How we can get the login user Machine name ( for the User run the report ) in Birt Report

  17. Bruno! This is a great blog. Are you planning to cover the latest JSON API. Looks like maxrest may be deprecated in the future. OSLC instead of maxrest provided great control with select and where conditions. If you could demo JSON payloads using JSON api, that will be great!

  18. Hi Bruno,
    How can we transfer item (location to location) with mboSet ?
    I get an error in my code when mtuSet.save()

    My code example;

    inventorySet = session.getMboSet("INVENTORY");
    inventorySet.setWhere("ITEMNUM='SAHA KABLO' AND LOCATION='DENEME'");
    if (!inventorySet.isEmpty()) {
    inventory = inventorySet.moveFirst();
    mtuSet = inventory.getMboSet("MATRECTRANS");
    mtu = mtuSet.add();
    mtu.setValue("QUANTITY", 4,MboConstants.NOACCESSCHECK);
    mtu.setValue("TOSTORELOC", "09058");
    mtu.setValue("ISSUETYPE", "TRANSFER",MboConstants.NOACCESSCHECK);
    mtu.setValue("QUANTITY", 4,MboConstants.NOACCESSCHECK);
    mtu.setValue("TOSTORELOC", "09058");