Search Results inv_trx_util_pub




Overview

INV_TRX_UTIL_PUB is a public PL/SQL utility package in the APPS schema that provides low-level programmatic support for creating, maintaining, and removing inventory transaction records within Oracle E-Business Suite. It is classified as a PUB API, indicating that its procedures form a supported interface intended for invocation by other Oracle applications, extensions, and customizations rather than being restricted to internal use. The package body carries a VALID status in both the 12.1.1 and 12.2.2 releases and depends on a broad set of Oracle foundation and inventory services, including FND_API, FND_GLOBAL, FND_MESSAGE, FND_MSG_PUB, FND_PROFILE, FND_TRANSACTION, INV_CONVERT, INV_GLOBALS, INV_CONTROL, INV_LOG_UTIL, INV_MATERIAL_STATUS_GRP, INV_PARENT_MMTT_PVT, and INV_RELEASE. Its central role is to centralize the mechanics of material transaction manipulation — inserting line, lot, and serial detail rows, propagating changes to parent transaction records, and coordinating receipt processing — so that higher-level transaction APIs and concurrent processes do not duplicate that logic. According to the ETRM metadata, the package is referenced by 88 other database objects, confirming it as a widely reused building block within the inventory and receiving code paths.

Key Procedures and Functions

The documented interface exposes nine procedures and functions. Their names indicate the following responsibilities:

  • INSERT_LINE_TRX — creates the base material transaction line record for an inventory movement.
  • INSERT_LOT_TRX — inserts lot-level detail associated with a transaction, populating the lot transaction staging structures.
  • INSERT_SER_TRX — inserts serial-number detail for serialized items, working against the serial number and serial number temporary tables.
  • COPY_INSERT_LINE_TRX — performs an insertion of line transaction data by copying from an existing source, supporting duplication and correction scenarios.
  • DELETE_TRANSACTION — removes an inventory transaction and its associated detail.
  • UPDATE_PARENT_MMTT — maintains the parent row in the material transaction temporary structure, keeping parent and child transaction records consistent.
  • DELETE_LOT_SER_TRX — deletes lot and serial detail records, typically as part of a transaction removal or rollback.
  • CALL_RCV_MANAGER — invokes the receiving manager to process receipt-related interface data, linking inventory transaction handling to the purchasing receipt flow.
  • TRACE — provides diagnostic logging, consistent with the package's use of INV_LOG_UTIL and FND_MESSAGE for error reporting.

Tables Accessed

The package reads and writes the principal inventory transaction tables through APPS synonyms: MTL_MATERIAL_TRANSACTIONS and its _S and _TEMP counterparts, which hold the transaction header and line records and their staging rows during processing; MTL_LOT_NUMBERS, MTL_TRANSACTION_LOTS_TEMP, MTL_SERIAL_NUMBERS, and MTL_SERIAL_NUMBERS_TEMP for lot and serial control; and MTL_SYSTEM_ITEMS for item validation and attribute retrieval. Receiving integration is supported through RCV_TRANSACTIONS_INTERFACE and RCV_INTERFACE_GROUPS_S, while WMS_DISPATCHED_TASKS is referenced in warehouse management execution contexts. DUAL and PLITBLM are used for trivial and bulk PL/SQL operations respectively.

Usage Notes

INV_TRX_UTIL_PUB is normally invoked indirectly. Inventory transaction forms, the transaction manager concurrent programs, receiving flows, and other public inventory APIs call these procedures to persist and clean up transaction detail rather than writing to the underlying tables directly. Custom code should call the documented procedures only, respecting the standard FND_API error-handling and message-stack conventions, and should treat the package as a dependent utility rather than an entry point for standalone processing. Because the package is referenced by 88 other objects and is not itself referenced upward as a dependency of external code, modifications to it carry broad regression risk across the inventory and receiving modules.