Search Results copy_intra_dependency




Overview

PA_RELATIONSHIP_PVT is a private PL/SQL package in the APPS schema that maintains the structural and dependency relationships between projects, tasks, and project elements within Oracle Projects. It functions as the internal engine behind the public relationship APIs, encapsulating the low-level logic required to create, update, and delete the object relationships stored in PA_OBJECT_RELATIONSHIPS. Because it is classified as a PVT (private) package, it is not intended for direct invocation by external or customer code; it is called by the public packages PA_RELATIONSHIP_PUB, PA_PROJECT_PUB, PA_TASK_PUB1, and the project structure packages. The package is central to operations such as intra-project task dependencies, cross-project (inter-project) dependencies, subproject associations, and the propagation of relationship data during project copy and structure manipulation.

Key Procedures and Functions

Tables Accessed

The package reads and writes PA_OBJECT_RELATIONSHIPS, the primary repository of relationship records, together with its sequence PA_OBJECT_RELATIONSHIPS_S for key generation. PA_PROJECTS_ALL and PA_PROJ_ELEMENTS supply project and element definitions, while PA_PROJ_ELEMENT_VERSIONS, PA_PROJ_ELEM_VER_SCHEDULE, and PA_PROJ_ELEM_VER_STRUCTURE hold versioned schedule and structure detail used during copy and dependency operations. PA_PROJ_STRUCTURE_TYPES and PA_STRUCTURE_TYPES define the structural classifications referenced during relationship creation. PA_COPY_DEP_TEMP, PA_IMPLEMENTATIONS_ALL, DUAL, and the PL/SQL table type PLITBLM support staging, implementation lookup, and in-memory processing.

Usage Notes

PA_RELATIONSHIP_PVT is invoked indirectly whenever users create or modify dependencies, subproject associations, or project structures through Oracle Projects forms, or when concurrent programs such as project copy and structure maintenance run. It is referenced by seven packages, including PA_RELATIONSHIP_PUB, PA_PROJECT_PUB, PA_PROJ_STRUCTURE_PVT, and PA_TASK_PUB1. Custom code should call the corresponding public (PUB) APIs rather than this private package, because the internal signatures and logic are not guaranteed to remain stable across releases. Direct invocation is reserved for Oracle-internal dependent code.