Search Results pa_budget_integration_pkg




Overview

APPS.PA_BUDGET_INTEGRATION_PKG is a PL/SQL table-handler package within the Oracle Projects (PA) module of Oracle E-Business Suite. Its stated purpose, per the source header, is to provide Table Handler APIs that Insert, Update, Delete, and Lock records in the budgetary control configuration tables through the SQL Form interface. In practice, the package functions as the server-side data-access layer beneath the Oracle Projects Budgetary Control Options form, encapsulating the DML logic required to persist budgetary control setup records for a project, project type, and budget type combination.

The package header carries the revision marker $Header: PABDINTS.pls 120.1 2005/08/08 14:49:27 pbandla noship $, indicating an origin dating to the 11i era that has been carried forward unchanged into the 12.1.1 and 12.2.2 code lines. Its API classification in ETRM is listed as OTHER, reflecting that it is an internal, form-support package rather than a public, externally supported integration API.

Key Procedures and Functions

ETRM documents four procedures in the package. Each is described below strictly at the level of purpose, without asserting parameter signatures beyond those exposed in the source excerpt.

  • INSERT_ROW — Inserts a new budgetary control options record into the PA_BUDGETARY_CONTROL_OPTIONS table. The documented signature carries a ROWID output parameter together with attributes covering project type, project ID, balance type, budget type code, external budget code, GL budget version, encumbrance type, the budgetary control flag, funding/control levels for project, task, resource group, and resource, amount type, boundary code, project type organization, and the standard WHO columns (creation and last-update audit fields). The source comment associates the calling mode parameter values SUBMIT and GENERATE_ACCOUNT with this procedure.
  • UPDATE_ROW — Updates an existing record in PA_BUDGETARY_CONTROL_OPTIONS. As with INSERT_ROW, the header comment references the calling mode values SUBMIT and GENERATE_ACCOUNT, indicating the procedure participates in both the standard submission flow and an account-generation flow.
  • DELETE_ROW — Removes a budgetary control options record from PA_BUDGETARY_CONTROL_OPTIONS.
  • LOCK_ROW — Acquires a row-level lock on the target budgetary control options record, providing the concurrency control required by the Oracle Forms block-handler model so that a user editing the record holds it exclusively for the duration of the transaction.

Tables Accessed

The sole documented table is PA_BUDGETARY_CONTROL_OPTIONS, referenced through its APPS synonym. This table stores the budgetary control configuration that determines whether and at what level budgets are controlled for a given project, project type, and budget type. The INSERT_ROW, UPDATE_ROW, and DELETE_ROW procedures write to it, while LOCK_ROW selects the target row in exclusive mode. The package does not, per the documented metadata, reference any other application tables, and Oracle records zero dependent packages that call into it, confirming its role as a leaf-level form support package.

Usage Notes

PA_BUDGET_INTEGRATION_PKG is invoked indirectly rather than directly by end users. Its principal consumer is the Oracle Projects Budgetary Control Options maintenance form, which binds its block-level INSERT, UPDATE, DELETE, and LOCK triggers to these procedures, passing the form's item values and receiving the generated ROWID back. Because the procedures are not registered as concurrent program entry points and are referenced by no other PL/SQL package, direct invocation from custom code is unusual.

The documented P_Calling_Mode parameter accepts the values SUBMIT and GENERATE_ACCOUNT, indicating that the same handlers serve both the interactive save path and an account-generation path within budgetary control processing. Developers extending budgetary control setup must respect that this is an unsupported internal package: the 120.1 header version and the absence of any documented public API contract mean the signature may change without notice across patches. Where custom DML against PA_BUDGETARY_CONTROL_OPTIONS is contemplated, the supported alternative is to use the standard Oracle Projects budgetary control setup forms or the documented public Projects APIs, rather than calling these handlers directly. The package itself performs no business validation beyond table persistence and locking; validation logic resides in the form and in the calling budgetary control processes.