Search Results g_customer_code




Overview

APPS.PA_PROJECT_CHECK_PVT is a private PL/SQL package body within the Oracle E-Business Suite Projects (PA) module. It functions as the internal validation engine for project and task structural integrity, providing the boolean-style "is it OK to perform this operation" checks that underpin the public project and task maintenance APIs. The package encapsulates the business rules governing whether a task, project, or organizational change may be committed, returning a simple indicator ('Y' or 'N') together with the standard FND_API messaging structures. Within the Oracle EBS 12.1.1 and 12.2.2 releases the package is classified as PVT (private), meaning it is intended for consumption by the public PA packages rather than by customer code directly.

The package is dated by the source header "PAPMPCVB.pls 120.17", with the most recent documented revision dated 18-Nov-2011. Its history dates to August 1996, reflecting a lineage that spans the earliest project management implementations through the multi-org restructuring introduced with PA_PROJECTS_ALL. Although classified private, the header refers to itself in error messages as G_PKG_NAME := 'PA_PROJECT_CHECK_PUB', an artifact of the public/private pairing convention used throughout the PA schema.

Key Procedures and Functions

The 15 documented subprograms group into four functional families:

The legacy helper Convert_Pm_Projref_To_Id, referenced in the Check_Delete_Task_OK_pvt header comments, resolves a user-entered project reference into an internal project_id; it was subsequently replaced by a shared library routine, which is why it does not appear among the independently documented subprograms.

Tables Accessed

The package reads and, where applicable, updates the following documented tables through APPS synonyms:

  • PA_PROJECTS and PA_PROJECTS_ALL — the project definition and multi-organization project definition, used to resolve project identity, validate references, and enforce deletion and organization-change rules.
  • PA_PROJECT_TYPES_ALL — supplies project type attributes that constrain allowable changes and billing behavior.
  • PA_STD_BILL_RATE_SCHEDULES and PA_STD_BILL_RATE_SCHEDULES_ALL — referenced by VALIDATE_BILLING_INFO_PVT to confirm that billing information is correctly configured.
  • PA_TASKS — the task definition table, central to all task-level checks including uniqueness, hierarchy, numbering, and dates.
  • DUAL — used for single-row expression evaluation in cursor and function logic.
  • PLITBLM — the PL/SQL table lookup utility used for message handling.

Usage Notes

PA_PROJECT_CHECK_PVT is invoked indirectly. It is referenced by three other packages in the PA schema, and is called during the execution of the public project and task maintenance APIs. Typical entry points include the Projects, Tasks, and Project Templates forms, which rely on the public PA interfaces to validate a user's proposed action before committing; concurrent programs that create or restructure projects and tasks; and custom client extensions that call the public PA APIs, thereby triggering these private checks. Because the package is private and its signatures are not published as a supported interface, customizations should always invoke the public PA APIs (for example, PA_PROJECT_PUB or PA_TASK_PUB) rather than calling PA_PROJECT_CHECK_PVT directly, so that validation behavior remains consistent across upgrades from 12.1.1 to 12.2.2.