Search Results check_lpn_allocation
Overview
INV_TXN_VALIDATIONS is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite 12.1.1 and 12.2.2. It provides a centralized library of validation routines used by Oracle Inventory's transaction-processing and mobile/wireless (WMS/MSCA) flows. The package enforces the business rules that govern item, lot, serial, locator, subinventory, license plate number (LPN), and reservation constraints before a transaction is permitted to move into the material transaction tables. Its header comment ($Header: INVMWAVB.pls) confirms its origin in the Inventory mobile wave processing layer, and its procedures are designed for reuse across multiple consuming packages and calling programs.
The package also includes a private mdebug utility driven by the INV_DEBUG_TRACE profile option. When that profile is set to 1, trace messages are written to the INV_MOBILE_HELPER_FUNCTIONS trace log at level 4, allowing support personnel to diagnose validation failures during transaction entry.
Key Procedures and Functions
The documented interface exposes 34 procedures and functions. Representative examples include:
- VALIDATE_ITEM — Resolves an item from a concatenated segment string within an organization and returns its descriptive and control attributes (lot, serial, revision, locator, subinventory controls). Only items enabled for transactions are returned.
- VALIDATE_SERIAL — Confirms that a serial number is valid and available for the transaction context.
- GET_AVAILABLE_QUANTITY / GET_AVBL_TO_TRANSACT_QTY — Return the quantity available to transact, factoring on-hand, reservations, and packing state.
- CHECK_LOOSE_QUANTITY / CHECK_LOOSE_AND_PACKED_QTY — Verify loose versus packed (LPN-contained) quantity balances.
- CHECK_WMS_INSTALL — Determines whether Warehouse Management System functionality is installed before invoking LPN-related logic.
- VALIDATE_LPN_STATUS_QUANTITY / VALIDATE_LPN_STATUS_QUANTITY2 / CHECK_LPN_QUANTITY / ORGXFER_LPN_CHECK — Validate license plate status and quantities, including organization transfer scenarios.
- GET_IMMEDIATE_LPN_ITEM_QTY / GET_UNPACKSPLIT_LPN_ITEM_QTY — Retrieve item quantities held at the immediate LPN level or available for unpack/split operations.
- CHECK_LPN_ALLOCATION — The routine matching the user's search term. It validates whether the LPN referenced by an allocation, reservation, or pending transaction is eligible for the requested movement, guarding against allocation of LPNs that are already committed, in transit, or otherwise unavailable.
- CHECK_LPN_SERIAL_ALLOCATION — Extends the LPN allocation check to serial-controlled content.
- CHECK_SERIAL_UNPACKSPLIT / PROCESS_SERIAL_SUBXFR — Govern serial number handling during unpack, split, and subinventory transfer operations.
- GET_RETURN_LOT_QUANTITIES / GET_RETURN_TOTAL_QTY — Compute quantities for return processing across lots.
- CHECK_LPN_PENDING_TXNS — Detect pending transactions against an LPN that would block a new operation.
Tables Accessed
The package reads and, where applicable, writes to core Inventory tables through APPS synonyms:
- MTL_SYSTEM_ITEMS / MTL_SYSTEM_ITEMS_KFV — Item definition and key flexfield view used by VALIDATE_ITEM.
- MTL_ONHAND_QUANTITIES_DETAIL — On-hand balances by item, subinventory, locator, lot, and LPN.
- MTL_RESERVATIONS — Existing reservations that constrain availability.
- MTL_MATERIAL_TRANSACTIONS_TEMP / _S — Pending and processed transactions used to detect pending activity.
- MTL_SERIAL_NUMBERS / MTL_SERIAL_NUMBERS_TEMP — Serial validation and serial subtransfer processing.
- MTL_LOT_NUMBERS / MTL_TRANSACTION_LOTS_TEMP — Lot control and lot-level transaction data.
- MTL_ITEM_LOCATIONS — Locator validity and LPN-hosting locators.
- MTL_SECONDARY_INVENTORIES / MTL_SECONDARY_LOCATORS — Subinventory and locator restrictions.
- MTL_PARAMETERS / MTL_TRANSACTION_TYPES — Organization parameters and transaction type definitions.
Usage Notes
INV_TXN_VALIDATIONS is referenced by seven other packages and is invoked from Oracle Inventory forms, mobile/wireless (MSCA) transaction pages, and concurrent or custom programs that must pre-validate a transaction before writing to the interface tables. The procedures do not commit; they return status and message out-parameters that callers use to decide whether to proceed, prompt the user, or raise an error. Customizations should call the documented procedures rather than duplicating validation logic, since the rules for LPN allocation, serial content, and pending transactions evolve with WMS and packing functionality. Debugging is enabled through the INV_DEBUG_TRACE profile option.