Search Results add_task_round_two




Overview

PA_PROJECT_PVT is the private implementation package for the Oracle Projects (PA) project foundation APIs in Oracle E-Business Suite 12.1.1 and 12.2.2. While the public package PA_PROJECT_PUB exposes the supported, customer-facing API surface for creating and maintaining projects and tasks, PA_PROJECT_PVT contains the internal logic that performs validation, reference resolution, structure assembly, and data persistence. It is declared with AUTHID DEFINER, meaning it executes with the privileges of its owner (APPS), and it carries an API version constant (G_API_VERSION_NUMBER := 1.0) that reflects the maturity of the underlying interface contract.

The package supports the core business process of project creation and maintenance: resolving user-supplied project references into internal identifiers, validating user input against setup and reference data, creating project and task structures in multiple rounds, and managing key members and class categories. Because it is classified as a PVT (private) API, Oracle does not guarantee backward compatibility of its signatures, and direct calls from custom code are discouraged in favor of PA_PROJECT_PUB.

Key Procedures and Functions

The documented interface includes 34 procedures and functions. The most relevant include:

The package also defines the ROW_ALREADY_LOCKED exception (ORA-00054) for locking conflicts during updates, and the task_number_upd_rec_type / task_number_upd_tbl_type record and table types used by the task renumbering logic.

Tables Accessed

The package reads and writes a range of PA and shared reference tables via APPS synonyms:

Usage Notes

PA_PROJECT_PVT is invoked indirectly through PA_PROJECT_PUB, which is the supported entry point for project and task creation and update. In practice, calls originate from Oracle Projects forms (such as the Project, Task, and Template windows), from concurrent programs that mass-maintain projects, and from other internal PA packages — the ETRM metadata notes the package is referenced by 18 other packages. Because the API is private, its signatures carry no compatibility guarantee across releases; custom extensions should call PA_PROJECT_PUB rather than PA_PROJECT_PVT directly. The presence of G_API_VERSION_NUMBER and the ROW_ALREADY_LOCKED handler indicates callers should be prepared for locking conflicts and should version-check the API before invoking it.