Results for “pa_budget_versions_pkg”

30 results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

PA_BUDGET_VERSIONS_PKG is a PL/SQL package in the APPS schema that provides the core data-maintenance layer for budget version records within Oracle Projects. A budget version represents a named, independently maintained set of budget amounts for a project, and it is the container against which budgetary controls, baseline comparisons, and forecast generation operate. In Oracle EBS 12.1.1 and 12.2.2, this package encapsulates the low-level DML operations required to create, modify, lock, and remove rows in the budget version tables, isolating the calling application code from the physical table structure and enabling consistent handling of Multi-Org and translated columns. It is classified in the ETRM repository as an OTHER API, meaning it is a package of general utility rather than a formal public business API with a published parameter interface. Its principal role is to serve as the persistence layer for the budget version entity so that higher-level components—most notably forecast generation—can rely on standardized insert, update, delete, and locking behavior.

Key Procedures and Functions

The package exposes four documented procedures, each addressing a single aspect of row maintenance against the budget version entity:

  • INSERT_ROW — Creates a new budget version row. It is responsible for populating the entity's attributes and for maintaining the associated translation or sequence records required when a new version is introduced.
  • LOCK_ROW — Acquires a row-level lock on a specified budget version record. It is used to serialize concurrent modifications so that two sessions cannot simultaneously update the same version, preserving data integrity during budget edits.
  • UPDATE_ROW — Modifies the attributes of an existing budget version. It applies changed column values to the stored record and propagates corresponding changes to dependent translation rows where applicable.
  • DELETE_ROW — Removes a budget version record and its associated dependent rows. It provides the controlled deletion path used when a version is no longer required.

Parameter lists are not reproduced here, as the documented ETRM metadata does not publish them; consumers should obtain signatures from the package specification in the target instance.

Tables Accessed

The package operates against two documented tables, accessed through APPS synonyms:

  • PA_BUDGET_VERSIONS — The base table holding the budget version header records, including the version name, project association, and status attributes. This is the primary target of INSERT_ROW, UPDATE_ROW, DELETE_ROW, and LOCK_ROW.
  • PA_BUDGET_VERSIONS_S — The translated or "_S" companion table, which stores language-dependent descriptive columns for the version. This table must be kept synchronized with the base table, which is why the insert, update, and delete routines maintain both structures in a single logical operation.

No other tables are documented as direct references of this package.

Usage Notes

PA_BUDGET_VERSIONS_PKG is not a user-facing API. It is invoked from Oracle Projects forms and internal processing logic that manage budget versions, and it is referenced by at least one other package, PA_GENERATE_FORECAST_PUB. That dependency is significant: the forecast generation process reads and, in some flows, creates or updates budget version data, and it therefore delegates row-level persistence to this package rather than issuing direct DML. Custom code should generally avoid calling these routines directly, since they bypass the validation and business-rule enforcement performed by the standard Projects budget APIs; instead, customizations should use the supported budget APIs and treat PA_BUDGET_VERSIONS_PKG as an internal implementation detail. When troubleshooting, note that concurrency issues on budget version records typically surface through LOCK_ROW, and inconsistencies between PA_BUDGET_VERSIONS and PA_BUDGET_VERSIONS_S generally indicate that a routine was executed outside the package's normal synchronized path.