Search Results eam_permit_validate_pvt




Overview

APPS.EAM_PERMIT_VALIDATE_PVT is a private (PVT) PL/SQL package within the Oracle Enterprise Asset Management (eAM) module. It provides the internal validation engine that supports work permit processing in Oracle E-Business Suite 12.1.1 and 12.2.2. Work permits in eAM are used to authorize and control hazardous or regulated maintenance activities; before a permit header can be created, revised, or released, its attributes must be validated against mandatory-field rules and consistency checks. EAM_PERMIT_VALIDATE_PVT encapsulates that validation logic so that it can be reused by the public safety/work-permit APIs and by the work permit UI without duplicating business rules. The package is declared AUTHID CURRENT_USER, meaning it executes with the privileges of the calling schema (typically APPS), which is standard practice for validation helpers invoked from other PL/SQL units. As a private package, it is not intended for direct invocation by external or customer-specific code; it is consumed internally by Oracle's own public API layer and forms.

Key Procedures and Functions

The package exposes three documented procedures; no functions are declared in the visible specification.

  • CHECK_EXISTENCE — Queries the existing (old) work permit header record and returns it through an output record variable. This allows the caller to compare the incoming revised header against the persisted version before applying further validation. It also returns a message token table and a return status to signal success or failure.
  • CHECK_ATTRIBUTES — Validates every revised item attribute on the work permit header in its entirety. It accepts both the incoming header record and the previously stored header record, enabling field-level comparison of changed attributes. Like the other procedures, it returns a message token table and a return status.
  • CHECK_REQUIRED — Checks for the existence of mandatory attributes on the supplied work permit header record. If a required attribute is missing or null, the procedure populates the message token table to convey the validation error back to the caller. This is the procedure most relevant to the search term "check_required" and is the entry point for enforcing not-null business rules on permit headers.

All three procedures follow the same output convention: a Mesg_Token_Tbl_Type table for error tokens and a VARCHAR2 return status. The header record type is EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type, tying the package directly to the public safety processing API.

Tables Accessed

According to the documented metadata, the package interacts with the following tables through APPS synonyms:

  • EAM_WORK_PERMITS — The primary work permit table. CHECK_EXISTENCE reads the stored permit header from this table, and the validation procedures derive their comparison and mandatory-field checks from its column definitions.
  • FND_RESPONSIBILITY — Used to resolve responsibility context, most likely to determine the validity or applicability of the caller's responsibility when validating permit attributes.
  • FND_USER — Used to resolve user identity, supporting validation logic that depends on the operating user (for example, ownership or approval authority checks on the permit header).

The package does not appear to write transactional data; its role is to read reference and transactional data and return validation results to the caller.

Usage Notes

Because EAM_PERMIT_VALIDATE_PVT is a private package, it is invoked indirectly through the eAM work permit UI and through the public EAM_PROCESS_SAFETY_PUB API. During permit creation, update, or revision in the Oracle Forms-based work permit screens, the form's underlying PL/SQL calls the public API, which in turn delegates validation to the procedures in this package. The metadata notes that it is referenced by two other packages, confirming its role as a shared internal utility rather than a standalone entry point. Customizations should not call EAM_PERMIT_VALIDATE_PVT directly, as its signature and behavior are not part of Oracle's supported public interface and may change between releases. The package header carries the $Header tag indicating maintenance at version 120.2 (2011), which is consistent across both 12.1.1 and 12.2.2 code lines.