Search Results mtl_categories_pkg




Overview

MTL_CATEGORIES_PKG is an APPS-owned PL/SQL package that encapsulates the core data-maintenance logic for item categories within Oracle E-Business Suite. Item categories are the classification values assigned to inventory items so that they can be grouped, reported, and transacted against through category sets. The package sits directly on top of the category entity tables and provides the low-level insert, update, delete, lock, and translation operations that the higher-level public APIs and Oracle Forms-based maintenance screens rely upon. In EBS 12.1.1 and 12.2.2 the object is documented in ETRM with a status of VALID and an API classification of OTHER, indicating that it is an internal support package rather than a formally published public API. Its naming follows the standard Oracle "table handler" convention: the "_PKG" suffix denotes a package whose procedures map one-to-one onto the DML operations for MTL_CATEGORIES and its related category set tables.

Key Procedures and Functions

ETRM documents seven procedures and functions within this package:

  • INSERT_ROW — creates a new category record, populating the base table with the supplied category definition and its descriptive flexfield and key flexfield context.
  • UPDATE_ROW — modifies an existing category record, including its translatable descriptive attributes.
  • DELETE_ROW — removes a category record from the base table.
  • LOCK_ROW — obtains a row-level lock on the target category to serialize concurrent maintenance, typically called before an update or delete to guard against lost updates.
  • ADD_LANGUAGE — inserts translation rows into the "_TL" table for an additional installed language, supporting the multi-language category description.
  • TRANSLATE_ROW — writes or refreshes the translated description and other translatable columns for a category in a specific language.
  • LOAD_ROW — performs an upsert-style load of a category row, used to seed or migrate category data.

Each procedure operates on a single category at a time and assumes the caller manages the surrounding transaction and validation.

Tables Accessed

The package reads and writes the category base, translation, and key-flexfield views: MTL_CATEGORIES_B, MTL_CATEGORIES_TL, and MTL_CATEGORIES_KFV. It also references the category set tables MTL_CATEGORY_SETS_B, MTL_CATEGORY_SETS_TL, and the MTL_CATEGORY_SETS and MTL_DEFAULT_CATEGORY_SETS views to tie categories to their parent set and to the default set assignment. Flexfield metadata is resolved through FND_ID_FLEX_STRUCTURES and FND_ID_FLEX_SEGMENTS, while FND_APPLICATION and FND_LANGUAGES provide the application context and installed-language validation needed by the translation and load routines. These references are made through APPS synonyms.

Usage Notes

MTL_CATEGORIES_PKG is not intended for direct invocation by end users or by casual custom code. It is called primarily by the seeded Oracle Forms that maintain item categories and category sets, and by dependent packages such as INV_ITEM_CATEGORY_PUB, which is the documented downstream consumer. Because the package bypasses business validation and security checks that the public APIs enforce, custom development should prefer the supported public API surface and treat MTL_CATEGORIES_PKG as an internal implementation detail. When it is called directly, the invoker must supply valid key flexfield combinations and category set identifiers, manage language codes for the ADD_LANGUAGE, TRANSLATE_ROW, and LOAD_ROW routines, and commit explicitly, since the procedures do not issue a COMMIT.