Maximo

Maximo

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

 View Only
  • 1.  MAXLEVEL and MINLEVEL in maximo

    Posted 4 days ago

    Hi All,

    Our client had a requirement to run reorders based on min-max

    i.e reorder trigger point should be MINLEVEL and reorder quantity to be MAXLEVEL instead of MINLEVEL.

    if minlevel is 5 and maxlevel is 10, oncel current balance reached 5, it should reorder to replinish back to 10.

    I found the MAXLEVEL attribute without any logic and we want to do minimum customization.

    So i loaded the values to minlevel and maxlevel, wrote an autoscript on reorderpad object on before save event.

    Here the script withh update the reorderqty to add the difference between minlevel and maxlevel.

    The script works perfect and it orders to maxlevel when it reach minlevel, but only when the items are less. 

    currentOrderQty = mbo.getInt("REORDERQTY")
    invSet = mbo.getMboSet("INVENTORY")
    invSet.setDiscardable(True)

    if invSet is not None and not invSet.isEmpty():
        invMbo = invSet.moveFirst()
        if invMbo is not None and not invMbo.isNull("MAXLEVEL") and not invMbo.isNull("MINLEVEL"):
            maxLevel = invMbo.getInt("MAXLEVEL")
            minLevel = invMbo.getInt("MINLEVEL")
            if maxLevel > 0:
                mbo.setValue("REORDERQTY", currentOrderQty + (maxLevel - (minLevel + 1)), 11L)

    When we let the reorder cron run reorder for bulk of items we get below error:

    Reorder cron task Tue Jul 07 11:36:00 AST 2026 Reorder cron task processes storeroom MAINSTORE in site XXX. BMXAA6713E - The MBO fetch operation failed in the mboset with the SQL error code -4470. The record could not be retrieved from the database. See the log file for more details about the error.

    This error is happening because of the last setvalue on reorderqty.

    The alternative solutions are to ditch completely the reorder pad and push the logic to PRLINE level, or have our own logic in reorder using DB formulas.

    Before trying these out, wanted to know if the current setup of scripting over reorderpad is recommended?

    I want to achieve this with only minimum customization.



    ------------------------------
    salah hassan
    ------------------------------


  • 2.  RE: MAXLEVEL and MINLEVEL in maximo

    Posted 2 days ago

    Hi Salah,

    I don't have your answer, but I do have a question. Why?  Of course, it's the client's requirement, but is it the right thing to do? 

    Firstly, MAXLEVEL is usually set because that is the maximum number of that stock that the bin/location can hold, rather than for an economic reason.   Maximo today does not run using MIN/MAX and rather looks at more of a just-in-time (provided that you do run the reorder frequently enough), and as you've pointed out, you need to override Maximo.

    Next thing. is that you have not converted the MAXLEVEL into the order units.  As an example, you order by the box, which contains 12 individual units.  Order unit = Box12, Issue unit = Each, conversion =12.  The MAXLEVEL is how many you can hold, not how it's purchased.  So, unless all order units are in units of 1, a conversion needs to be done.  But, what if your MAXLEVEL = 10 and, based on the conversion, you order a box that is a box of 12?  Automatically, you're ordering more than the MAXLEVEL.

    Next, is that the MIN/MAX scenario does not take into account what's needed to fulfil the demand.  How has the MAXLEVEL been determined?  There is a difference between having space for 10 and needing 10.  When do you need 10?  How fast will they be consumed? Can the company afford to buy up to the MAXLEVEL?

    There is an art to inventory management, but we also need to understand that Maximo doesn't understand warehouse management.



    ------------------------------
    Regards, Craig Kokay
    Princpal Consultant, COSOL
    https://cosol.global/

    Ph: +61-411-682-040
    email: craig.kokay@cosol.global
    #IBMChampion
    ------------------------------