Search Results create_accum_budgets
Overview
PA_MAINT_PROJECT_BUDGETS is an Oracle Projects PL/SQL package owned by the APPS schema and declared with AUTHID CURRENT_USER. It is the maintenance engine responsible for accumulating, aggregating, and refreshing budget amounts for projects, tasks, and resources within Oracle E-Business Suite Projects. The package reads unaccumulated and total budget data from the PA_BUDGET_BY_PA_PERIOD_V and PA_BUDGET_BY_RESOURCE_V views (which union the base and original budget views) and writes the derived results into the PA_PROJECT_ACCUM_BUDGETS and PA_PROJECT_ACCUM_HEADERS tables.
Its primary purpose is to populate the accumulated budget tables used by budget inquiry, reporting, and cost/schedule integration. The package handles both base and original budget versions, and computes amounts across multiple time bases — inception-to-date (ITD), period-to-date (PTD), prior period (PP), and year-to-date (YTD) — for burdened cost, raw cost, revenue, labor hours, and quantity. The package defines package-level variables for each of these combinations (for example V_Base_Burdened_Cost_itd and V_Orig_Quantity_ytd) to hold running values during processing. This design was introduced to improve budget-processing performance and reduce repeated lookups.
Key Procedures and Functions
The ETRM metadata documents thirteen procedures and functions within the package:
- PROCESS_BUDGET_TXNS — Reads PA_BUDGET_BY_PA_PERIOD_V and processes unaccumulated budgets at the period level.
- PROCESS_BUDGET_TOT — Reads PA_BUDGET_BY_RESOURCE_V and processes total budget amounts, including amounts for periods beyond the defined PA_PERIODS.
- CREATE_ACCUM_BUDGETS — Creates accumulated budget rows for budget lines.
- CREATE_ACCUM_BUDGETS_RES — Creates accumulated budget rows at the resource level.
- GET_ALL_HIGHER_TASKS_BUD — Retrieves budget values for all higher-level tasks in the task hierarchy.
- ADD_PROJECT_AMOUNTS — Rolls up or adds budget amounts at the project level. This is the procedure most directly associated with the user's search term "add_project_amounts".
- ADD_TASK_AMOUNTS — Adds budget amounts at the task level.
- INITIALIZE_RES_LEVEL — Initializes the package variables used in resource-level aggregation.
- INITIALIZE_TASK_LEVEL — Initializes the variables used in task-level aggregation.
- INITIALIZE_PROJECT_LEVEL — Initializes the variables used in project-level aggregation.
- PROCESS_ALL_BUDS — Drives processing across all budget versions or records.
- PROCESS_BUD_CODE — Processes budgets for a specific budget code.
- PROCESS_ALL_TASKS — Iterates and processes all tasks associated with the budget being maintained.
Tables Accessed
The package reads and writes the following tables through APPS synonyms:
- PA_TASKS — Provides the task hierarchy and structure used to roll up task-level amounts.
- PA_BUDGET_VERSIONS — Supplies budget version definitions and baseline information.
- PA_PROJECT_ACCUM_BUDGETS — The principal target table; receives accumulated budget amounts at project, task, and resource levels.
- PA_PROJECT_ACCUM_HEADERS and PA_PROJECT_ACCUM_HEADERS_S — Store the header records for accumulated budget sets.
- PA_RESOURCES — Defines resources against which budget quantities and amounts are maintained.
- PA_RESOURCE_LIST_ASSIGNMENTS — Maps resources to resource lists used during resource-level accumulation.
Usage Notes
PA_MAINT_PROJECT_BUDGETS is not intended as a public API and is classified by ETRM as OTHER. It is invoked internally by Oracle Projects during budget maintenance — for example, when budget versions are baselined or when accumulated budget data is refreshed. The metadata notes that the package is referenced by one other package, confirming its role as a dependent, internal component rather than an entry point. Custom code should avoid calling the individual procedures directly because their logic depends on package-level state and initialization order; the documented design relies on INITIALIZE_* procedures being executed before the corresponding ADD_* or PROCESS_* operations. The header comment indicates a standing performance effort, with additional procedures and variables added over time, and the package uses AUTHID CURRENT_USER, so it executes with the privileges of the calling schema. Budget accumulations are typically scheduled or triggered in conjunction with budget generation and update flows, and the resulting PA_PROJECT_ACCUM_BUDGETS data is consumed by budget inquiry, reporting, and project cost/schedule integration.
-
PACKAGE: APPS.PA_MAINT_PROJECT_BUDGETS
12.1.1
-
PACKAGE: APPS.PA_MAINT_PROJECT_BUDGETS
12.2.2
-
APPS.PA_MAINT_PROJECT_BUDGETS dependencies on PA_TASKS
12.2.2
-
APPS.PA_MAINT_PROJECT_BUDGETS dependencies on PA_TASKS
12.1.1
-
PACKAGE BODY: APPS.PA_MAINT_PROJECT_BUDGETS
12.1.1
-
PACKAGE BODY: APPS.PA_MAINT_PROJECT_BUDGETS
12.2.2
-
APPS.PA_MAINT_PROJECT_BUDGETS dependencies on PA_PROJECT_ACCUM_BUDGETS
12.2.2
-
APPS.PA_MAINT_PROJECT_BUDGETS dependencies on PA_PROJECT_ACCUM_BUDGETS
12.1.1