Search Results validate_item




Overview

GMIVITM is a PL/SQL package owned by the APPS schema in Oracle E-Business Suite, classified under the ETRM taxonomy as an OTHER API. Its declared purpose, stated in the package header comments, is to contain all validation logic for item creation. The package therefore acts as the central gatekeeper through which new item definitions are screened before they are committed to the Oracle Inventory item master and related classification structures.

The package is declared with AUTHID CURRENT_USER, meaning that its unqualified database references resolve against the privileges of the invoking session rather than those of the APPS owner. This is consistent with the Oracle EBS convention for internal validation packages that are called from forms, concurrent programs, or other PL/SQL APIs running under a responsibility-specific login. The $Header attribute records the source file as GMIVITMS.pls, version 115.9, dated 11 November 2002, indicating that the shipped code predates the 12.1.1 and 12.2.2 releases and has been carried forward unchanged across those releases.

Key Procedures and Functions

The documented interface exposes a single public procedure:

  • VALIDATE_ITEM — The sole entry point in the package. It accepts a standard Oracle EBS API version argument and a validation-level argument defaulting to FND_API.G_VALID_LEVEL_FULL, together with an item record typed as GMIGAPI.item_rec_typ. On completion it returns output records for the Inventory item master (IC_ITEM_MST) and the item copy group (IC_ITEM_CPG), plus the customary x_return_status, x_msg_count, and x_msg_data diagnostic parameters. The output record parameters are marked NOCOPY, a change introduced under Bug#2643440 to avoid the overhead of copying large PL/SQL records during the call. Because the signature is defined in terms of the shared GMIGAPI record type, callers must populate that structure rather than passing loose scalar arguments.

Tables Accessed

The validation logic reads the Inventory item definition and its associated classification and control tables, which are referenced through APPS synonyms. The primary targets are IC_ITEM_MST and IC_ITEM_CPG, the tables returned to the caller as output row types. Supporting lookups include the item template and class tables IC_ALLC_CLS, IC_COST_CLS, IC_CTMS_CLS, IC_FRGT_CLS, IC_GLED_CLS, IC_INVN_CLS, IC_PRCE_CLS, and IC_PRCH_CLS, which supply the classification values that must exist and be valid before an item can be created. IC_COMD_CDS provides commodity code validation, IC_INVN_TYP supplies inventory type validation, and IC_LOTS_STS supports lot status checking. CR_SQDT_CLS underpins source/quantity class validation, while CM_MTHD_MST supplies the cost method master used to validate costing method assignments. Collectively these reads confirm that every foreign key and required classification on a proposed item resolves to a defined, active value.

Usage Notes

GMIVITM is an internal validation utility rather than a user-facing API. It is invoked during item creation processing, typically from the item definition forms or from higher-level item creation APIs that delegate their validation step to this package. The metadata records that the package is referenced by one other package, confirming that it is consumed by a dependent code unit rather than being called directly from the user interface. Its procedure follows the standard EBS API contract — version parameter, validation level, typed input record, typed output rows, and the three return diagnostics — so customizations that need to validate an item before insertion can call VALIDATE_ITEM directly and inspect x_return_status against FND_API.G_RET_STS_SUCCESS. The ETRM metadata does not document any concurrent program or form that invokes the package directly, so integration points should be confirmed against the dependent package identified in the repository.