Search Results inv_serial_number_pub




Overview

INV_SERIAL_NUMBER_PUB is the public Oracle Inventory API package responsible for creating, validating, updating, and managing serial numbers associated with inventory items and transactions. In Oracle EBS 12.1.1 and 12.2.2, serial-number control is a foundational supply-chain capability: items flagged as serial-controlled must have a unique serial number captured at receipt, movement, issue, and shipment. This package encapsulates the business logic that enforces uniqueness, validates serial attributes, generates serial number ranges, and writes the resulting records to the serial number and unit transaction tables.

The package is classified as a PUB (public) API and resides in the APPS schema. It is a heavily leveraged component of the Oracle Inventory ecosystem — the ETRM metadata indicates that 33 other packages reference it, and it in turn depends on numerous FND utilities (FND_API, FND_MSG_PUB, FND_FLEX_DESCVAL, FND_PROFILE) plus Inventory packages such as INV_CACHE, INV_MATERIAL_STATUS_PUB, INV_VALIDATE, and INV_TRX_UTIL_PUB. This dependency profile confirms that the package is designed to be called from within the Inventory transaction processing stack rather than executed directly by end users.

Key Procedures and Functions

The documented interface exposes 27 procedures and functions. Core data-manipulation routines include INSERTSERIAL, which creates a new serial number record, and INSERT_RANGE_SERIAL, which inserts a contiguous range of serial numbers in a single call. UPDATESERIAL and VALIDATE_UPDATE_SERIAL_ATT handle modification of existing serial records and validation of attribute updates. INSERTUNITTRX and INSERTRANGEUNITTRX create the corresponding unit transaction rows that associate serial numbers with specific inventory transactions.

Validation and inquiry routines include IS_SERIAL_UNIQUE, which confirms that a proposed serial number does not already exist for the item; IS_SERIAL_CONTROLLED and IS_SERIAL_TAGGED, which test item configuration; VALIDATE_SERIALS and VALSN, which perform bulk validation; and VALIDATE_STATUS, which verifies material status compatibility. Serial generation is supported by GENERATE_SERIALS and INCREMENT_SER_NUM, while SNGETMASK returns the serial-numbering mask defined for the item. Supporting routines include POPULATEATTRIBUTESCOLUMN, SET_FIRSTSCAN, GET_SERIAL_DIFF, UPDATE_MSN, and GETGROUPID, which assist with attribute population, scan handling, and serial grouping logic.

Tables Accessed

The package reads and writes MTL_SERIAL_NUMBERS, the master table of serialized units, and MTL_SERIAL_NUMBERS_TEMP, used for staging during bulk operations. MTL_UNIT_TRANSACTIONS stores the transactional history linking serials to inventory movements. MTL_SYSTEM_ITEMS and MTL_PARAMETERS supply item-level and organization-level serial control settings. MTL_LOT_NUMBERS and MTL_SERIAL_TAGGING_ASSIGNMENTS support lot association and serial tagging. MTL_FLEX_CONTEXT, MTL_MATERIAL_STATUSES, MTL_GEN_OBJECT_ID_S, and DUAL round out the documented table dependencies.

Usage Notes

INV_SERIAL_NUMBER_PUB is typically invoked indirectly — from Receiving, Inventory transaction forms, Mobile Supply Chain Applications, and concurrent programs that process serialized transactions. Custom code should call the public procedures rather than writing directly to the underlying MTL tables, since the package enforces uniqueness, material status validation, and message-stack discipline through FND_MSG_PUB. Because it depends on INV_GLOBALS, FND_GLOBAL, and FND_PROFILE, callers must ensure that the correct organization context and user session are initialized before invocation. The package is validated and active in both 12.1.1 and 12.2.2.