You are on page 1of 2

2/2/24, 4:48 PM Document 812166.

1
Copyright (c) 2024, Oracle. All rights reserved. Oracle Confidential.

Preventive Maintenance Engine Forecast Formula with Meter Reading (Doc ID 812166.1)

In this Document

Goal
Solution

APPLIES TO:

Oracle Enterprise Asset Management - Version 11.5.10 and later


Information in this document applies to any platform.

GOAL

How the next work order due date is calculated by PM engine when having Meter rule?

SOLUTION

The calculation were built in an excel form, that can be downloaded here.

The information to be provided to the excel are:

Information Name Value Observation


LOV with Ascending / Descending. Value taken from Meter Definition
Value Change Ascending/Descending
(EAMMETER) form
Latest Reading
Meter Date
Date
Values taken from the Meter Readings page
Latest Reading
Number
Value

Base Interval Number


Last Service
Schedule Number Value taken from PM Schedule Definition form
Reading
Usage Rate Number

The information that the excel calculate and provides are:

Information Name Value Observation


Reading for next WO
Number This is computed based on the Base Interval and Last Service Reading
(dueReading)
This is computed based on the Latest Reading Value, Usage Rate and
Forecast Days until next WO (leftDays) Number
Reading for next WO
Work Order Due Date
Date This is computed based on Latest Reading Date and Days until next WO
(dueDate)

A deeper explanation of the calculation is done in below steps

1. PMEngine Code initially calculates next Service Reading from Last Service Reading entered in LSI Form:

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=10ohzr73tc_155&id=812166.1 1/2
2/2/24, 4:48 PM Document 812166.1
dueReading or nextServiceReading = (isDescMeter) ? (lastServiceReading - interval):(lastServiceReading + interval);
[if Meter is a Descending Meter, dueReading = (lastServiceReading - interval)
else dueReading =(lastServiceReading + interval)]

2. Keeps a note of latestReading and latestDate that were entered in meter readings form.

3. Calculates left days from latestReading(Step 2) to dueReading (Step 1)


double leftDays = (meter.getValueChangeDir() == PMConstants.DESCENDING_METER) /
((latestReading-dueReading)/rate):((dueReading - latestReading)/rate);
[if Meter is a Descending Meter, leftDays =(latestReading-dueReading)/rate
else leftDays =(dueReading - latestReading)/rate ]

4. Finally calculates the due date, adds leftDays (Step 3) to latestDate (Step 2)
dueDate = latestDate + leftDays;

Didn't find what you are looking for?

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=10ohzr73tc_155&id=812166.1 2/2

You might also like