Search Results check_delete_for_reason




Overview

APPS.ENG_CHANGE_ADMIN_UTIL is a utility PL/SQL package in the Oracle E-Business Suite Engineering (ENG) module. Its role is to support the administrative maintenance of engineering change order (ECO) reference data: reasons, priorities, statuses, phases, and classification codes. When an administrator attempts to delete one of these descriptive setup values, the application must first determine whether that value is still in use by any existing engineering change. Deleting a value that is referenced by live change records would corrupt the change management data model and could compromise audit trails and approval routing. This package centralizes the referential integrity logic that answers that question, allowing the change administration forms to present a controlled delete experience. The package is declared AUTHID CURRENT_USER, so it executes with the privileges of the calling user, and relies on APPS synonyms to reach the underlying ENG tables. Each documented function returns a NUMBER, conventionally 1 or 2, which the calling layer interprets as an allowed or blocked delete indicator. The package header identifies itself as ENGADUTS.pls, version 115.3, shipped in 2003, an indication of the long-standing stability of this utility across 11i and the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

The package exposes five documented functions. As the user's search term suggests, check_delete_for_reason is the most recognizable entry point: it takes a reason code and determines whether that change reason may be removed from the administrator's setup list. Its siblings follow the same pattern:

  • CHECK_DELETE_FOR_REASON — validates whether an engineering change reason code is free of dependency, returning 1 or 2 to signal whether deletion is permissible.
  • CHECK_DELETE_FOR_PRIORITY — performs the equivalent test for a change priority code.
  • CHECK_DELETE_FOR_STATUS — evaluates whether a change status is still referenced, using the numeric status code as input.
  • CHECK_DELETE_FOR_PHASE — evaluates a phase in the context of both a status code and a change type identifier, since phases are defined per change type.
  • CHECK_CLASSIFICATIONS_DELETE — checks whether a classification code may be safely removed from the change type classification setup.

The header annotates the reason, priority, and status functions with PRAGMA RESTRICT_REFERENCES (WNDS, WNPS), a legacy purity-level declaration that confirms these functions perform no writes and no package-state reads — consistent with their role as pure validation checks.

Tables Accessed

The documented table references confirm that each function inspects the transactional engineering change data against the corresponding setup table:

Usage Notes

ENG_CHANGE_ADMIN_UTIL is a supporting (UTIL-classified) package rather than a business API, and the metadata shows no other packages referencing it. It is therefore invoked directly, typically from the Engineering Change Management administration forms when a user attempts to delete a reason, priority, status, phase, or classification, and via custom extensions or concurrent programs that need the same pre-delete validation. In 12.1.1 and 12.2.2 the package behaves identically; its narrow, read-only scope means it carries minimal upgrade risk. Callers should treat a return of 1 or 2 as the documented allow/deny signal and should not assume a Boolean result, since the functions return NUMBER.