Technical Blog Post
Maximo / SCCD Escalations - Your Friend and Mine
Hi there, I decided to check in and throw my 2 cents out there on a topic that I think a lot of people might benefit from and that's using Escalations in Maximo.
The Escalations application first came onto the Maximo scene with version 6 and has developed
into a powerful and extremely useful tool that can help to solve many problems.
In Maximo 7 and beyond, escalations can be used against pretty much any Maximo object.
There are many very helpful uses for escalations.....
- Monitoring / reporting on various time sensitive processes and notifying interested parties.
- Monitoring the expiration of various records and taking some action.
- Updating various values on records.
- Updating the status of records.
The benefit here is that escalations help to automate processes or functions that a user would normally have to take time to complete.
There are four basic components to escalations:
- The Condition, where we set up criteria in the form of SQL that determines what records the escalation will act on.
- The Schedule, which determines how often the escalation will look for records.
- The Escalation Points, which determines what types of time attributes are considered....this is especially useful when we're working with records such as Service Requests that may have an associated Service Level Agreement with a time component.
- The Actions/Notifications, this is where we can define the actions that are taken when records are found and who if anyone is notified when those actions are taken.
When clients ask me for ways to help automate processes in their businesses, I try to direct them toward escalations. Most of the time the clients have an idea about how they want to deal with a problem but don't realize that an escalation can be created and configured to handle something that they thought would be very difficult to implement. That's why escalations are so useful. They're actually extremely easy to create and once configured, can save many man-hours of repetitive work for users.
Let's take a closer look at a very basic escalation by first going to the Escalations application in the System Configuration / Platform Configuration module of Maximo or SCCD. In this case we'll look at an out of the box escalation that looks for expired purchase contracts and then effectively updates the contract's status to EXPIRED so that it can no longer be used.
As you can see from the screenshot above, we've set the escalation to apply to a view of purchase contract related objects. We created a description for the escalation and set a condition. The escalation will look for contracts that currently have a maxvalue status of 'APPR'.
In the screenshot above you can see that we can set a schedule for this escalation to run. In this case we want the escalation to run every 24 hours (once a day). If we needed to apply a specific organization, calendar or shift we could that here. Once the escalation has been activated and a schedule has been set, a crontask in the background will run to fire off the escalation within the configured schedule. Once a record is found that meets the criteria for our condition that we configured above, we need to set an escalation point and if necessary can add additional SQL criteria. Because we want to check to see if the contract is expired, we need the escalation to see if there is an end date. We can use the ENDDATE time attribute as the escalation point.
If the end date for the contract has been reached then we want an action to take place. This requires us to move to the Actions application and configure our action. Again we want this action to apply to the same object as our escalation applies to. We want to set the type as "Change Status" for our purposes, however we could choose other options if necessary.
After setting the object and type, we can determine the status that we want the escalation's action to use. Since we want the status to update to expired, we need to update the value with the synonym domain status of EXPIRD. In addition we need to determine the application that this action will be accessible from.
After configuring our action, we can return to the escalation and add notification information by creating a template that will be used when the escalation fires off the action.
As you can see, escalations can save an enormous amount of time and energy but streamlining a process automatically. Without an escalation, consider for a minute what the user tasked with having to find these records would have to go through. The user in theory would first need to find the records through standard query methods within the application, change the status for each contract, and then send out individual emails to the various people that need to be notified of the expiration. The escalation bundles all of these actions and makes a frustrating work day go by a little faster. This was a very brief and basic example however escalations can be made to handle extremely complex conditions and actions if configured properly. The next time you have a process that consumes the time and efforts of your users, consider using an escalation to consolidate that process.
Here's a link to a list of documents that provide some more info on escalations:
Thanks for reading and be safe out there!