Search Results inv_replenish_detail_pub




Overview

INV_REPLENISH_DETAIL_PUB is a public PL/SQL package in the APPS schema that governs line-level detail processing for Oracle Inventory replenishment and pick transactions in Oracle E-Business Suite 12.1.1 and 12.2.2. It belongs to the Inventory Management application family and is classified as a public API (API classification: PUB), meaning its procedures are intended for invocation by other Oracle modules, forms, and external integration code. The package occupies a central position in the move-order and replenishment flow: it holds the transient detail rows that describe what material is being picked, transferred, or replenished, validates that activity against item, lot, serial, and subinventory attributes, and finalizes those rows into the base inventory transaction tables.

Its dependency footprint confirms this role. The package relies on FND_API, the standard Oracle Application Object Library error-handling and message-stack facility, which indicates that its procedures follow the conventional public API contract of returning a success or error status rather than raising uncontrolled exceptions. It is referenced by ten other packages, including INV_KANBAN_PVT, INV_TRANSFER_ORDER_PVT, INV_UTILITIES, INV_PICK_SLIP_REPORT, CSP_PICK_UTILS, WMS_TASK_LOAD, and WMS_TXNRSN_ACTIONS_PUB, demonstrating that replenishment detail handling is shared across kanban, transfer order, picking, and warehouse management execution paths.

Key Procedures and Functions

The ETRM documentation records nineteen procedures and functions. The principal line-management routines include LINE_DETAILS_PUB, which maintains the detail records that constitute a replenishment or move-order line; SPLIT_LINE_DETAILS, which allocates a single detail row across multiple parent lines or quantities; and DELETE_DETAILS and CLEAR_RECORD, which remove or reset detail data during correction and cancellation. CLEAR_BLOCK_CANCEL supports the user-interface cancellation path by clearing the active form block without committing.

Quantity and validation logic is handled by RESERVE_UNCONFIRM_QTY, which reserves material against unconfirmed demand, and GET_OVERPICK_QTY, CHECK_OVERPICK, GET_OVERPICK_QTY_LOT, and CHECK_OVERPICK_LOT, which compute permissible over-pick quantities and verify them for lot-controlled and non-lot-controlled items respectively. CHECK_SHIPPING_TOLERANCES validates that shipped quantities fall within the tolerances defined for the order. AUTO_PICK_CONFIRM confirms pick activity automatically, typically where no operator intervention is required. ASSIGN_EXPENDITURE_ORG associates an expenditure organization with the transaction, and CHANGED_FROM_SUBINVENTORY handles the transition of detail rows when material originates from a different subinventory than the default.

Tables Accessed

The package reads and writes the core inventory transaction interface and base tables. It uses MTL_MATERIAL_TRANSACTIONS_TEMP and its sequencing synonym MTL_MATERIAL_TRANSACTIONS_S to stage detail rows prior to processing, with MTL_UNIT_TRANSACTIONS recording completed inventory movements. MTL_TRANSACTION_TYPES and MTL_PARAMETERS supply transaction-type and organizational control defaults. Item and location validation draws on MTL_SYSTEM_ITEMS, MTL_SECONDARY_INVENTORIES, MTL_SERIAL_NUMBERS, MTL_SERIAL_NUMBERS_TEMP, and MTL_TRANSACTION_LOTS_TEMP for lot and serial control.

Move-order and replenishment specifics are held in MTL_TXN_REQUEST_HEADERS and MTL_TXN_REQUEST_LINES, while WMS_USER_TASK_TYPE_ATTRIBUTES and WSH_DELIVERY_DETAILS link replenishment details to warehouse tasks and shipping. OE_ORDER_LINES_ALL provides sales order context for demand-driven replenishment.

Usage Notes

INV_REPLENISH_DETAIL_PUB is not intended for direct end-user execution; it is invoked programmatically. The Inventory transaction entry forms and move-order windows call it during line entry, pick confirmation, and cancellation. Concurrent programs such as the pick slip report and auto-pick confirm processes call it in batch, and the Warehouse Management modules (WMS_TASK_LOAD, WMS_TXNRSN_ACTIONS_PUB) invoke it as part of task execution and transaction resolution.

Custom integrations incorporating replenishment or move-order detail logic should call the public procedures rather than manipulate the underlying temporary and interface tables directly, since the package centralizes over-pick validation, tolerance checking, and serial and lot control that would otherwise have to be reimplemented. Invocation should occur within the standard FND_API error-handling pattern, and callers should honor the organization and transaction-type context established in MTL_PARAMETERS.