Maximo

Maximo

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

 View Only
  • 1.  Apply SLA on Generated WOs from a PM

    Posted 18 days ago

    Good Day All,

    I'm looking for clarification on how SLAs can be applied to Work Orders that are generated from a Preventive Maintenance (PM) record in IBM Maximo.

    Specifically:

    • Is there an out-of-the-box feature that automatically applies the appropriate SLA when a PM-generated Work Order is created?

    • If not, is the recommended approach to use an escalation with an "Apply SLA" action, or should this be handled using an automation script triggered on Work Order creation?

    My goal is to have the SLA use the Target Start Date as the offset for commitments (e.g., response time).

    Has anyone successfully configured this without custom scripting? Any guidance or best practices would be appreciated!

    Best Regards,



    ------------------------------
    Mostafa Mosaad
    Software Engineer
    Megasoft
    Cairo
    01117275779
    ------------------------------


  • 2.  RE: Apply SLA on Generated WOs from a PM

    Posted 17 days ago
    Edited by Andrzej Więcław 17 days ago

    Hi Mostafa,

    you're on the right track. Requirement of automatically applying SLA is typically satisfied by an escalation running "Apply SLA" action. This is purely configuration and even though it has some drawbacks typical to records being processed in the background (BMXAA8229W - Record {OBJECTNAME} : {RECORDID} has been updated by another user.) it allows you not to introduce any Java or automation script customization. For PM WOs this typically is not that big deal as they are generated most commonly over the night and additional background processing by an escalation should not cause mentioned disturbances.

    If for some reason you need finer control over "record created" and "SLA applied" sequence of events then you may need to go for customization. If you decide to do it then you might still experience few pitfalls finding the right customization extension point as PM WOs are getting saved throughout the generation process at least twice and I'm not sure if on first save (before actually all data is persisted) invoking "Apply SLA" programmatically will do the right job as it may depend on database reads, while PM WO is still in memory. There are of course ways to delay customization execution "after commit" but it comes with a cost of handling errors complexity.

    I would highly recommend sticking with a simple escalation.



    ------------------------------
    If this post helps, please consider accepting it as a solution to help other members find it more quickly.

    Andrzej Więcław
    Maximo Technical SME
    ZNAPZ B.V.
    Wrocław, Poland
    ------------------------------



  • 3.  RE: Apply SLA on Generated WOs from a PM

    Posted 17 days ago

    Hi Andrzej,

    Thank you for your valuable insights and for highlighting the pros and cons of both approaches.

    While I agree that using an escalation is the simplest and most supportable option, our use case unfortunately doesn't allow for the potential delays that come with a scheduled escalation running every few minutes. For our customers, every minute counts, and we need the SLA to be applied instantly once the PM WO is generated.

    To address this, I've opted to use an Automation Script with a Launch Point on the Work Order object. It's configured with a condition to trigger only on PM-generated WOs and runs on 'add after save'. This allows me to retrieve the same WO via a self-relation and programmatically invoke the "Apply SLA" app action immediately.

    So far, this setup seems to meet our timing requirements without the risk of background processing delays, although we are monitoring closely for any edge cases.

    Appreciate your recommendation and perspective-it really helped clarify our options.

    Best regards,



    ------------------------------
    Mostafa Mosaad
    Software Engineer
    Megasoft
    Cairo
    01117275779
    ------------------------------



  • 4.  RE: Apply SLA on Generated WOs from a PM

    Posted 16 days ago

    Hi Mostafa, 

    There are two versions of the SLA application. The one from core Maximo Manage always uses the Reported Date as the seed date for calculating a Target Start Date (Response Commitment) or Target Finish Date (Resolution Commitment).

    The SLA(SP) application you get with Maximo for Service Providers or other solutions that embed SP like Maximo IT, has flexibility for choosing the seed date. The logic behind this calculation uses the Calculation Calendar for determining the Target date. These calculations are written to a table called SLARECORDS, which is where it decides which SLA is used based on Ranking or Commitment Stringency.

    As SLAs for WO mainly calculate Target dates, and PM WOs have Target dates already, it would be unusual to apply an SLA to a PM based WO.

    Applying an SLA to a work order can be a manual step, a Workflow step or via an Escalation. The most important aspect of applying an SLA is that all data used by SLA filtering is entered on the WO before the Apply SLA action is used. If data has not been entered, for example Priority, then you could be applying the wrong SLA. This is why there is the action Select/Deselect SLAs.

    As you need to validate data before applying the SLA, Workflow becomes a good choice, but a script would also achieve the same result. Escalation is good for SR to WO, as validation of data can be made on SR and copied across. Applying SLA on WO may not need to be immediate, if it does, use Workflow or script for the automation.

    Just a tip for the future Mostafa, give the business context behind a question, you have good and interesting questions but we often feel we want to ask Why?

    Regards Andrew



    ------------------------------
    Andrew Jeffery
    Maximo SME
    ZNAPZ b.v
    Barnstaple
    +44 (0)777 1847873
    ------------------------------



  • 5.  RE: Apply SLA on Generated WOs from a PM

    Posted 13 days ago

    Hi Andrew,

    Thank you once again for your continuous insights and valuable contributions to the community - they're always deeply appreciated.

    I'll definitely take your advice into consideration and will make an effort to provide more business context in future questions. In this particular case, the company has a contractual requirement where even PMs must comply with SLA targets.

    The logic here is that the PMs are generated by the planning team and come with a predefined Target Start date. Based on that, the SLA will be calculated to monitor whether the contractor has resolved the PM Work Order within the agreed timeframe. This provides visibility and accountability on performance, aligned with contractual obligations.

    Thanks again for your guidance!

    Best regards,



    ------------------------------
    Mostafa Mosaad
    Software Engineer
    Megasoft
    Cairo
    01117275779
    ------------------------------



  • 6.  RE: Apply SLA on Generated WOs from a PM

    Posted 13 days ago

    Hi Mostafa, 

    This sounds like a Schedule Window around the Target Start which sets the boundaries of when the PM must be performed in order to comply with the SLA. It can be created by using the Constraint Offsets on PM or if there are Job Plan Sequences then use the ones on the Job Plan. The offsets are in Hours.

    You can also apply an SLA of type OTHER, with no time based commitments, so that the PM work orders reference an SLA. The KPI can be used to monitor the SLA.

    Hope that helps

    regards Andrew



    ------------------------------
    Andrew Jeffery
    Maximo SME
    ZNAPZ b.v
    Barnstaple
    +44 (0)777 1847873
    ------------------------------



  • 7.  RE: Apply SLA on Generated WOs from a PM

    Posted 12 days ago

    Hi Andrew,

    Thanks a lot for the insight.

    Using Constraint Offsets to set the Schedule Window makes sense, and it's good to know that Job Plan Sequences can handle this too. I also like the idea of using an SLA of type OTHER just for reference and tracking it with a KPI.

    Appreciate your help!

    Best Regards,
    Mostafa



    ------------------------------
    Mostafa Mosaad
    Software Engineer
    Megasoft
    Cairo
    01117275779
    ------------------------------



  • 8.  RE: Apply SLA on Generated WOs from a PM

    Posted 15 days ago
    Edited by Johann Rumpl 15 days ago

    Hi Mostafa,

    Despite the fact that the "ordinary" SLA manager does it's calculation based on REPORTDATE like Andrew Jeffrey just mentioned I'd like to share two thoughts/eperiences:

    1. There is the capabiltiy to run a Workflow after a Work order has been generated. What if, you create a simple Workflow with just the APPLYSLA Action and add this WF in the Org Setup under Workflow Options?
    2. I think we faced a similar requirement back in the Maximo 7.5 times, when we still did a lot of Java. In our case the customer wanted the SLA being determined once a Service Request has been changed to the INPROG status I believe. It was at least a status change which triggered the APPLYSLA. The solution was to put these lines of code before the super.save() in the save() method of the SR class.
      		SLARecordsSetRemote slaRecords = (SLARecordsSetRemote)getMboSet("SLARECORDS");
      		slaRecords.applySLA();
      It worked like a charm and thinking about an Automation Script save launch point it would be at least worth a try. However, things might be different between 7.5 and 9x and between SR and WO. What I remember is, that applying the SLA in one transaction with other changes in the SR/WO might lead to the error messages Andrzej mentioned. So, I wouldn't have too high expectations, but it would also not be to much of an effort to give it a try....

    kind regards

    Johann



    ------------------------------
    Johann Rumpl
    CEO / Senior Consultant
    Naviam
    Steinmaur
    Austria
    ------------------------------



  • 9.  RE: Apply SLA on Generated WOs from a PM

    Posted 13 days ago

    Hi Johann,

    Thank you for your valuable insight and for sharing your past experience.

    Following your and Andrew's input, I've opted to use an Automation Script with a Launch Point on the Work Order object. It's configured with a condition to trigger only on PM-generated WOs and runs on 'add after save'. This setup allows me to retrieve the same WO via a self-relation and programmatically invoke the Apply SLA application action right after creation.

    So far, it seems to meet our timing requirements well.

    Kind regards,



    ------------------------------
    Mostafa Mosaad
    Software Engineer
    Megasoft
    Cairo
    01117275779
    ------------------------------