Here’s an interesting scenario concerning generating Work Orders (WOs) every month during a certain week of the month and on a certain day of the week.
It applies to any Preventative Maintenance (PM) that needs to generate one work order a month but only during a specific week – 1, 2, 3 or 4 and on a specific day of the week.
Here’s an example of such PM’s seasonal dates from one of our clients:
You can’t see the full Active Dates table here, but it’s the same for all 12 months – from day 1 to day 7. So it’s meant to generate 1 work order on the first Wednesday of every month.
Since it’s a monthly PM, the logical thing to do is set the frequency to 1 month, right? Not really! The way the monthly frequency calculation goes in Maximo, it checks that the next due date has the same day of the Month (or earlier or later, depending on the Schedule Early setting) as the last start date, assuming we’re using the start date to calculate the next due date.
In the case of this PM, if the last start date is Wednesday, December 2nd, and the PM is set to schedule early, January is not included in the forecast because 6 on Wednesday, January 6th is greater than 2 on Wednesday, December 2nd.
If it’s set to not schedule early, January is included, but February is not, because 3 on Wednesday, February 3rd is less than 6 on January 6th.
So the correct answer is, in fact, to set the frequency to 28 days and uncheck Schedule Early on Frequency Conflict. Only then will we get a correct forecast with a work order generated on the first Wednesday of every month:
Worth noticing that the estimated next due date, in this case, will show December 30th, which is the last start date December 2nd + 28 days, but this is an estimate and it’s incorrect because our seasonal dates restrict generating a work order on any day of the month except the first weekdays 1 to 7.
You can always check the actual future schedule by generating a forecast, manually or with the help of the PMForecastCronTask.