Search Results revert_proj_number




Overview

PA_PROJECT_CORE1 is a foundational PL/SQL package body within the Oracle E-Business Suite Projects (PA) module, owned by the APPS schema. It encapsulates a set of core project-management utilities that govern the creation, numbering, and duplication of project records. In Oracle EBS 12.1.1 and 12.2.2, the package functions as an internal service layer consumed by higher-level project APIs, Oracle Forms, and concurrent programs rather than being invoked directly by end users. Its central responsibility is the management of project numbers — including validation, generation, and reversal — together with the logic required to copy an existing project and its associated budgetary controls. Because it sits at the heart of the project lifecycle, it is referenced by six other packages, making it a critical dependency in the Projects architecture. The package is classified as an "Other" API, indicating that it is intended primarily for internal, Oracle-delivered use, though it is exposed to custom code as a public package specification.

Key Procedures and Functions

The ETRM metadata documents eight procedures and functions within the package body. Their documented purposes are as follows:

  • GET_PROJECT_NUMBER_BY_NUMCODE — Retrieves a project number for a specified project ID according to the implementation-defined Project Number generation mode. When the mode is 'MANUAL', the user-supplied number is validated and returned; otherwise a system-generated number is produced, factoring in the numeric or alphanumeric number type.
  • REVERT_PROJ_NUMBER — The procedure associated with the user's search term. It reverses or releases a previously allocated project number, restoring the numbering sequence so that the number can be reused or rolled back, typically when project creation fails or is cancelled.
  • COPY_PROJECT — Duplicates an existing project definition, enabling users to create new projects from a template. It orchestrates the copying of project attributes and dependent structures.
  • GET_NEXT_AVAIL_PROJ_NUM — Determines and returns the next available project number based on the current generation mode and sequence state.
  • GET_MESSAGE_FROM_STACK — Extracts a human-readable message from the internal error stack maintained by the package's exception-handling framework (x_err_code, x_err_stage, x_err_stack).
  • POPULATE_COPY_OPTIONS — Populates the set of configurable options that control what is copied when a project is duplicated.
  • POPULATE_DEFAULT_COPY_OPTIONS — Establishes the default values for those copy options.
  • COPY_BUDGETORY_CTRL — Copies the budgetary control settings belonging to a source project to the newly created project.

Tables Accessed

The package reads and writes numerous tables through APPS synonyms. Configuration and setup tables such as PA_IMPLEMENTATIONS, FND_DESCRIPTIVE_FLEXS, HR_LOCATIONS_ALL, HR_ORGANIZATION_INFORMATION, and HZ_PARTIES supply organizational, party, and descriptive-flexfield context. Project financial structures including PA_BILLING_ASSIGNMENTS (and its _S shadow table), PA_CREDIT_RECEIVERS (_S), PA_EMP_BILL_RATE_OVERRIDES (_S), PA_COST_DIST_OVERRIDES (_S), PA_IND_COST_MULTIPLIERS, and PA_BUDGET_VERSIONS are consulted or duplicated during project copying and budgetary-control population. The _S tables represent the date-tracked (multiple-version) repositories that hold historical attribute changes.

Usage Notes

PA_PROJECT_CORE1 is invoked indirectly. The Oracle Projects Forms (such as the Project, Templates, and Copy Project windows) and the Project Copy concurrent programs call these routines through the Project API layer and PA_PROJECT_UTILS. The GET_PROJECT_NUMBER_BY_NUMCODE and REVERT_PROJ_NUMBER procedures are relevant during project creation and rollback scenarios; REVERT_PROJ_NUMBER specifically allows the project-number sequence to be reclaimed when a create operation is abandoned. Error information is propagated through the standard x_err_code, x_err_stage, and x_err_stack parameters, with messages retrieved via GET_MESSAGE_FROM_STACK. Custom integrations should not modify these procedures but may call the package specification cautiously, observing the same error-handling conventions and honoring the implementation-defined numbering mode retrieved from PA_IMPLEMENTATIONS.