Search Results check_asso_proj_ok




Overview

PA_PROJ_STRUCTURE_PVT is a private (PVT) PL/SQL package in the Oracle E-Business Suite Projects (PA) module. It is declared with AUTHID CURRENT_USER, meaning its SQL executes under the privilege context of the invoking user rather than the package owner, and it is not intended to be called directly by external consumers. Its role is to encapsulate the low-level relationship logic that governs how tasks and projects are associated within the project structure hierarchy. The package header dates from release 12.0 (header revision 120.1, dated 2005), and the object remains present and documented in both EBS 12.1.1 and 12.2.2.

The package sits beneath the public project structure APIs and performs the actual insert, validation, and deletion of task-to-project associations. Because it is classified as PVT, Oracle does not guarantee the interface across patches, and the supported entry point for external integrations is the corresponding public API layer.

Key Procedures and Functions

The documented package header exposes three program units:

  • CHECK_ASSO_PROJ_OK — A function returning VARCHAR2. This is the function surfaced by the user's search term. Its purpose is to validate whether a given task may legitimately be associated with a given project. It accepts identifiers for the task and the project and returns a status indicator expressing whether the association is permissible. It is the validation primitive that the relationship maintenance procedures rely upon before performing any data change.
  • CREATE_RELATIONSHIP — A procedure that establishes the association between a task and a project. It follows the standard EBS API pattern, accepting an API version, message-list initialization flag, commit flag, validate-only flag, and debug flag, with the task and project identifiers supplied as input, and returning standard x_return_status, x_msg_count, and x_msg_data outputs. The validate-only parameter permits the caller to run the full validation path without committing.
  • DELETE_RELATIONSHIP — A procedure that removes an existing task-to-project association, using the same EBS API parameter conventions as CREATE_RELATIONSHIP.

Both procedures carry the NOCOPY hint on their OUT parameters, consistent with the File.Sql.39 performance standard (bug 4440895).

Tables Accessed

The package reads and writes the following tables through APPS synonyms:

  • PA_OBJECT_RELATIONSHIPS — The primary store for relationships between project objects; this is the table written by CREATE_RELATIONSHIP and purged by DELETE_RELATIONSHIP.
  • PA_PROJECTS_ALL and PA_PROJECT_TYPES_ALL — Used to resolve and validate the project and its project type, supporting the CHECK_ASSO_PROJ_OK validation logic.
  • PA_TASKS — Used to validate the task being associated and to establish task context.
  • PA_PROJ_ELEMENTS and PA_PROJ_ELEMENT_VERSIONS — Provide the project element structure and version context required to confirm that the task and project belong to a compatible structural hierarchy.

Usage Notes

PA_PROJ_STRUCTURE_PVT is invoked indirectly. The EBS Projects forms that maintain task and project associations, and the public project structure APIs that wrap this private layer, are the normal callers. It is referenced by one other package, which is the supported interface through which the logic is reached.

Custom code should not call PA_PROJ_STRUCTURE_PVT directly. Because it is a PVT package, its signature and internal behavior are subject to change without notice in any patch or upgrade. Developers requiring this validation should use the public API that delegates to it, or replicate the validation through documented public views and APIs. When troubleshooting association failures, the return value of CHECK_ASSO_PROJ_OK is the most direct diagnostic signal that a task-to-project relationship has been rejected by validation rather than by data integrity constraints.