Search Results validate_budget




Overview

APPS.GL_BUDGET_UTILS_PKG is a General Ledger budget utility package that centralizes the logic Oracle EBS applications use to identify, validate, and qualify budget versions and their associated controls. In Release 12.1.1 and 12.2.2, budgets are defined at the ledger level and classified according to their role in the budgeting process — master budget, funding budget, or a combination of both — while additional constraints are imposed through budget organizations, budget entities, frozen ranges, and period ranges. Rather than embedding this logic in individual forms, concurrent programs, or dependent APIs, EBS routes those checks through this single package so that classification and validation rules remain consistent across the application.

The source header identifies the package as a container for "various budget utilities," first created in 1993 and last carried forward under version 120.7. Under the ETRM classification it is registered as an OTHER API rather than a public open interface, which reflects its role as an internal utility layer invoked by other EBS code rather than a documented entry point for external integration.

Key Procedures and Functions

Ten procedures and functions are documented for this package. The central resolver is GET_CURRENT_BUDGET, which returns the identity and name of the current budget for a ledger along with an indication of whether budget journals are required to maintain it. IS_MASTER_BUDGET and IS_FUNDING_BUDGET are boolean predicate functions that report whether a given budget version serves as the master budget or as a funding budget; callers use these results to determine which budgeting controls and posting rules apply.

  • FROZEN_BUDGET — determines whether an entire budget is subject to a frozen range that prohibits modification.
  • FROZEN_BUDGET_ENTITY — performs the frozen check at the budget entity level, allowing enforcement to be scoped to a specific entity rather than the whole budget.
  • FROZEN_ACCOUNT — evaluates whether a particular accounting combination falls within a frozen range.
  • VALIDATE_BUDGET_ACCOUNT — validates that an account is permissible for budget entry given the budget definition and its organization assignments.
  • VALIDATE_BUDGET — validates the budget definition itself, confirming that referenced budget structures are properly established.
  • GET_UNIQUE_ID — generates a unique identifier used when inserting budget-related rows.
  • GET_OPYR_PER_RANGE — derives the open-year and period range applicable to a budget operation.

Tables Accessed

The package reads and writes through APPS synonyms across the core GL budgeting model. GL_BUDGETS, GL_BUDGET_VERSIONS, and GL_BUDGET_ASSIGNMENTS establish budget definitions and their linkage to ledgers, while GL_BUDGET_ASSIGNMENT_RANGES and GL_BUDGET_PERIOD_RANGES supply the account and period boundaries that apply. GL_BUDGET_ENTITIES, GL_ENTITY_BUDGETS, and GL_BUDORG_BC_OPTIONS support entity-level and budget organization control settings. Frozen-range enforcement relies on GL_BUDGET_FROZEN_RANGES and its _S sequence table. GL_CODE_COMBINATIONS and GL_LEDGERS provide account and ledger context, GL_PERIOD_STATUSES supports open-period determination, and GL_SUMMARY_BC_OPTIONS and GL_SUMMARY_TEMPLATES supply summary account and template configuration used during validation.

Usage Notes

GL_BUDGET_UTILS_PKG is invoked internally by four other EBS packages and is called from budget entry forms and concurrent programs during budget upload, journal entry, freeze maintenance, and validation. Custom code that needs to determine the current budget, test master or funding status, or verify whether an account is open for budget entry should call this package rather than querying the GL budget tables directly, because the package encapsulates the current classification and freeze rules. Because it is registered as an OTHER-class API, signature changes are not governed by the public API compatibility policy, and custom callers should verify procedure availability against the target release before depending on the package.