Search Results inv_convert
Overview
INV_CONVERT is the core unit-of-measure (UOM) conversion engine of Oracle Inventory. The package body, owned by the APPS schema and validated in both EBS 12.1.1 and 12.2.2, centralizes the logic that translates item quantities between units of measure whenever Oracle EBS must express a quantity in a UOM other than the one in which it was entered or stored. Because UOM conversions underlie virtually every inventory, purchasing, order management, and manufacturing transaction, INV_CONVERT is one of the most heavily leveraged utility packages in the Oracle E-Business Suite. The ETRM documentation classifies it as an API of type OTHER and records it as referenced by 414 other database objects, underscoring its role as shared infrastructure rather than a directly user-invoked API.
The package also implements the dual-unit-of-measure (dual UOM) functionality introduced in Oracle Inventory, whereby a material item can be transacted in both a primary and a secondary UOM. Conversions are resolved through the UOM class conversion tables, item-specific conversions, lot-specific conversions, and, where applicable, deviations from the expected conversion rate.
Key Procedures and Functions
The ETRM metadata documents thirteen procedures and functions, of which the principal ones are described below. Parameter lists are intentionally not reproduced.
- INV_UM_CONVERT — the principal general-purpose conversion function. It converts a quantity from a source UOM to a target UOM for a given item, honoring class conversions, item-specific overrides, and dual-UOM rules.
- INV_UM_CONVERSION — retrieves the conversion rate between two UOMs for a specified item without applying it to a quantity, allowing callers to obtain the factor itself.
- INV_UM_CONVERT_NEW — a later-generation variant of the conversion function, used by newer code paths to obtain converted quantities under current conversion semantics.
- PICK_UOM_CONVERT — performs UOM conversion in the context of pick, ship, and move-order processing, where the UOM used for picking may differ from the transaction UOM.
- PICK_UOM_CONVERT_FOR_DUAL_UOM — the dual-UOM-aware counterpart to PICK_UOM_CONVERT, returning both primary and secondary quantities for picking operations.
- IS_UOM_IN_SAME_CLASS — a validation function that determines whether two UOMs belong to the same UOM class, which is a precondition for conversion.
- VALIDATE_ITEM_UOM — confirms that a UOM is valid for a given item, typically by verifying membership in the item's UOM class and any item-level restrictions.
- WITHIN_DEVIATION — evaluates whether a proposed or actual conversion falls within the permitted deviation tolerance, supporting lot-level conversion acceptance.
- CREATE_UOM_CONVERSION — creates a UOM conversion record, writing the appropriate conversion definition into the conversion tables.
Additional helper routines in the package support secondary-UOM and lot-level conversion lookups that are used internally by the procedures above.
Tables Accessed
INV_CONVERT reads and writes the Inventory UOM and item foundation tables through APPS synonyms. The conversion hierarchy is assembled from MTL_UOM_CONVERSIONS, MTL_UOM_CLASS_CONVERSIONS, MTL_UOM_CLASSES, and MTL_UNITS_OF_MEASURE, which together define standard class-based conversion factors. Item-level and lot-level overrides are drawn from MTL_LOT_UOM_CLASS_CONVERSIONS and MTL_LOT_NUMBERS, while item attributes, including the assigned UOM class and dual-UOM flags, come from MTL_SYSTEM_ITEMS and MTL_SYSTEM_ITEMS_VL, with MTL_ITEM_UOMS_VIEW exposing item UOM relationships. Location, subinventory, and pending transaction context are supplied by MTL_ITEM_LOCATIONS, MTL_SECONDARY_INVENTORIES, and MTL_MATERIAL_TRANSACTIONS_TEMP. The package also draws on MTL_UNITS_OF_MEASURE_VL for translated UOM descriptions. PLITBLM is referenced as the standard PL/SQL table type used for list and array handling. CREATE_UOM_CONVERSION is the primary write path into the conversion tables.
Usage Notes
INV_CONVERT is not exposed as an end-user API and has no descriptive flexfield or concurrent-program interface of its own. It is instead invoked internally by Oracle Inventory forms, by transaction-processing and pick/ship flows, and by the 414 dependent packages recorded in the ETRM metadata, including receiving, move orders, and shipping execution logic. Custom code that must convert quantities should call INV_UM_CONVERT or INV_UM_CONVERSION rather than querying the conversion tables directly, so that class, item, lot, and deviation rules are applied consistently. The package depends on FND_API, FND_GLOBAL, FND_MESSAGE, FND_MSG_PUB, and FND_PROFILE for error handling, message retrieval, and session context, and on INV_CACHE, INV_LOG_UTIL, and INV_UI_ITEM_LOVS for caching, debugging, and list-of-values support. Because INV_CONVERT is referenced by no other documented object but references many, it functions strictly as a lower-layer utility within the Inventory stack.
-
PACKAGE BODY: APPS.INV_CONVERT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_CONVERT, status:VALID,
-
PACKAGE BODY: APPS.INV_CONVERT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_CONVERT, status:VALID,
-
PACKAGE BODY: APPS.CS_UPDATE_WARRANTY_DATES
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:CS_UPDATE_WARRANTY_DATES, status:VALID,
-
PACKAGE BODY: APPS.CS_UPDATE_WARRANTY_DATES
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:CS_UPDATE_WARRANTY_DATES, status:VALID,
-
PACKAGE BODY: APPS.INV_QTY_MANAGEMENT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_QTY_MANAGEMENT, status:VALID,
-
PACKAGE BODY: APPS.POA_SUPPERF_API_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:POA_SUPPERF_API_PKG, status:VALID,
-
PACKAGE BODY: APPS.CHV_INQ_SV
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:CHV_INQ_SV, status:VALID,
-
PACKAGE BODY: APPS.INV_QTY_MANAGEMENT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_QTY_MANAGEMENT, status:VALID,
-
PACKAGE BODY: APPS.CHV_INQ_SV2
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:CHV_INQ_SV2, status:VALID,
-
PACKAGE BODY: APPS.GMF_CBOM_REP_PKG
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:GMF_CBOM_REP_PKG, status:VALID,
-
PACKAGE BODY: APPS.CHV_CUM_PERIODS_S1
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:CHV_CUM_PERIODS_S1, status:VALID,
-
PACKAGE BODY: APPS.CHV_CUM_PERIODS_S1
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:CHV_CUM_PERIODS_S1, status:VALID,
-
PACKAGE BODY: APPS.GME_GMEBCHPL_XMLP_PKG
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:GME_GMEBCHPL_XMLP_PKG, status:VALID,
-
PACKAGE BODY: APPS.RCV_ACCRUAL_SV
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:RCV_ACCRUAL_SV, status:VALID,
-
PACKAGE BODY: APPS.PO_INV_INTEGRATION_GRP
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PO_INV_INTEGRATION_GRP, status:VALID,
-
PACKAGE BODY: APPS.WMS_CACHE
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:WMS_CACHE, status:VALID,
-
PACKAGE: APPS.INV_UI_ITEM_LOVS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:INV_UI_ITEM_LOVS, status:VALID,
-
TRIGGER: APPS.MTL_DEMAND_T
12.2.2
owner:APPS, object_type:TRIGGER, object_name:MTL_DEMAND_T, status:VALID,
-
PACKAGE BODY: APPS.RCV_ACCRUAL_SV
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:RCV_ACCRUAL_SV, status:VALID,
-
PACKAGE: APPS.INV_UI_ITEM_LOVS
12.1.1
owner:APPS, object_type:PACKAGE, object_name:INV_UI_ITEM_LOVS, status:VALID,
-
PACKAGE BODY: APPS.CHV_INQ_SV2
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:CHV_INQ_SV2, status:VALID,
-
PACKAGE BODY: APPS.PO_UOM_SV2
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PO_UOM_SV2, status:VALID,
-
PACKAGE BODY: APPS.CHV_INQ_SV
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:CHV_INQ_SV, status:VALID,
-
PACKAGE BODY: APPS.PO_UOM_SV2
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PO_UOM_SV2, status:VALID,
-
PACKAGE BODY: APPS.GMF_CBOM_REP_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:GMF_CBOM_REP_PKG, status:VALID,
-
PACKAGE BODY: APPS.CSD_RETURNS_BI_UTIL
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:CSD_RETURNS_BI_UTIL, status:VALID,
-
PACKAGE BODY: APPS.POS_QUANTITIES_S
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:POS_QUANTITIES_S, status:VALID,
-
PACKAGE BODY: APPS.INV_RCV_CACHE
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_RCV_CACHE, status:VALID,
-
PACKAGE BODY: APPS.JAI_CMN_RG_I_TRXS_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:JAI_CMN_RG_I_TRXS_PKG, status:VALID,
-
PACKAGE BODY: APPS.QA_MQA_PLAN_ELEMENTS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:QA_MQA_PLAN_ELEMENTS, status:VALID,
-
PACKAGE BODY: APPS.QA_MQA_PLAN_ELEMENTS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:QA_MQA_PLAN_ELEMENTS, status:VALID,
-
PACKAGE BODY: APPS.INV_RCV_CACHE
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_RCV_CACHE, status:VALID,
-
PACKAGE BODY: APPS.RCV_GML_CONV_MIG
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:RCV_GML_CONV_MIG, status:VALID,
-
PACKAGE BODY: APPS.GMD_LABUOM_CALCULATE_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:GMD_LABUOM_CALCULATE_PKG, status:VALID,
-
PACKAGE BODY: APPS.PO_UOM_S
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PO_UOM_S, status:VALID,
-
TRIGGER: APPS.MTL_DEMAND_T
12.1.1
owner:APPS, object_type:TRIGGER, object_name:MTL_DEMAND_T, status:VALID,
-
PACKAGE BODY: APPS.WIP_RESOURCE_DEFAULT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WIP_RESOURCE_DEFAULT, status:VALID,
-
PACKAGE BODY: APPS.POS_QUANTITIES_S
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:POS_QUANTITIES_S, status:VALID,
-
PACKAGE BODY: APPS.PO_INV_INTEGRATION_GRP
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PO_INV_INTEGRATION_GRP, status:VALID,
-
PACKAGE BODY: APPS.GME_GMEBCHPL_XMLP_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:GME_GMEBCHPL_XMLP_PKG, status:VALID,
-
PACKAGE BODY: APPS.OE_ORDER_MISC_UTIL
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:OE_ORDER_MISC_UTIL, status:VALID,
-
PACKAGE BODY: APPS.POA_SUPPERF_POPULATE_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:POA_SUPPERF_POPULATE_PKG, status:VALID,
-
PACKAGE BODY: APPS.PJM_COMMITMENT_UTILS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PJM_COMMITMENT_UTILS, status:VALID,
-
PACKAGE BODY: APPS.OPI_DBI_RPT_UTIL_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:OPI_DBI_RPT_UTIL_PKG, status:VALID,
-
PACKAGE BODY: APPS.GMD_COMMON_SCALE
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:GMD_COMMON_SCALE, status:VALID,
-
PACKAGE BODY: APPS.WMS_OVERPICK
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WMS_OVERPICK, status:VALID,
-
PACKAGE BODY: APPS.RCV_GML_CONV_MIG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:RCV_GML_CONV_MIG, status:VALID,
-
PACKAGE BODY: APPS.WMS_OVERPICK
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:WMS_OVERPICK, status:VALID,
-
PACKAGE BODY: APPS.WIP_UPDATE_SETUP_RESOURCES
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:WIP_UPDATE_SETUP_RESOURCES, status:VALID,
-
PACKAGE BODY: APPS.WIP_UPDATE_SETUP_RESOURCES
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WIP_UPDATE_SETUP_RESOURCES, status:VALID,