Search Results generate_serial_numbers




Overview

APPS.INV_LOGICAL_TRANSACTIONS_PVT is a private (PVT) PL/SQL package in Oracle E-Business Suite that supports the creation and validation of logical inventory transactions. Unlike physical material movements, logical transactions are intermediate records generated internally by Oracle Inventory to represent an intent to transact — for example, the assembly or decomposition of a logical transaction grouping that is later committed as actual material movement. The package operates with AUTHID CURRENT_USER and was originally shipped under the header INVLTPVS.pls, indicating it belongs to the Inventory (INV) module's private API layer rather than the public, supported interface set.

Its primary business role is to validate input parameters, bulk-insert transaction rows into inventory transaction tables, and generate or update the serial numbers required to complete a transaction. It is a supporting component called by the higher-level Inventory "create logical transactions" API.

Key Procedures and Functions

ETRM documents six procedures in this package:

  • VALIDATE_INPUT_PARAMETERS — Validates incoming parameters before the inventory transaction rows are populated. It sets the standard API return status, message count, and message data outputs.
  • INV_MMT_INSERT — Performs a bulk insert into the MTL_MATERIAL_TRANSACTIONS table on behalf of the Inventory create-logical-transactions API. It accepts an array of material transaction records.
  • INV_LOT_SERIAL_INSERT — Inserts lot and serial number association rows for the transactions being processed.
  • GENERATE_SERIAL_NUMBERS — Generates serial number records for items under serial number control, supporting the automatic creation of serial numbers during a logical transaction. This is the procedure most commonly referenced by users searching for serial number generation behaviour.
  • INV_MUT_INSERT — Inserts corresponding rows into the unit transaction (MTL_UNIT_TRANSACTIONS) table that track the serialized units involved in the movement.
  • UPDATE_SERIAL_NUMBERS — Updates the serial number records, typically adjusting status, location, or transaction assignment after the logical transaction is applied.

No parameter lists are reproduced here; parameter signatures should be confirmed against the installed package specification for the exact release.

Tables Accessed

The package reads and writes a broad set of Inventory master and transaction tables through APPS synonyms. Core transaction destinations include MTL_MATERIAL_TRANSACTIONS and its shadow table MTL_MATERIAL_TRANSACTIONS_S, MTL_UNIT_TRANSACTIONS, MTL_TRANSACTION_LOT_NUMBERS, and MTL_SERIAL_NUMBERS, which hold the generated and updated serial data. Supporting master data is read from MTL_SYSTEM_ITEMS, MTL_PARAMETERS, MTL_TRANSACTION_TYPES, MTL_SECONDARY_INVENTORIES, MTL_SECONDARY_LOCATORS, MTL_ITEM_LOCATIONS, and GL_CODE_COMBINATIONS. Costing context is drawn from CST_COST_GROUPS. Sales and drop-ship context is captured through MTL_SALES_ORDERS and OE_DROP_SHIP_SOURCES, reflecting the use of logical transactions in order-driven flows.

Usage Notes

Because this is a PVT package, it is not a supported public API and should not be invoked directly from custom code where a public interface exists. It is normally called internally by the Inventory logical transaction creation process, which may be triggered from Inventory transaction forms, mobile/enterprise processing, or concurrent programs that process staged logical transactions. Oracle's convention is that private packages may change without notice between releases, so any custom invocation should be validated in both 12.1.1 and 12.2.2. Developers investigating GENERATE_SERIAL_NUMBERS should treat it as the internal mechanism that populates MTL_SERIAL_NUMBERS during logical transaction creation rather than as a standalone callable serial generation API.