Search Results finalize_pick_confirm
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.
-
PACKAGE BODY: APPS.INV_TRANSFER_ORDER_PVT
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT SQL Statements
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT SQL Statements
12.2.2
-
PACKAGE BODY: APPS.INV_TRANSFER_ORDER_PVT
12.1.1
-
PACKAGE: APPS.INV_TRANSFER_ORDER_PVT
12.1.1
-
PACKAGE: APPS.INV_TRANSFER_ORDER_PVT
12.2.2
-
PACKAGE: APPS.INV_MO_CANCEL_PVT
12.1.1
-
PACKAGE: APPS.INV_MO_CANCEL_PVT
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on WSH_INTERFACE
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on WIP_PICKING_PUB
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on WIP_PICKING_PUB
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on WSH_INTERFACE
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_API
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_STAGED_RESERVATION_UTIL
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_MESSAGE
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on DBMS_UTILITY
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_STAGED_RESERVATION_UTIL
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_API
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_MESSAGE
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on DBMS_UTILITY
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_RESERVATION_PUB
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_RESERVATION_PUB
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on MTL_TRANSACTION_LOTS_TEMP
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on MTL_TRANSACTION_LOTS_TEMP
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_CACHE
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_TROLIN_UTIL
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_TROLIN_UTIL
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_QUANTITY_TREE_PVT
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_CONTROL
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on MTL_RESERVATIONS
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_RELEASE
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_RELEASE
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on MTL_RESERVATIONS
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_CONTROL
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on WSH_CONTAINER_GRP
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_API
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on WSH_CONTAINER_GRP
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_API
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_RESERVATION_GLOBAL
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on INV_RESERVATION_GLOBAL
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on SERIAL_CHECK
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on MTL_SYSTEM_ITEMS
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on SERIAL_CHECK
12.1.1
-
APPS.WMS_ITEM_LOAD dependencies on MTL_MATERIAL_TRANSACTIONS_TEMP
12.2.2
-
APPS.WMS_ITEM_LOAD dependencies on MTL_MATERIAL_TRANSACTIONS_TEMP
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on MTL_SERIAL_NUMBERS
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on MTL_SERIAL_NUMBERS
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_PROFILE
12.1.1
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_PROFILE
12.2.2
-
APPS.INV_TRANSFER_ORDER_PVT dependencies on FND_MSG_PUB
12.1.1