Search Results eam_meter_readings




Overview

EAM_METER_READINGS is a transactional table within the Oracle E-Business Suite Enterprise Asset Management (EAM) module. It serves as the central repository for meter readings captured against asset meters defined in the EAM_METERS table. Meter readings represent point-in-time measurements of usage counters — such as odometer readings on vehicles, hour meters on generators, or cycle counts on production equipment — and form the quantitative foundation for preventive maintenance scheduling, condition-based maintenance triggers, and asset lifecycle cost analysis.

In Oracle EBS 12.1.1 and 12.2.2, this table resides in the EAM schema and is populated through both manual data entry in the Oracle EAM forms and automated interfaces, including work order completion, mobile device uploads, and external system integration. The recorded readings drive the meter-based maintenance scheduling engine that determines when PM work orders should be generated.

From a Data Vault modeling perspective, the metadata's heuristic classification suggests this object behaves as a link table. The classification is derived from its foreign key structure, which connects two distinct business entities — EAM_METERS and WIP_DISCRETE_JOBS — through the METER_ID and WIP_ENTITY_ID columns. This link semantics reflects that each reading associates a meter with the context (a work order or standalone event) in which the measurement was captured.

Key Information Stored

The table contains 34 documented columns. The most significant are summarized below.

  • METER_READING_ID — The surrogate primary key, enforced by the EAM_METER_READINGS_PK constraint and additionally protected by the unique index EAM_METER_READINGS_U1. This column uniquely identifies each reading row.
  • METER_ID — Foreign key to EAM_METERS. Identifies the specific meter against which the reading was taken. This is the principal business-key candidate for joining meter definitions to their readings.
  • CURRENT_READING — The meter value captured at the time of the reading. This is the primary quantitative payload of the row.
  • CURRENT_READING_DATE — The date and time the reading was taken, used for trend analysis and for validating reading sequences against prior entries.
  • RESET_FLAG — Indicates whether the meter was reset at this reading, which affects how cumulative and net consumption are calculated between readings.
  • LIFE_TO_DATE_READING — The cumulative meter value over the asset's life, maintained independently of resets to support total usage tracking.
  • WIP_ENTITY_ID — Foreign key to WIP_DISCRETE_JOBS. Associates the reading with a discrete manufacturing work order when the meter captures production-run or run-time data.
  • DESCRIPTION — Free-text notes entered by the maintenance technician or integration process.
  • SOURCE_CODE and SOURCE_LINE_ID — Identify the originating source system or interface line, supporting traceability of automated or migrated readings.
  • WO_ENTRY_FAKE_FLAG, DISABLE_FLAG, and MIGRATED_FLAG — Control and provenance indicators. MIGRATED_FLAG identifies records loaded through data conversion, while DISABLE_FLAG allows logical exclusion of a reading from processing.
  • ATTRIBUTE_CATEGORY and ATTRIBUTE1 through ATTRIBUTE15 — The standard Oracle EBS flexfield descriptive columns, available for customer-specific extensions.
  • Audit columnsCREATED_BY, CREATION_DATE, LAST_UPDATE_LOGIN, LAST_UPDATE_DATE, and LAST_UPDATED_BY provide standard row-level audit tracking.

Common Use Cases and Queries

Typical reporting and validation scenarios include retrieving the latest reading per meter, detecting abnormal consumption between readings, and reconciling readings back to the work orders that generated them.

To retrieve the most recent reading for each meter:

SELECT mr.meter_id, mr.current_reading, mr.current_reading_date
FROM   eam_meter_readings mr
WHERE  mr.current_reading_date =
       (SELECT MAX(b.current_reading_date)
        FROM   eam_meter_readings b
        WHERE  b.meter_id = mr.meter_id);

To correlate readings with the discrete manufacturing work orders that produced them:

SELECT mr.meter_reading_id, mr.current_reading,
       wdj.wip_entity_name
FROM   eam_meter_readings mr,
       wip_discrete_jobs wdj
WHERE  mr.wip_entity_id = wdj.wip_entity_id
AND    mr.migrated_flag = 'N';

Additional use cases include calculating usage deltas between consecutive readings using analytic functions, auditing records with DISABLE_FLAG = 'Y' that may need reactivation or purging, and validating migration loads by filtering on MIGRATED_FLAG and SOURCE_CODE.

Related Objects

  • EAM_METERS — The parent meter definition table. Joined via EAM_METER_READINGS.METER_ID = EAM_METERS.METER_ID. Provides the meter name, unit of measure, and scheduling parameters.
  • WIP_DISCRETE_JOBS — The discrete manufacturing work order table. Joined via EAM_METER_READINGS.WIP_ENTITY_ID = WIP_DISCRETE_JOBS.WIP_ENTITY_ID when readings are captured during production.
  • EAM_METER_READINGS_PK / EAM_METER_READINGS_U1 — The primary key constraint and supporting unique index on METER_READING_ID.
  • EAM_WORK_ORDERS and EAM_WO_OPERATIONS — Work order entities whose completion can trigger meter reading capture for asset meters.
  • EAM_PM_SCHEDULES / EAM_MAINTENANCE_CALENDARS — Scheduling tables that consume meter readings to determine PM due dates for meter-based maintenance programs.

Because EAM_METER_READINGS is a high-volume transactional table, reports and interfaces should favor indexed access paths through METER_ID or WIP_ENTITY_ID and constrain on CURRENT_READING_DATE wherever historical windows are appropriate.