Search Results g_api_version_number




Overview

PA_STATUSES_PVT is a private PL/SQL package in the Oracle E-Business Suite Projects (PA) module that manages the lifecycle of project status codes stored in the PA_PROJECT_STATUSES table. Project statuses are the user-defined classification values — such as Open, Closed, Submitted, or Pending Close — that control which statuses a project may assume and how a project transitions between them. Because these statuses underpin project validation and transaction processing across the Projects suite, they cannot be removed through the standard application forms once a project references them. PA_STATUSES_PVT provides the controlled, programmatic deletion path for such records.

The package is classified as PVT (private) in ETRM, meaning it is an internal implementation package not intended as a public integration interface. It exposes a version constant, G_API_VERSION_NUMBER, initialized to 1.0, which follows the Oracle Application Object Library (AOL) API versioning convention. Callers that reference this constant in the p_api_version_number argument are signalling compatibility with version 1.0 of the interface and participate in the standard AOL API validation model.

Key Procedures and Functions

The package documents a single procedure, DELETE_STATUS_PVT.

  • DELETE_STATUS_PVT — Deletes a project status record identified by its status code. The procedure follows the standard Oracle AOL API signature: p_api_version_number (with a default derived from PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM), p_init_msg_list, p_commit, p_validate_only, p_max_msg_count, and p_pa_project_status_code as input, returning x_return_status, x_msg_count, x_msg_data, and x_allow_deletion_flag. The validate-only mode allows a caller to test whether a given status can be deleted before performing the operation. The x_allow_deletion_flag output reports whether deletion is permitted, which is significant because statuses in active use by project records must be protected from removal. The package also declares a ROW_ALREADY_LOCKED exception, indicating that concurrent modification of the same status row is detected and raised rather than silently overwritten.

Tables Accessed

The package operates on PA_PROJECT_STATUSES, accessed through the APPS synonym, as explicitly stated in the package header comment: "Private Package for table PA_PROJECT_STATUSES." This table holds the defined project status codes and their attributes. DELETE_STATUS_PVT removes rows from this table subject to the validation logic embedded in the procedure, and the ROW_ALREADY_LOCKED exception confirms that the procedure locks the target row before deletion.

Usage Notes

As a private package, PA_STATUSES_PVT is not intended for direct invocation by external integrations. It is typically called from Projects setup forms, from other PA packages, or from administrative cleanup routines where a status code must be removed after confirming that no project references it. ETRM records that the package is referenced by one other package, reinforcing its role as an internal dependency rather than a standalone interface. The default value bound to p_api_version_number (PA_INTERFACE_UTILS_PUB.G_PA_MISS_NUM) is a sentinel indicating a missing argument in the PA interface utilities, so callers should pass G_API_VERSION_NUMBER (1.0) explicitly when invoking the procedure from custom code. Standard practices apply: call with p_validate_only set to FND_API.G_TRUE first to obtain x_allow_deletion_flag, then re-invoke with commit enabled. The header indicates the package dates from 2000 and was last touched in 2005; in 12.1.1 and 12.2.2 it remains a stable, unchanged private utility.