Search Results validate_lpn_status_quantity
Overview
APPS.INV_TXN_VALIDATIONS is an Oracle E-Business Suite inventory validation package that centralizes the business rules governing material transactions in Oracle Inventory. Declared with AUTHID CURRENT_USER, the package exposes a collection of validation and quantity-derivation routines that forms, mobile handheld applications, and other Oracle Inventory packages call before committing a transaction to the MTL_MATERIAL_TRANSACTIONS interface tables. Its responsibilities span item validation, serial and lot control verification, locator and subinventory restriction checking, License Plate Number (LPN) status and quantity validation, loose and packed quantity reconciliation, and computation of the quantity available to transact for a given item, organization, and context.
The package originated in the Inventory module's material transaction validation layer and its header revision history (INVMWAVS.pls 120.5.12020000.2) shows sustained maintenance through the 12.1.1 and 12.2.2 releases, including a delivered 2013 patch. It is a private implementation package: it is referenced by seven other packages in the ETRM inventory and warehouse management domain rather than being an end-user-facing API.
Key Procedures and Functions
The package documents 34 procedures and functions. The central ones are summarized below; parameter lists are omitted intentionally because they are defined by the package specification.
- VALIDATE_ITEM — Validates an inventory item within a given organization and returns the item's control attributes (revision quantity control, lot control, serial number control, locator restrict, location control, and subinventory restrict codes) along with a status and message. It is the entry validation point for almost every transaction workflow.
- VALIDATE_SERIAL — Validates a serial number against an item and organization and returns the serial's current locator, subinventory, revision, lot number, and expiration date.
- GET_AVAILABLE_QUANTITY — The routine matched by the user's search. It computes the quantity available for a transaction, taking tree mode, organization, inventory item, and related demand context into account. Earlier comments note it does not use cost group identifiers and that demand source header and line variables were added under Bug 5125915.
- CHECK_LOOSE_QUANTITY, CHECK_LPN_QUANTITY, CHECK_LOOSE_AND_PACKED_QTY — Reconcile loose and packed quantities for items held in LPNs, ensuring the transaction quantity is consistent with the LPN contents.
- CHECK_WMS_INSTALL — Determines whether Warehouse Management System functionality is installed, so callers can branch between base inventory and WMS behavior.
- VALIDATE_LPN_STATUS_QUANTITY / VALIDATE_LPN_STATUS_QUANTITY2 — Validate the status and quantity of an LPN before it is transacted against.
- ORGXFER_LPN_CHECK — Provides organization transfer–specific LPN checks.
- GET_IMMEDIATE_LPN_ITEM_QTY / GET_UNPACKSPLIT_LPN_ITEM_QTY — Return item quantities at the immediate LPN level and after unpacking or splitting an LPN.
- CHECK_SERIAL_UNPACKSPLIT — Validates that serial numbers are handled correctly when unpacking or splitting LPNs.
- GET_RETURN_LOT_QUANTITIES / GET_RETURN_TOTAL_QTY — Derive per-lot and total quantities for return transactions.
- PROCESS_SERIAL_SUBXFR — Processes serial numbers during subinventory transfer.
- CHECK_LPN_ALLOCATION / CHECK_LPN_SERIAL_ALLOCATION / CHECK_LPN_PENDING_TXNS — Verify allocation state, serial allocation state, and the absence of pending LPN transactions.
- GET_AVBL_TO_TRANSACT_QTY — Computes the quantity that is actually free to be transacted, after reservations and on-hand commitments are applied.
Tables Accessed
The package queries and updates core Inventory tables through APPS synonyms. MTL_SYSTEM_ITEMS and MTL_SYSTEM_ITEMS_KFV supply item control attributes and concatenated segment display. MTL_ONHAND_QUANTITIES_DETAIL and MTL_RESERVATIONS drive available and available-to-transact quantity calculations. MTL_ITEM_LOCATIONS, MTL_SECONDARY_INVENTORIES, and MTL_SECONDARY_LOCATORS provide locator and subinventory validation context. MTL_PARAMETERS determines organization-level defaults. Serial validation relies on MTL_SERIAL_NUMBERS and MTL_SERIAL_NUMBERS_TEMP. Lot logic uses MTL_LOT_NUMBERS and MTL_TRANSACTION_LOTS_TEMP. Transaction processing interacts with MTL_MATERIAL_TRANSACTIONS_TEMP and MTL_MATERIAL_TRANSACTIONS_S, while MTL_TRANSACTION_TYPES classifies the transaction being validated.
Usage Notes
INV_TXN_VALIDATIONS is normally invoked indirectly. It is called by seven other Oracle packages in the inventory and warehouse management stack, most notably the material transaction and mobile receiving APIs, and it is reached from Oracle Forms transaction windows and from Oracle Mobile Supply Chain Applications (MSCA) screens. Custom PL/SQL should treat it as an internal validation package rather than a published public API: callers should depend on the documented specification signatures only, and should not rely on side effects of individual routines. Because the package is compiled AUTHID CURRENT_USER and works against temporary and interface tables, custom code calling GET_AVAILABLE_QUANTITY or GET_AVBL_TO_TRANSACT_QTY should supply the correct organization and item context and should check the returned status and message before proceeding. Any upgrade between 12.1.1 and 12.2.2 should revalidate custom calls against the shipped specification, since revision history shows the availability-to-transact logic has been patched across releases.