Search Results inv_uom_conversion




Overview

APPS.POA_EDW_UTIL is a PL/SQL utility package body residing in the APPS schema and classified as a UTIL object within Oracle E-Business Suite. Its principal business function is unit-of-measure conversion. The package provides a generalized, callable mechanism for converting a quantity expressed in one unit of measure (UOM) into another, respecting item-specific conversion rules, UOM class relationships, and conversion-rate effective dating.

The procedure convert_uom is explicitly documented in the source header as having been cloned from INV_CONVERT.INV_UM_CONVERSION, the standard Inventory conversion routine. This lineage indicates that POA_EDW_UTIL was created to supply UOM conversion logic to the Procurement/Projects EDW (enterprise data warehouse) components without directly coupling them to the Inventory conversion API. The package thus acts as a self-contained conversion utility inside the POA (Projects/Procurement Analytics) family of objects.

Key Procedures and Functions

The ETRM metadata documents two callable program units:

  • CONVERT_UOM — The core conversion procedure. It accepts a source UOM code, a target UOM code, and an item identifier, and returns the computed conversion rate as an OUT parameter. Internally it resolves conversions through two cursor paths: one that reads direct, item-specific or global standard conversions from MTL_UOM_CONVERSIONS, and one that resolves cross-class conversions from MTL_UOM_CLASS_CONVERSIONS. An invalid_conversion exception is raised when no valid rate can be derived. These internal cursor structures are implementation details of the procedure and are not part of its public parameter interface.
  • GET_UOM_RATE — A companion function that returns a UOM conversion rate for a given conversion context. It serves as the retrieval-oriented entry point alongside the procedural convert_uom, allowing callers to obtain a rate value without invoking the full procedural interface.

Tables Accessed

The package reads from three Inventory tables, referenced through APPS synonyms:

  • MTL_UNITS_OF_MEASURE — The UOM master; provides the definition and classification of units used in conversion.
  • MTL_UOM_CONVERSIONS — Stores standard and item-specific conversion rates between units, including conversion-rate and effective/disable dates. This is the primary source for the standard-conversion cursor, filtered by item identifier (including the global item_id = 0) and by disable_date to exclude inactive rates.
  • MTL_UOM_CLASS_CONVERSIONS — Stores conversion rates between UOM classes, used when a direct same-class conversion is unavailable and an interclass rate must be applied.

The package performs read operations only against these tables; no inserts, updates, or deletes are documented.

Usage Notes

POA_EDW_UTIL is classified as a UTIL package and is referenced by one other package within the APPS schema, indicating it is invoked programmatically rather than directly by end users. Typical invocation scenarios include:

  • EDW extraction and transformation programs that must normalize quantities to a common UOM before loading fact tables.
  • PL/SQL routines in the POA object family that require UOM conversion without a hard dependency on INV_CONVERT.
  • Custom concurrent programs or reporting logic that need effective-dated, item-aware conversion rates.

Because the conversion cursors honor disable_date and item-specific overrides, callers should supply the correct item_id to obtain item-specific rates; passing the global context (item_id = 0) yields standard class-level conversions. The invalid_conversion exception must be handled by callers where unconvertible UOM pairs are possible. As with all APPS utility packages, it should be called through the APPS schema or an appropriate synonym, not invoked directly against the underlying tables.