Results for “budg_control_enabled”
18 results
AI-generated from documented ETRM metadata — verify critical details on the linked pages.
Overview
APPS.PA_BUDGETARY_CONTROLS_PKG is the Oracle Projects PL/SQL package responsible for creating and maintaining budgetary control definitions in Oracle E-Business Suite. Budgetary controls determine which combinations of project, task, resource list, resource member, and budget type are subject to funds checking, as well as the funds control level applied to each combination. The package body operates against the PA_BUDGETARY_CONTROLS table as its primary datastore and provides the seeding and validation logic that underpins funds control enforcement throughout the Projects suite. In Oracle EBS 12.1.1 and 12.2.2 the package remains classified as an OTHER API rather than a fully public interface, meaning it is intended primarily for internal callers within Oracle Projects and for controlled extension by customers.
Key Procedures and Functions
The package body exposes seven documented program units:
- INSERT_ROWS — Inserts a single budgetary control record into PA_BUDGETARY_CONTROLS for a given project, budget type, funds control level, top task, task, parent member, and resource list member. The procedure is declared with PRAGMA AUTONOMOUS_TRANSACTION (introduced under Bug 5162775) so that control records can be committed independently of the caller's transaction.
- CREATE_BC_LEVELS — The procedure associated with the user's search term. It generates the hierarchy of budgetary control level records for a project and budget type, orchestrating calls to INSERT_ROWS to populate PA_BUDGETARY_CONTROLS for the project, task, resource group, and resource levels.
- BUD_CTRL_CREATE — Performs the higher-level setup of budgetary controls for a project/budget type combination, invoking CREATE_BC_LEVELS and related logic to establish the full control structure.
- BUDG_CONTROL_RESET — Resets existing budgetary control definitions, allowing the control hierarchy to be regenerated when project structure, resource lists, or budget options change.
- BUDGET_CTRL_EXISTS — A validation function that determines whether budgetary controls already exist for the given project and budget type, used to avoid duplicate creation.
- BUDG_CONTROL_ENABLED — Indicates whether budgetary control is currently enabled for the relevant project, budget type, or control level.
- GET_BUDGET_STATUS — Returns the current budgetary control status of a project or budget version, supporting downstream funds checking and reporting.
Tables Accessed
The package reads and writes PA_BUDGETARY_CONTROLS, the primary table storing control level definitions, with the sequence PA_BUDGETARY_CONTROLS_S supplying the BUDGETARY_CONTROLS_ID. It reads PA_BUDGET_TYPES and PA_BUDGET_VERSIONS to resolve budget type and version context, PA_BUDGET_ENTRY_METHODS and PA_BUDGETARY_CONTROL_OPTIONS to determine how controls are configured, and PA_PROJECTS_ALL and PA_TASKS to establish the project and task hierarchy. PA_RESOURCE_LISTS_ALL_BG and PA_RESOURCE_LIST_MEMBERS are queried to enumerate resource groups and members to be controlled, while DUAL supports simple lookups and sequencing.
Usage Notes
In standard EBS operation, PA_BUDGETARY_CONTROLS_PKG is invoked indirectly when budgetary controls are enabled against a project or budget type through Oracle Projects forms, and by concurrent programs that initialize or regenerate control data. Because INSERT_ROWS runs in an autonomous transaction, callers see control rows committed immediately, independent of surrounding business logic. The package is also referenced by seven other PL/SQL packages, so custom code should treat it as an internal API: invoke BUD_CTRL_CREATE or CREATE_BC_LEVELS only when a full regeneration is required, respect the EXISTS and ENABLED checks before creating or resetting controls, and avoid direct DML on PA_BUDGETARY_CONTROLS to preserve consistency with the API's commit semantics.