Search Results delete_status_pvt




Overview

APPS.PA_STATUSES_PVT is a private PL/SQL package body in the Oracle E-Business Suite Projects (PA) module that encapsulates the business logic governing the PA_PROJECT_STATUSES table. The PA_PROJECT_STATUSES table stores the set of valid project status codes used throughout Oracle Projects, including statuses such as Approved, Closed, Pending, and Rejected. These status codes drive workflow transitions, reporting, and eligibility rules for project lifecycle actions.

The "PVT" designation in the package name signals that this is an internal, private API package. It is not intended to be called directly by customer extensions or external integrations. Instead, it is invoked by the public API layer, in particular the companion package PA_STATUSES_PUB, which exposes supported entry points for status maintenance. The package header comment confirms its purpose as the "Private Package for table PA_PROJECT_STATUSES," and the source history indicates it was created in July 2000 and has been maintained since, with a notable enhancement added in February 2003 to support phase-code deletion logic.

Key Procedures and Functions

  • delete_status_pvt — The sole documented procedure in this package. It performs the deletion of a project status row from PA_PROJECT_STATUSES. The procedure follows the standard Oracle EBS API conventions, accepting an API version number, an initialization message list flag, a commit flag, a validate-only flag, a maximum message count, and the target project status code. It returns a return status, message count, message data, and an x_allow_deletion_flag that indicates whether the referenced status is permitted to be deleted. The procedure raises and propagates error information (error code, stage, and stack) through its exception handling, and it references FND_GLOBAL user and login identifiers for audit and concurrency context.

The x_allow_deletion_flag is significant: it implies that deletion is conditionally permitted based on referential or business-rule checks, such as whether projects or project templates currently reference the status. This gating logic is a key design characteristic of the procedure.

Tables Accessed

  • PA_PROJECT_STATUSES — The primary and only documented table. The procedure operates directly on this table to remove a status definition. Validation logic likely queries other Projects tables implicitly (for example, PA_PROJECTS or PA_PROJECT_TEMPLATES) to determine whether the status is in use, though such dependencies are inferred rather than explicitly listed in the ETRM extract.

Usage Notes

This package is typically invoked indirectly. In practice, the Oracle Projects status maintenance form and the public PA_STATUSES_PUB API call down to delete_status_pvt to perform the actual data manipulation. Customers and partners writing custom extensions should not call PA_STATUSES_PVT directly; the supported interface is the public package, which provides error handling and the commitment boundary expected by the EBS framework.

Because the procedure supports p_validate_only and p_commit parameters, callers may use it to perform a dry-run validation of deletion eligibility before committing. Concurrent programs or batch scripts that remove obsolete status codes should wrap the call with explicit savepoint handling and check the returned x_allow_deletion_flag before proceeding. Given the private classification and the 2005 source header, this package body should be treated as an internal implementation detail whose signature may change between point releases of EBS 12.1.1 and 12.2.2.