Search Results inv_material_status_grp




Overview

INV_MATERIAL_STATUS_GRP is a core Oracle Inventory package in Oracle E-Business Suite 12.1.1 and 12.2.2. It encapsulates the business logic that governs Material Status assignment, validation, and transaction-level enforcement across Inventory, Lot, Serial, Subinventory, Locator, and License Plate Number (LPN) contexts. Material Statuses define whether material is available, restricted, or otherwise controlled (for example, quarantine, reject, or obsolete), and this package determines whether a given transaction is permitted to move, consume, or modify material based on the status configuration maintained in MTL_STATUS_TRANSACTION_CONTROL.

The header comment ("$Header: INVMSGRB.pls 120.34.12010000.2") and the number of dependent packages confirm it is a long-standing, widely referenced component. Because 59 other packages reference it, INV_MATERIAL_STATUS_GRP effectively acts as the central arbitration layer for material status rules rather than a user-facing utility. Internally, the package uses numerous global variables to cache status identifiers, transaction-type information, and item-level attributes (lot/serial status enablement, defaults, and the freeze flag from CSI_INSTALL_PARAMETERS), which reduces repetitive queries during high-volume transaction processing such as WMS-driven LPN moves and interface-based onhand operations.

Key Procedures and Functions

The documented API consists of 20 procedures and functions, providing a consistent interface for status validation.

Tables Accessed

The package reads and writes the principal Inventory status and location tables. MTL_MATERIAL_STATUSES supplies status definitions, while MTL_STATUS_TRANSACTION_CONTROL holds the matrix determining which transaction types are allowed per status. MTL_ONHAND_QUANTITIES_DETAIL is queried to determine the current onhand status. MTL_ITEM_LOCATIONS, MTL_SECONDARY_INVENTORIES, MTL_SECONDARY_LOCATORS, MTL_PARAMETERS, and MTL_ITEM_SUB_INVENTORIES support validity and control checks. Lot and serial validation uses MTL_LOT_NUMBERS, MTL_SERIAL_NUMBERS, and MTL_SERIAL_NUMBERS_TEMP. Transaction-related reads and updates touch MTL_MATERIAL_TRANSACTIONS and MTL_MATERIAL_TRANSACTIONS_TEMP, and MTL_MATERIAL_STATUS_HISTORY records status change audit information. CSI_INSTALL_PARAMETERS is used to cache the freeze flag, reflecting integration with installed base and Service functionality.

Usage Notes

INV_MATERIAL_STATUS_GRP is invoked primarily by standard Inventory forms and concurrent processes (for example, material transaction entry, move orders, and onhand maintenance) as well as by WMS and Warehouse Management LPN operations. Its APIs are also called extensively from custom code and other Oracle packages that require authoritative status validation before performing an inventory transaction. Callers should always invoke the public functions rather than querying the underlying tables directly, because the package centralizes the commingling and transaction-control rules that must remain consistent across all entry points. The global variables are session-scoped and may be reused across calls within a session, so custom code initiating unrelated transactions should ensure that cached item and status values are refreshed by calling the appropriate initializer functions.