Search Results insert_mtli




Overview

INV_RCV_INTEGRATION_PVT is a private PL/SQL package owned by APPS that supports the integration of receiving transactions with the inventory transaction processing engine in Oracle E-Business Suite. It is declared with AUTHID CURRENT_USER, meaning that its SQL statements execute under the privileges of the calling schema rather than the package owner. Its principal business role is to resolve License Plate Number (LPN) and lot/serial information received against a receiving transaction and to convert that data into the interface and transaction rows required by the inventory transaction manager.

The package operates as an internal utility for the receiving-to-inventory handoff. It explodes LPN contents, validates serial and lot attributes, performs locator and LPN checks, and inserts rows into the temporary and interface tables that feed material transaction processing. It is classified as a private API, so it is not intended for direct customer invocation but is called by other packages in the receiving and inventory integration stack.

Key Procedures and Functions

Thirteen procedures and functions are documented for this package. They include:

  • EXPLODE_LPN — loops through the distinct LPN groups for a passed request and group identifier, calling the content-explosion logic for each group where the LPN group is not null.
  • EXPLODE_LPN_CONTENTS — explodes the contents of an LPN when item information is null, returning standard status and message outputs.
  • CALL_ATF_API — invokes the appropriate Application Transaction Framework (ATF) API, with parameters for source task, activity type, operation type, MOL, and API name, and returns status, message, and error code information.
  • VALIDATE_LPN_INFO — validates the LPN for each LPN group.
  • INSERT_WLPNI — inserts warehouse LPN information as part of the receiving integration flow.
  • SPLIT_LOT_SERIAL — splits lot and serial quantities across child records for the receiving transaction.
  • VALIDATE_LPN_LOCATOR — validates the association between an LPN and its locator.
  • PROCESS_TXN — drives the overall transaction processing sequence for the integration.
  • GET_PRIMARY_QTY — returns the primary quantity for the transaction being processed.
  • VALIDATE_LOT_SERIAL_INFO — validates lot and serial information prior to transaction creation.
  • INSERT_MTLI — inserts rows into the material transaction interface / temporary tables. This is the procedure most directly associated with the user search term insert_mtli, and it is the point at which receiving data is written into the structures consumed by the inventory transaction processor.
  • VALIDATE_RECEIVING_LPN — validates the receiving LPN before it is passed to inventory.
  • CHECK_OVER_RECEIPT — checks whether the receipt quantity exceeds the tolerance established for the shipment or order.

Tables Accessed

The package reads and writes through APPS synonyms. It references MTL_MATERIAL_TRANSACTIONS, MTL_MATERIAL_TRANSACTIONS_S, and MTL_MATERIAL_TRANSACTIONS_TEMP for transaction creation and staging; MTL_TRANSACTION_LOTS_INTERFACE and MTL_TRANSACTION_LOTS_TEMP for lot-level interface rows, which are central to INSERT_MTLI; and MTL_SERIAL_NUMBERS_INTERFACE and MTL_SERIAL_NUMBERS_TEMP for serial interface processing. Validation and lookup access includes MTL_SYSTEM_ITEMS and MTL_SYSTEM_ITEMS_KFV, MTL_LOT_NUMBERS, MTL_SERIAL_NUMBERS, MTL_ONHAND_QUANTITIES_DETAIL, MTL_PARAMETERS, MTL_INTERORG_PARAMETERS, and MO_GLOB_ORG_ACCESS_TMP for organization access control.

Usage Notes

This package is invoked from other receiving and inventory integration packages rather than directly from forms or concurrent programs; it is referenced by six other packages. Its procedures are not intended as public extensions, and the AUTHID CURRENT_USER declaration means callers must have the required privileges on the underlying MTL tables. INSERT_MTLI and the associated validation routines are the internal steps that prepare interface rows for the inventory transaction manager, so custom code should not call them directly; instead, customers should use the supported Receiving and Inventory public APIs.