Search Results proj_refresh




Overview

PA_PROJ_ACCUM_MAIN is the core PL/SQL package body in the Oracle EBS Project Accounting (PA) module responsible for accumulating and summarizing project cost, commitment, and revenue transactions. It functions as the engine behind the Project Status Inquiry and project summary processes, aggregating transactional detail stored in distribution, draft revenue, and commitment tables into project-level accumulators. These accumulators support reporting, period-end close, and the maintenance of project summary balances used throughout the Projects suite. In the context of the search term "accum_cdls" — which typically resolves to the internal name for cost distribution line accumulation logic — this package orchestrates the roll-up of cost distribution lines into project accumulation headers. The package is registered in ETRM with an API classification of OTHER and is referenced by eighteen other packages, indicating it is a foundational utility invoked broadly across Project Accounting processing.

Key Procedures and Functions

The package exposes twelve documented procedures and functions:

  • INITIALIZE — Establishes package-level state such as run identifiers, status, and stage before accumulation begins.
  • INITIALIZE_PROJECT — Sets up project-specific context prior to processing an individual project.
  • PROJ_ACCUM — The primary driver that accumulates project transactions into summary structures.
  • PROJ_REFRESH — Refreshes project summary data, typically rebuilding accumulator balances.
  • REF_RL_ACCUM — Handles accumulation of reference or revenue-related transaction lines.
  • BUILD_TXN_ACCUM — Constructs the transaction-level accumulation records used by downstream summary logic.
  • LOCK_PROJ_LEVEL_HEADER_RECORD — Obtains a lock on the project-level accumulation header to serialize concurrent processing.
  • ACTION_EXISTS — Determines whether a pending accumulation action already exists for a project.
  • CHECK_PERIOD_FLAGS — Validates period and implementation flags before accumulation is permitted.
  • GET_CURR_END_DATE — Returns the current period end date used in accumulator calculations.
  • POPULATE_CMT_TMP_TABLE — Populates temporary commitment tables from commitment sources prior to accumulation.

Tables Accessed

Through APPS synonyms, the package reads and writes a range of Project Accounting tables. Cost-side processing draws from PA_COST_DISTRIBUTION_LINES_ALL and PA_ALLOC_TXN_DETAILS, which are the source of cost distribution line accumulation. Commitment processing uses PA_COMMITMENT_TXNS_TMP, PA_PJM_PO_COMMITMENTS_TMP, and PA_PJM_REQ_COMMITMENTS_TMP. Revenue accumulation references PA_DRAFT_REVENUES and PA_BUDGET_VERSIONS. Control and configuration data come from PA_IMPLEMENTATIONS and PA_PERIODS. The primary accumulation targets are PA_PROJECT_ACCUM_HEADERS and the working tables PA_PROJECTS_FOR_ACCUM, PA_PROJ_SUMM_TMP, and PA_PROJ_REFRESH_TMP. Operational tracking uses PA_ACCUM_TXN_TIME and PA_PROJECTS.

Usage Notes

PA_PROJ_ACCUM_MAIN is typically invoked indirectly rather than from end-user forms. It is called by concurrent programs and by the eighteen dependent packages that require project accumulation, particularly during period close and Project Status Inquiry refresh operations. The header locking procedure and lock-based serialization indicate that concurrent submissions must coordinate access to project-level accumulator records. Developers extending Project Accounting should call the package's public procedures instead of updating accumulation tables directly, preserving the locking and period-flag validation logic. Because the package body carries a 2008 file header, sites should verify the installed patch level matches their EBS 12.1.1 or 12.2.2 version before relying on specific behavior.