Results for “inv_material_status_grp”
50+ results
AI-generated from documented ETRM metadata — verify critical details on the linked pages.
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.
- IS_TRX_ALLOWED and IS_TRX_ALLOW_LPNS — Determine whether a given material transaction is permitted for the applicable status, with the LPN variant applying the same logic in the WMS/LPN context.
- IS_TRX_ALLOWED_WRAP — A wrapper entry point that forwards the transaction-allowed check to the appropriate implementation.
- IS_STATUS_APPLICABLE and IS_STATUS_APPLICABLE_LPNS — Assess whether status control is applicable for a given organization, item, subinventory, locator, lot, or serial, again with an LPN-specific variation.
- GET_LOT_SERIAL_STATUS_CONTROL — Retrieves the status control configuration for lot and serial tracking as defined at the item level.
- GET_DEFAULT_STATUS and GET_DEFAULT_STATUS_CONC — Return the default material status for an item/organization combination; the concurrent variant is tailored for batch processing.
- LOC_VALID_FOR_ITEM, SUB_VALID_FOR_ITEM, and SUB_LOC_VALID_FOR_ITEM — Validate that a locator, subinventory, or the combination thereof is valid for the specified item.
- GET_LOCATOR_CONTROL — Determines whether the organization enforces locator-level control.
- GET_ACTION_ID — Resolves the transaction action identifier used elsewhere in status validation.
- GET_ONHAND_STATUS_ID — Derives the current material status of onhand quantities, supporting onhand-level status checks.
- GET_LPN_STATUS — Returns the status associated with an LPN.
- CHECK_MOVE_DIFF_STATUS — Evaluates whether a move is permitted when the source and destination statuses differ, enforcing commingling rules.
- STATUS_COMMINGLE_CHECK — Applies the commingling rules that prevent incompatible statuses from residing in the same locator or LPN.
- UPDATE_STATUS and INSERT_STATUS_HISTORY — Persist the new status on material records and write the corresponding audit trail to MTL_MATERIAL_STATUS_HISTORY.
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.