Search Results mtl_grades




Overview

INV_LOT_ATTR_PUB is a public PL/SQL package body in the APPS schema that centralizes validation and attribute-handling logic for lot-controlled inventory in Oracle E-Business Suite. Its primary business function is to validate the descriptive attributes attached to lot numbers, including grade code, maturity date, hold date, expiration action date, expiration action code, retest date, reason code, origination type, and child lot relationships. The package also exposes a wrapper for creating lot unit-of-measure conversions. Because it belongs to the PUB API classification, it is a supported integration entry point for external and custom code that needs to apply the same validation rules Oracle Inventory enforces through its own forms and processes. The object is documented as VALID and depends on standard EBS infrastructure packages including FND_API, FND_MESSAGE, FND_MSG_PUB, INV_LOT_API_PUB, MTL_LOT_UOM_CONV_PUB, and MTL_LOT_UOM_CONV_PVT, indicating that it participates in the standard error-handling and lot-number APIs rather than operating in isolation.

Key Procedures and Functions

The documented public interface contains ten procedures and functions, each responsible for validating a specific lot attribute or performing a conversion setup. All validation routines follow the same pattern: they accept a candidate value and determine whether it is permissible given the item, lot, and setup context, returning a status through the standard FND_API messaging framework.

  • VALIDATE_GRADE_CODE — Confirms that a supplied grade code exists and is valid for the item and lot, drawing on grade definitions maintained for quality and lot grading.
  • VALIDATE_MATURITY_DATE — Checks the maturity date attribute against date rules defined for the lot or item.
  • VALIDATE_HOLD_DATE — Validates the hold date attribute that governs when a lot should be placed on hold.
  • VALIDATE_EXP_ACTION_DATE — Validates the date on which the expiration action should be executed.
  • VALIDATE_RETEST_DATE — Validates the retest date attribute used for lots subject to periodic re-qualification.
  • VALIDATE_EXP_ACTION_CODE — Confirms the expiration action code is a recognized value from the relevant lookup.
  • VALIDATE_REASON_CODE — Validates the transaction reason code applied to the lot attribute change.
  • VALIDATE_ORIGINATION_TYPE — Checks the origination type of the lot, distinguishing how the lot was created or sourced.
  • VALIDATE_CHILD_LOT — Verifies that a child lot association is valid, supporting genealogy and lot splitting scenarios.
  • CREATE_LOT_UOM_CONV_WRAPPER — Wraps the creation of lot-specific unit-of-measure conversions, delegating to the MTL_LOT_UOM_CONV_PUB and MTL_LOT_UOM_CONV_PVT packages.

Tables Accessed

The package reads setup and transactional tables through APPS synonyms. MTL_GRADES supplies grade definitions referenced by VALIDATE_GRADE_CODE; this is the table most closely associated with the user's search term "mtl_grades." MTL_LOT_NUMBERS holds the lot master records being validated. MTL_SYSTEM_ITEMS provides item-level attributes that determine whether an attribute is relevant and what rules apply. MTL_ACTIONS and MTL_TRANSACTION_REASONS support expiration action and reason code validation. MTL_LOT_UOM_CLASS_CONVERSIONS, together with the conversion public and private packages, supports the unit-of-measure conversion wrapper. MFG_LOOKUPS is referenced for lookup validation of coded values such as expiration action code and origination type.

Usage Notes

INV_LOT_ATTR_PUB is typically invoked from Oracle Inventory lot entry and lot attribute maintenance forms, from the lot attribute APIs during inbound transactions, and from custom PL/SQL or concurrent programs that create or modify lots programmatically. Developers integrating lot data should call these validation routines before inserting or updating lot attributes, then inspect the FND_MSG_PUB message stack for errors. The package is documented as referenced by three other packages and references INV_LOT_API_PUB, so it is normally used in conjunction with, not instead of, the core lot API. In releases 12.1.1 and 12.2.2 the interface is unchanged with respect to the documented procedures and table dependencies.