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.
- 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.
-
PACKAGE BODY: APPS.INV_MATERIAL_STATUS_GRP
12.1.1
-
PACKAGE BODY: APPS.INV_MATERIAL_STATUS_GRP
12.2.2
-
PACKAGE BODY: APPS.INV_MATERIAL_STATUS_GRP
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MATERIAL_STATUS_GRP, status:VALID,
-
PACKAGE BODY: APPS.INV_MATERIAL_STATUS_GRP
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MATERIAL_STATUS_GRP, status:VALID,
-
PACKAGE: APPS.INV_TABLE_LOCK_PVT
12.2.2
owner:APPS, object_type:PACKAGE, object_name:INV_TABLE_LOCK_PVT, status:VALID,
-
SYNONYM: APPS.MTL_STATUS_TRANSACTION_CONTROL
12.1.1
owner:APPS, object_type:SYNONYM, object_name:MTL_STATUS_TRANSACTION_CONTROL, status:VALID,
-
PACKAGE: APPS.INV_TABLE_LOCK_PVT
12.1.1
owner:APPS, object_type:PACKAGE, object_name:INV_TABLE_LOCK_PVT, status:VALID,
-
PACKAGE: APPS.INV_MATERIAL_STATUS_GRP
12.1.1
owner:APPS, object_type:PACKAGE, object_name:INV_MATERIAL_STATUS_GRP, status:VALID,
-
PACKAGE: APPS.INV_MATERIAL_STATUS_GRP
12.2.2
owner:APPS, object_type:PACKAGE, object_name:INV_MATERIAL_STATUS_GRP, status:VALID,
-
SYNONYM: APPS.MTL_MATERIAL_STATUS_HISTORY
12.2.2
owner:APPS, object_type:SYNONYM, object_name:MTL_MATERIAL_STATUS_HISTORY, status:VALID,
-
PACKAGE BODY: APPS.INV_UPDATE_ONHAND_STATUS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_UPDATE_ONHAND_STATUS, status:VALID,
-
PACKAGE BODY: APPS.WMA_SPECIAL_LOVS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:WMA_SPECIAL_LOVS, status:VALID,
-
PACKAGE BODY: APPS.INV_MWB_CG_TRANSFER
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MWB_CG_TRANSFER, status:VALID,
-
PACKAGE BODY: APPS.MTL_CC_TRANSACT_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:MTL_CC_TRANSACT_PKG, status:VALID,
-
PACKAGE BODY: APPS.WIP_POPULATE_TEMP
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:WIP_POPULATE_TEMP, status:VALID,
-
PACKAGE BODY: APPS.INV_MATERIAL_STATUS_PUB
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MATERIAL_STATUS_PUB, status:VALID,
-
PACKAGE BODY: APPS.INV_ITEM_INQ
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_ITEM_INQ, status:VALID,
-
PACKAGE BODY: APPS.INV_ITEM_INQ
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_ITEM_INQ, status:VALID,
-
PACKAGE BODY: APPS.WMA_SPECIAL_LOVS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WMA_SPECIAL_LOVS, status:VALID,
-
PACKAGE BODY: APPS.INV_UPDATE_ONHAND_STATUS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_UPDATE_ONHAND_STATUS, status:VALID,
-
PACKAGE BODY: APPS.INV_MWB_LPN_TREE
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MWB_LPN_TREE, status:VALID,
-
PACKAGE BODY: APPS.INV_MATERIAL_STATUS_PUB
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MATERIAL_STATUS_PUB, status:VALID,
-
SYNONYM: APPS.MTL_STATUS_TRANSACTION_CONTROL
12.2.2
owner:APPS, object_type:SYNONYM, object_name:MTL_STATUS_TRANSACTION_CONTROL, status:VALID,
-
PACKAGE BODY: APPS.INV_MWB_LPN_TREE
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MWB_LPN_TREE, status:VALID,
-
PACKAGE BODY: APPS.GME_MOBILE_LOVS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:GME_MOBILE_LOVS, status:VALID,
-
PACKAGE BODY: APPS.INV_UI_ITEM_LOVS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_UI_ITEM_LOVS, status:VALID,
-
PACKAGE BODY: APPS.WIP_POPULATE_TEMP
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WIP_POPULATE_TEMP, status:VALID,
-
PACKAGE BODY: APPS.INV_AUTODETAIL
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_AUTODETAIL, status:VALID,
-
PACKAGE BODY: APPS.WMS_LPN_LOVS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WMS_LPN_LOVS, status:VALID,
-
PACKAGE BODY: APPS.INV_MWB_CG_TRANSFER
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_MWB_CG_TRANSFER, status:VALID,
-
PACKAGE BODY: APPS.INV_QUANTITY_TREE_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_QUANTITY_TREE_PVT, status:VALID,
-
PACKAGE BODY: APPS.MTL_CC_TRANSACT_PKG
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:MTL_CC_TRANSACT_PKG, status:VALID,
-
PACKAGE BODY: APPS.WIP_UTILITIES
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WIP_UTILITIES, status:VALID,
-
PACKAGE BODY: APPS.INV_UI_ITEM_LOVS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_UI_ITEM_LOVS, status:VALID,
-
PACKAGE BODY: APPS.MRP_HORIZONTAL_PLAN_SC
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:MRP_HORIZONTAL_PLAN_SC, status:VALID,
-
PACKAGE BODY: APPS.WIP_EAM_GENEALOGY_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:WIP_EAM_GENEALOGY_PVT, status:VALID,
-
PACKAGE BODY: APPS.WMS_ASN_LOT_ATT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:WMS_ASN_LOT_ATT, status:VALID,
-
PACKAGE BODY: APPS.INV_LOT_APIS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_LOT_APIS, status:VALID,
-
PACKAGE BODY: APPS.INV_LOT_TRX_VALIDATION_PUB
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_LOT_TRX_VALIDATION_PUB, status:VALID,
-
PACKAGE: APPS.INV_MATERIAL_STATUS_PUB
12.1.1
owner:APPS, object_type:PACKAGE, object_name:INV_MATERIAL_STATUS_PUB, status:VALID,
-
PACKAGE BODY: APPS.INV_STATUS_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_STATUS_PKG, status:VALID,
-
PACKAGE BODY: APPS.WMS_LPN_LOVS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:WMS_LPN_LOVS, status:VALID,
-
PACKAGE BODY: APPS.EAM_MTL_TXN_PROCESS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:EAM_MTL_TXN_PROCESS, status:VALID,
-
PACKAGE BODY: APPS.INV_QUANTITY_TREE_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_QUANTITY_TREE_PVT, status:VALID,
-
PACKAGE BODY: APPS.INV_SERIAL_NUMBER_PUB
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:INV_SERIAL_NUMBER_PUB, status:VALID,
-
PACKAGE BODY: APPS.GME_TRANSACTIONS_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:GME_TRANSACTIONS_PVT, status:VALID,
-
PACKAGE BODY: APPS.INV_VALIDATE
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_VALIDATE, status:VALID,
-
PACKAGE BODY: APPS.INV_UI_ITEM_SUB_LOC_LOVS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_UI_ITEM_SUB_LOC_LOVS, status:VALID,
-
PACKAGE BODY: APPS.GME_TRANSACTIONS_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:GME_TRANSACTIONS_PVT, status:VALID,
-
PACKAGE BODY: APPS.INV_UI_ITEM_ATT_LOVS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:INV_UI_ITEM_ATT_LOVS, status:VALID,