Results for “approved_cost”
8 results
AI-generated from documented ETRM metadata — verify critical details on the linked pages.
Overview
The APPS.PA_BUDGET_VERSIONS_PKG package body is a core PL/SQL component of the Oracle Projects (PA) module in Oracle E-Business Suite 12.1.1 and 12.2.2. It encapsulates the data manipulation logic for budget versions, which are the discrete, versionable records that underpin project budgeting. Every project may have multiple budget versions representing draft, submitted, baseline, or historical budget states, and this package provides the programmatic interface through which those records are inserted, locked, modified, and removed. By centralizing this logic at the database tier, the package ensures that direct table manipulation, which would bypass validation and audit rules, is avoided in favour of a controlled API layer. The object is documented in ETRM with an API classification of OTHER and a status of VALID, confirming its continued availability in supported releases. The presence of the companion table PA_BUDGET_VERSIONS_S among its dependencies reflects the standard Oracle EBS pattern of pairing a base table with a sequence table that supplies unique surrogate keys.
Key Procedures and Functions
The package body exposes four documented procedures. No parameter lists are documented, and none should be assumed; the descriptions below reflect purpose only, derived from the naming conventions and dependency metadata.
- INSERT_ROW — Creates a new budget version record in the base table. It is the entry point for establishing a version, and its dependency on PA_BUDGET_VERSIONS_S indicates that it obtains the primary key value from the sequence table before populating the base row.
- LOCK_ROW — Acquires a row-level lock on an existing budget version, typically by selecting the row with the FOR UPDATE clause. This serializes concurrent modification attempts, preventing two sessions from updating the same version simultaneously.
- UPDATE_ROW — Modifies the attributes of an existing budget version under an exclusive lock. It is the standard mechanism for progressing a version's state or amending its descriptive details.
- DELETE_ROW — Removes a budget version record from the base table, subject to whatever referential and status constraints the surrounding application logic enforces.
Tables Accessed
The dependency metadata identifies PA_BUDGET_VERSIONS and PA_BUDGET_VERSIONS_S as the tables referenced by this package, both accessed through APPS synonyms. The base table PA_BUDGET_VERSIONS stores the principal budget version data and is the target of the INSERT, UPDATE, and DELETE operations described above. The sequence table PA_BUDGET_VERSIONS_S supplies the unique identifiers required during row creation, ensuring that each budget version carries a system-generated primary key consistent with Oracle EBS design standards. Additional dependencies include the PA_CURRENCY package, invoked to resolve currency attributes associated with a version, and FND_MESSAGE, used to retrieve and raise user-facing error messages from the Oracle Application Object Library message dictionary. APP_EXCEPTION provides error handling, while STANDARD and DUAL supply baseline PL/SQL and SQL functionality.
Usage Notes
Custom code, forms, and concurrent programs should invoke PA_BUDGET_VERSIONS_PKG rather than issuing direct DML against PA_BUDGET_VERSIONS, thereby preserving the validation and locking semantics built into the API. The presence of the distinct LOCK_ROW and UPDATE_ROW procedures implies a two-step concurrency pattern: a session locks a version before updating it. The ETRM metadata states that this package is not referenced by any database object, meaning it sits at the top of the dependency chain, while it is itself referenced by one other package, confirming that it serves as a building block for higher-level Projects budget processing. When troubleshooting budget version behaviour, the PA_BUDGET_VERSIONS table itself is the authoritative location for inspecting the records manipulated by these procedures.