Results for “inv_transfer_order_pvt”
50+ results
AI-generated from documented ETRM metadata — verify critical details on the linked pages.
Overview
INV_TRANSFER_ORDER_PVT is a private (PVT) PL/SQL package body owned by APPS that encapsulates the core business logic for Oracle EBS transfer order and move order processing. In Oracle Inventory, transfer orders are represented as move orders stored in MTL_TXN_REQUEST_HEADERS and MTL_TXN_REQUEST_LINES, which drive the picking, staging, and shipment of material between subinventories or between organizations. This package provides the internal engine behind the public INV_Transfer_Order_GRP and related APIs, handling order creation, validation, reservation management, picking confirmation, and order termination.
The header comment identifies the source as INVVTROB.pls (version 120.54, last modified 2013), placing this object in the mainstream of Oracle E-Business Suite 12.1.1 and 12.2.2 code. The package is referenced by 20 other packages, indicating that it is a foundational component relied upon by Inventory, Order Management, and Warehouse Management flows. It is classified as private, meaning Oracle does not document its interfaces for direct customer invocation; customizations should normally call the public, supported APIs instead.
Key Procedures and Functions
The package exposes 18 documented procedures and functions that fall into four functional groups:
- Order creation and numbering: GET_NEXT_HEADER_ID supplies primary keys from the MTL_TXN_REQUEST_HEADERS_S sequence; INCREMENT_MAX_LINE_NUMBER and RESET_MAX_LINE_NUMBER manage line numbering within a header; UNIQUE_ORDER and UNIQUE_LINE validate that order and line identifiers remain unique.
- Order lifecycle processing: PROCESS_TRANSFER_ORDER performs the main create/update logic for transfer orders; GET_TRANSFER_ORDER retrieves header and line attributes; LOCK_TRANSFER_ORDER serializes concurrent access to a move order; KILL_MOVE_ORDER terminates or cancels a move order; UPDATE_TXN_SOURCE_LINE maintains the source document linkage on the transaction request line.
- Validation: VALIDATE_FROM_SUBINVENTORY and VALIDATE_TO_SUBINVENTORY verify the source and destination subinventories against MTL_SECONDARY_INVENTORIES and item/organization rules.
- Picking and reservations: FINALIZE_PICK_CONFIRM, which the user searched for, completes the pick confirmation step for a move order, updating picked quantities back to the move order line and closing it when appropriate. Supporting routines CLEAR_PICKED_QUANTITY, CLEAN_RESERVATIONS, UPDATE_LOTS_TEMP, UPDATE_SERIAL_TEMP, and ADJUST_SERIAL_NUMBERS_IN_MSNT reconcile lot and serial temporary tables and adjust the MTL_SERIAL_NUMBERS and MTL_SERIAL_NUMBERS_TEMP records after picking. FINALIZE_PICK_CONFIRM additionally relies on package-level record and collection types (mo_picked_quantity_rec, rsv_picked_quantity_rec, and their table types) that cache picked quantities for the overpicking logic introduced by Bug 1620576, and on a move order transaction temporary cache (g_mmtt_cache_tbl) used to close move order lines.
Tables Accessed
The package reads and writes several Inventory base tables through APPS synonyms. Move order definition data resides in MTL_TXN_REQUEST_HEADERS and MTL_TXN_REQUEST_HEADERS_S, with line detail in MTL_TXN_REQUEST_LINES. Subinventory validation uses MTL_SECONDARY_INVENTORIES, while item validation draws on MTL_SYSTEM_ITEMS and MTL_SYSTEM_ITEMS_B. Reservation processing touches MTL_RESERVATIONS, and material movement is staged in MTL_MATERIAL_TRANSACTIONS_TEMP. Lot and serial handling uses MTL_LOT_NUMBERS, MTL_TRANSACTION_LOTS_TEMP, MTL_SERIAL_NUMBERS, and MTL_SERIAL_NUMBERS_TEMP. Organization setup is read from MTL_PARAMETERS, and WIP_ENTITIES and FND_TABLES provide supporting lookups.
Usage Notes
Because INV_TRANSFER_ORDER_PVT is a PVT package, it is not intended for direct invocation by customers. It is called internally by the Inventory transaction manager, by the Transfer Order and Move Order forms, by pick confirmation processing, and by the WMS and shipping integration routines. Custom code that must create, confirm, or cancel move orders should call the supported public APIs (for example the INV_Transfer_Order_GRP public package or the Transfer Order open interface). The performance-oriented caching structures and the g_mmtt_cache_tbl were introduced specifically to reduce the overhead of pick release and finalize-pick processing, and any extension that bypasses these routines risks leaving reservations, lots, or serial numbers in an inconsistent state.