Search Results g_customer_enabled




Overview

INV_ITEM_STATUS_CP is the package body behind the item status control API in Oracle E-Business Suite Inventory. It provides the programmatic enforcement layer that governs which item attributes may be changed while an item is under status control, and it propagates the attribute restrictions defined by an item status to the item master records. In Oracle EBS 12.1.1 and 12.2.2, item statuses allow an organization to freeze or restrict transactions, purchasing, invoicing, BOM usage, and other functional capabilities for selected items without deleting or disabling those items outright. This package is the component that translates the status definition into concrete column values on MTL_SYSTEM_ITEMS and its attribute extension tables.

The package declares a substantial set of package-level globals that mirror the attribute columns it manages, including G_STATUS_CODE, G_STOCK_ENABLED, G_TRANSACTIONS_ENABLED, G_PURCHASING_ENABLED, G_INVOICE_ENABLED, G_BUILD_IN_WIP, G_CUSTOMER_ENABLED, G_INTERNAL_ENABLED, and G_BOM_ENABLED. Numeric globals such as G_UNDER_STATUS_CONTROL, G_DEFAULT_CONTROL, and G_NO_CONTROL capture the status control mode of an item and are used to branch processing logic. The header indicates a long maintenance history (through version 120.10) and fixes spanning several bugs, including the introduction of the G_NO_CONTROL constant and the recipe and process execution attribute flags.

Key Procedures and Functions

  • PROCESS_PENDING_STATUS — The principal driver of the package. It evaluates pending item status assignments recorded against items and applies the resulting attribute restrictions to the item master. This is the routine invoked when a status change must be pushed through to the affected item attribute columns, including the transactable, orderable, and purchasable indicators tracked by the globals G_TRANSACTABLE, G_ORDERABLE, and G_PURCHASABLE.
  • CREATE_ITEM_ERES_EVENT — Raises the Oracle E-Records event associated with an item status change. This supports electronic records and audit requirements by capturing a traceable event when item status attributes are modified.
  • update_item_attributes — Referenced in the package source and documented in the ETRM listing; it performs the actual attribute updates on the item record when a pending status is processed.

Consistent with ETRM classification as an OTHER-type API, these entry points are intended for internal and controlled use rather than as a general-purpose public interface. Parameter signatures are not reproduced here.

Tables Accessed

  • MTL_SYSTEM_ITEMS / MTL_SYSTEM_ITEMS_B — The item master and its base table, which hold the attribute columns the package reads and updates.
  • MTL_ITEM_ATTRIBUTES — Stores attribute-level values, including status-controlled settings applied per item and organization.
  • MTL_ITEM_STATUS — Defines item status codes and the control mode associated with each.
  • MTL_PENDING_ITEM_STATUS — Holds pending status assignments awaiting processing by PROCESS_PENDING_STATUS.
  • MTL_STATUS_ATTRIBUTE_VALUES — Supplies the per-status attribute values that determine what each status permits or forbids.
  • MTL_PARAMETERS — Organization-level inventory parameters used to validate processing context.
  • DUAL — Used for single-row utility operations.

Usage Notes

INV_ITEM_STATUS_CP is normally invoked indirectly through the Inventory item status forms and concurrent processing that manage item status assignments, rather than being called directly by end users. The presence of CREATE_ITEM_ERES_EVENT confirms integration with the E-Records framework, so calls to the package may be audited. One other package references this package, indicating a limited but real dependency surface. Custom development that must react to or replicate status-driven attribute propagation should call the documented procedures rather than updating MTL_SYSTEM_ITEMS directly, since the package also maintains pending-status consistency and raises the associated e-record events. Because the package operates on the item master, it should be exercised with care on items that carry open transactions, given the transactable, orderable, and purchasable flags it manipulates.