Maximo

Maximo

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

ย View Only
  • 1.  Management and Calculation of Dates in PM and Work Orders in IBM Maximo 7.6 and MAS 9

    Posted 3 days ago

    Dates are the backbone of the maintenance cycle in IBM Maximo: they drive Work Order (WO) generation, planning, compliance, and KPI tracking.
    Between Preventive Maintenance (PM), Work Orders, Job Plans, and status changes, their logic is often misunderstood.

    This article details the key date fields involved in the PM โ†” WO lifecycle, their visibility in the user interface (UI), and the main differences between Maximo 7.6 and MAS 9 (Maximo Manage).

    ๐Ÿ†š MAS 9 :

    • The PMWoGen engine is now a containerized microservice (PM Engine).
    • The new React-based UI provides dynamic preview of due dates.
    • Automation Scripts are managed directly in Manage UI, with Python 3 + Event Actions support and no EAR deployment required.

    1. Types of Maintenance and Date Logic

    Type

    Trigger

    Date Management

    Example

    Preventive (PM)

    Time / Meter / Condition

    Automatic via PMWoGen

    Monthly inspection

    Corrective

    Breakdown / User request

    Manual date entry

    Motor replacement

    Condition-based

    Threshold or sensor event

    Based on meter readings or scripts

    Temperature > 80 ยฐC

    ๐Ÿ†š MAS 9:

    • Integrated with IoT Predict (event-stream-based).
    • Can be linked to Watsonx AI Rules for intelligent triggering.

    2. PM Module Date Attributes

    Attribute

    Role in the Maintenance Cycle

    Visible in UI

    Label (FR / EN)

    STARTDATE

    First planned start date

    Yes

    Date de dรฉbut / Start Date

    NEXTDUEDATE (NEXTDATE)

    Next planned due date

    Yes

    Prochaine รฉchรฉance / Next Due Date

    LASTSTARTDATE

    Date of the last generated WO

    Yes (History tab)

    Derniรจre gรฉnรฉration / Last Start Date

    LASTCOMPDATE

    Completion date of the last executed WO

    Yes

    Derniรจre exรฉcution terminรฉe / Last Completion Date

    FREQUENCY

    Interval between two generations

    Yes

    Frรฉquence / Frequency

    LEADTIME

    Number of days before due date to generate WO

    Yes

    Dรฉlai d'anticipation / Lead Time

    USETARGETDATE

    Defines fixed (Yes) or floating (No) scheduling

    Yes (checkbox)

    Utiliser la date cible / Use Target Date

    LASTFORECASTDATE

    Last forecasted generation date

    Yes (Forecast tab)

    Derniรจre prรฉvision / Last Forecast Date

    PMNEXTDUEDATE (MAS 9)

    Dynamically recalculated due date

    Yes (Timeline)

    Prochaine รฉchรฉance prรฉvue / Estimated Next Due Date

    ๐Ÿ’ก MAS 9:

    • PMNEXTDUEDATE is updated automatically after WO closure.
    • The calculation is performed by the PM Engine Service (REST) instead of the traditional Cron Task.

    3. Work Order Module Date Attributes

    Attribute

    Role in the Cycle

    Visible in UI

    Label (FR / EN)

    REPORTDATE

    WO creation date

    Yes

    Date de crรฉation / Report Date

    SCHEDSTART

    Planned start date

    Yes

    Dรฉbut planifiรฉ / Scheduled Start

    SCHEDFINISH

    Planned finish date

    Yes

    Fin planifiรฉe / Scheduled Finish

    ACTSTART

    Actual start of execution

    Yes

    Dรฉbut rรฉel / Actual Start

    ACTFINISH

    Actual finish of execution

    Yes

    Fin rรฉelle / Actual Finish

    STATUSDATE

    Last status change date

    Yes

    Date du statut / Status Date

    PMDUEDATE

    PM due date copied at WO generation

    Yes

    ร‰chรฉance PM / PM Due Date

    TARGSTARTDATE (TARGSTART)

    SLA target start

    Yes

    Dรฉbut cible / Target Start Date

    TARGCOMPDATE (TARGCOMP)

    SLA target completion

    Yes

    Fin cible / Target Completion Date

    FAILDATE

    Reported failure date

    Yes(Failure Reporting module)

    Date de panne / Failure Date

    CHANGEDATE

    Last update to the WO record

    No (technical)

    Date de modification / Change Date

    ๐Ÿงญ Key takeaway:

    • ACTSTART, ACTFINISH, and STATUSDATE close the PM โ†” WO feedback loop.
    • PMDUEDATE records the original PM due date when the WO was created.

    4. Date Calculation Logic in PM

    โฑ๏ธ Time-based Scheduling

    Mode

    USETARGETDATE

    Logic

    Result

    Fixed

    Yes

    NEXTDUEDATE = STARTDATE + n ร— FREQUENCY

    Schedule fixed to target date (non-shifting)

    Floating

    No

    NEXTDUEDATE = LASTCOMPDATE + FREQUENCY

    Schedule shifts based on last completion

    ๐Ÿงฎ Formula:
    Generation Date = NEXTDUEDATE - LEADTIME

    ๐Ÿ†š MAS 9:

    • Option "Recalculate Next Due Automatically" available in UI.
    • Calculations handled by PM Engine microservice (REST).

    โš™๏ธ Meter-based Scheduling

    • Generation is triggered when the meter threshold is reached.
    • The MEASUREDATE becomes the base for the WO REPORTDATE.

    ๐Ÿ†š MAS 9:

    • Managed by Meter Events Service (Kafka / MQTT).
    • Native IoT and predictive analytics support.

    ๐Ÿ”” Condition-based Scheduling

    • Triggered by Condition Monitoring or Automation Scripts.
    • ACTSTART is initialized with the event date.

    ๐Ÿ†š MAS 9:

    • Configurable in Monitor Events UI.
    • Can trigger Automation Policies or Event Actions.

    5. Status Lifecycle and PM โ†” WO Feedback

    5.1 Standard Statuses

    Status

    Description

    Key Date

    Impact on PM

    WAPPR

    Waiting for Approval

    REPORTDATE / STATUSDATE

    None

    APPR

    Approved

    STATUSDATE

    None

    INPRG

    In Progress

    ACTSTART / STATUSDATE

    Marks real start

    COMP

    Completed (not closed)

    ACTFINISH / STATUSDATE

    Prepares PM update

    CLOSE

    Closed

    ACTFINISH / STATUSDATE

    Updates LASTCOMPDATE

    CAN

    Canceled

    STATUSDATE

    No impact

    ๐Ÿ†š MAS 9:

    • Workflow transitions managed via Workflow Designer Web.
    • Date fields automatically updated by Work Execution API.

    5.2 PM โ†” WO Feedback Loop

    1. PM calculates NEXTDUEDATE
    2. PMWoGen Cron Task generates WO
    3. WO progresses: WAPPR โ†’ APPR โ†’ INPRG โ†’ COMP โ†’ CLOSE
    4. Closing the WO updates LASTCOMPDATE = ACTFINISH
    5. PM recalculates NEXTDUEDATE based on FREQUENCY and USETARGETDATE

    ๐Ÿ“Š Simplified Flow:

    [PM: NEXTDUEDATE]

       โ†“

    [WO: WAPPR โ†’ APPR โ†’ INPRG โ†’ COMP โ†’ CLOSE]

       โ†“

    [PM: LASTCOMPDATE = ACTFINISH]

       โ†“

    [PM: NEXTDUEDATE recalculated โ†’ New WO]

    ๐Ÿ†š Default MAS 9 Behavior:
    PMWoGenCronTask remains the default execution mechanism.
    Event listeners in MAS 9 are optional, enabling real-time updates without waiting for the Cron Task - only if custom event configuration is implemented.

    6. Practical Use Cases

    Case

    Description

    MAS 9 Behavior

    Delayed Monthly PM

    WO closed after the planned date

    Immediate recalculation via PM Engine

    Condition-based PM

    Triggered by IoT meter

    Native MQTT / Watsonx Edge support

    Unclosed WO

    LASTCOMPDATE not updated

    Use Automation Policy "On WO Close"

    7. Best Practices

    • Always close Work Orders (CLOSE) to ensure PM updates.
    • Verify coherence between FREQUENCY and LEADTIME.
    • Automate updates via script:
    • if mbo.getString("STATUS") == "CLOSE":

       pmSet = MXServer.getMXServer().getMboSet("PM", mbo.getUserInfo())

        # update LASTCOMPDATE

    • Use accurate Job Plans for reliable scheduling (SCHEDSTART / SCHEDFINISH).

    ๐Ÿ†š MAS 9:

    • Both Jython and Python 3 scripts are supported.
    • Automation Policies allow low-code event-based automation.

    8. Useful Queries

    SELECT p.pmnum, w.wonum, w.status, w.statusdate, w.actstart, w.actfinish,

           p.nextduedate, p.lastcompdate

    FROM workorder w

    JOIN pm p ON w.pmnum = p.pmnum

    WHERE w.origrecordclass = 'PM';

    ๐Ÿ†š MAS 9 REST Equivalent:
    /oslc/os/mxpm?oslc.select=pmnum,nextduedate,lastcompdate&lean=1

    Conclusion

    Consistency between PM and Work Order date fields ensures reliable scheduling and effective preventive maintenance.
    In Maximo 7.6, logic relies on Cron Tasks and local scripts.
    In MAS 9, the same functional logic is enhanced through an event-driven microservice architecture, enabling faster and more reliable updates.

    โœ… MAS 9 modernizes without changing the core:
    same functional model, improved reliability, and near real-time updates.
    PMWoGenCronTask remains the process backbone, while event listeners provide optional real-time responsiveness for advanced environments.



    ------------------------------
    Mahdi Salah
    Senior Consultant IBM Maximo & MAS 9
    SINORFI
    TUNISIE
    ------------------------------


  • 2.  RE: Management and Calculation of Dates in PM and Work Orders in IBM Maximo 7.6 and MAS 9

    Posted 3 days ago

    Thanks for an interesting article.

    The move to providing the PMWOGen functionality as a micro service is potentially quite useful.



    ------------------------------
    Mark Robbins
    Technical Design Authority / IBM Champion 2017 - 2025
    Cohesive (previously Vetasi Limited)
    https://www.linkedin.com/pulse/maximo-support-advice-from-non-ibm-engineer-article-mark-robbins/
    ------------------------------



  • 3.  RE: Management and Calculation of Dates in PM and Work Orders in IBM Maximo 7.6 and MAS 9

    Posted 2 days ago

    Help me understand something:

    I'm still on 7.6, contemplating an upgrade to MAS 9.1.

    As a simple example, I'm looking at a PM that has a 3 Months floating frequency.  The value of PM.LASTCOMPDATE is 2025-07-30.

    Then I look at the Work Orders that came from that PM, there are several that are CLOSE, one that is COMP, and one that just recently was generated.  The one that is COMP as a value for WORKORDER.ACTFINISH of 2025-07-30 15:00.

    The point being: the completion of this Work Order is what updated PM.LASTCOMPDATE, not the closing of the Work Order.

    From what you have written, it states multiple times that the CLOSE status is what updates the PM in MAS.  If that is true, that seems like it would be a disastrous change.  PM-based Work Orders would have to be Closed very, very quickly after Completion in order for the PM to correctly figure out when it needs to generate the next Work Order.

    I'm sure we could change our processes, but currently, we Close our Work Orders 6 months after Completion.  It keeps the "recent" history readily available.

    Actually, to paint a broader picture of our current processes, when a Technician finishes a Work Order, we have them change the status to a synonym of INPRG that we created, called FCOMP.  We do this because of the rule that disallows re-opening a COMP Work Order.  From FCOMP, we can go backwards to APPR or INPRG or whatever if we need to.  We allow 7 days for the customer to ask for the Work Order to be reopened, otherwise I've automated that it will change to COMP.

    But in the case of a PM-Work Order, there is no customer to have to wait 7 days for; and I need it to not mess up the timing of the next Work Order that comes from that PM; so I have that automated so it will move to COMP the same day it was moved to FCOMP.  But that still allows time for people to record parts, labor, Work Logs, etc.  If I now have to change it so it goes to CLOSE the same day. . .that seems bad.

    For example, if there were a PM with a 1 Week floating schedule: suppose the WO is Completed on Monday.  The next Work Order should be due on the following Monday.  It sounds like we'd have less than a week to Close the Work Order; and, depending on the Lead Time, it may still generate later than we want it, unless we Close it very, very quickly.



    ------------------------------
    Travis Herron
    ------------------------------



  • 4.  RE: Management and Calculation of Dates in PM and Work Orders in IBM Maximo 7.6 and MAS 9

    Posted 2 days ago

    Can You please stop posting copy-paste content from ChatGPT without even checking it... this article is useless and even contradicts itself in couple points.



    ------------------------------
    Witold Wierzchowski
    Solution Architect
    Cohesive Poland
    ------------------------------



  • 5.  RE: Management and Calculation of Dates in PM and Work Orders in IBM Maximo 7.6 and MAS 9

    Posted 2 days ago

    What an informative article! Thanks for all the details.  



    ------------------------------
    Kimberly Kennedy
    Data Engineer
    IBM
    318.331.3704
    ------------------------------