Search Results update_proj_accum_header




Overview

PA_ACCUM_UTILS is an Oracle Projects utility package body (APPS.PA_ACCUM_UTILS) that centralizes the logic used to locate, create, and maintain the header records that drive project accumulation. In Oracle EBS Project Costing, periodic summarization of actuals, budgets, and commitments against a project is stored in the PA_PROJECT_ACCUM_* tables. Those tables require a header row that represents the project-level rollup — the special record where task, resource list, resource, and resource list member identifiers are all zero. PA_ACCUM_UTILS encapsulates the rules for identifying that project-level header, deriving the appropriate accumulation period, and updating header attributes as period and restructuring conditions change.

The package is classified as "OTHER" in the ETRM metadata, meaning it is an internal utility rather than a public callable API. Its source header ($Header: PAACUTIB.pls 120.1) places it in the Project Costing (PA) accumulation subsystem, and it is referenced by 19 other packages, confirming its role as a shared low-level dependency within Oracle Projects and its integration points.

Key Procedures and Functions

The package exposes 24 documented procedures and functions. The most commonly referenced, UPDATE_PROJ_ACCUM_HEADER — the object of the user's search — updates attributes of an existing PA_PROJECT_ACCUM_HEADERS row, keeping header metadata consistent with the current period and project state. Related period-handling routines include SET_CURRENT_PERIOD_INFO, GET_CURRENT_PERIOD_INFO, GET_CURRENT_PA_PERIOD, GET_CURRENT_GL_PERIOD, GET_PA_PERIOD_INFO, GET_PERIOD_YEAR_INFO, and GET_FIRST_ACCUM_PERIOD, which resolve the active PA or GL period, load implementation settings, and determine the earliest accumulation period for a project.

PROJ_LEVEL_RECORD verifies whether the project-level accumulation header exists and creates it if absent, returning the project_accum_id and the previous accumulation period; the excerpted source shows it branching on the implementation option ('PA' versus 'GL') to select the correct current period. GET_IMPL_OPTION and GET_CONFIG_OPTION retrieve implementation and configuration settings. CHECK_ACTUALS_DETAILS, CHECK_CMT_DETAILS, and CHECK_BUDGET_DETAILS validate the actuals, commitments, and budget detail data associated with accumulation. GET_EXISTING_HIGHER_TASKS, CHECK_TASKS_RESTRUCTURED_FLAG, and GET_PROJECT_INFO support task-restructuring and project attribute checks. SET_CHECK_REPORTING_END_DATE and GET_CHECK_REPORTING_END_DATE manage reporting-end-date validation, while GET_SPREAD_AMOUNT_VAL supports amount-spreading logic.

Tables Accessed

The package reads and writes PA_PROJECT_ACCUM_HEADERS and its companion PA_PROJECT_ACCUM_HEADERS_S (the header and header-sequence tables central to accumulation), and consults PA_TASKS for project task hierarchy and restructuring checks. Period information is drawn from PA_PERIODS and GL_PERIOD_STATUSES, with PA_IMPLEMENTATIONS supplying the PA/GL implementation option. Column and detail definitions come from PA_ACCUM_COLUMNS and PA_RESOURCE_ACCUM_DETAILS, while accumulated amounts reside in PA_PROJECT_ACCUM_ACTUALS, PA_PROJECT_ACCUM_BUDGETS, PA_PROJECT_ACCUM_COMMITMENTS, and PA_TXN_ACCUM. Project and project-type attributes are read from PA_PROJECTS and PA_PROJECT_TYPES, and DUAL is used for scalar evaluations. Together these tables support header lookup, period resolution, and validation without exposing direct SQL to callers.

Usage Notes

PA_ACCUM_UTILS is invoked internally by Oracle Projects accumulation and summarization processes, including concurrent programs that generate project accumulation data, and by other PA packages that require header identification or period information. Because UPDATE_PROJ_ACCUM_HEADER and the other routines are not released as a formal public API, they should generally be called only by seeded Oracle code or tightly coupled custom extensions that require project accumulation header maintenance. Custom code should avoid direct DML against PA_PROJECT_ACCUM_HEADERS and instead rely on this package, preserving the invariant project-level header (task, resource list, resource, and resource list member all zero). The PA_DEBUG_MODE profile option controls diagnostic output via pa_debug.debug. The package behaves identically on EBS 12.1.1 and 12.2.2, as it belongs to the Project Costing (PA) product family and is unaffected by the Online Patching editioning changes.