Search Results get_version_id




Overview

IGW_BUDGET_OPERATIONS is a server-side PL/SQL package owned by the APPS schema in Oracle E-Business Suite. It belongs to the Oracle Grants / Proposal Management product family (the IGW table and package prefix), and in the ETRM classification it is registered as an OTHER API rather than a fully controlled public interface. Its business purpose is to centralize the manipulation and recalculation of proposal budgets: copying a budget from one proposal or version to another, recalculating budget lines and personnel amounts against the applicable rate classes and rate types, and maintaining the session-level context (proposal, version, and starting period) that those operations depend on.

The package source header identifies it as igwbuops.pls, version 115.11, last shipped in November 2002, with the standard AUTHID CURRENT_USER declaration. That header date indicates the package body has remained stable across the 12.1.1 and 12.2.2 releases, and it is still catalogued in the 12.1.1 ETRM metadata with seven documented program units.

Key Procedures and Functions

The documented program units fall into three functional groupings.

  • COPY_BUDGET — Copies budget data from a source proposal to a target proposal for a specified version. It accepts parameters for the source and target proposal identifiers, the version, first-period handling, copy type, and budget type code, and returns the standard concurrent-style OUT parameters x_return_status, x_msg_data, and x_msg_count.
  • RECALCULATE_BUDGET — Recalculates budget amounts for a proposal and version, optionally scoped to a budget period identified by p_budget_period_id. The header shows an earlier overload was commented out and replaced by a consolidated version.
  • GET_VERSION_ID — Returns the version identifier currently held in the package global G_VERSION_ID.
  • GET_PROPOSAL_ID — Returns the proposal identifier currently held in the package global G_PROPOSAL_ID.
  • GET_PERIOD_ID — Returns the starting period identifier held in the package global G_START_PERIOD.
  • SET_GLOBAL_VARIABLES — Establishes the package-level context by assigning the starting period, proposal identifier, and version identifier to the globals.

GET_VERSION_ID, GET_PROPOSAL_ID, and GET_PERIOD_ID are each declared with PRAGMA RESTRICT_REFERENCES(..., WNDS, WNPS), confirming they perform no DML and write no package state, which makes them safe for use inside SQL statements and consistent-read logic.

Tables Accessed

The package operates across the core IGW budget schema through APPS synonyms. The principal tables are IGW_BUDGETS, IGW_BUDGET_DETAILS, IGW_BUDGET_PERIODS, IGW_BUDGET_PERSONS, and the personnel and detail variants (IGW_BUDGET_DETAILS_S, IGW_BUDGET_DETAILS_CAL_AMTS, IGW_BUDGET_PERSONNEL_DETAILS, IGW_BUDGET_PERSONNEL_S, IGW_BUDGET_PERSONNEL_CAL_AMTS). Rate and classification data come from IGW_EXP_TYPE_RATE_TYPES, IGW_PROP_RATES, and IGW_RATE_CLASSES. Proposal header information is read from IGW_PROPOSALS_ALL, and DUAL is used for trivial single-row evaluations. In summary, the package reads proposal and rate definitions and writes or recalculates the budget and personnel amount tables.

Usage Notes

IGW_BUDGET_OPERATIONS is an internal utility package rather than a published API. The ETRM record lists it as referenced by ten other packages, so its typical invocation path is indirect: Oracle Grants forms and concurrent programs that maintain proposal budgets call these procedures on the user's behalf. The pattern of SET_GLOBAL_VARIABLES followed by GET_VERSION_ID or GET_PROPOSAL_ID supports the caller's need to establish and interrogate a budget context before executing COPY_BUDGET or RECALCULATE_BUDGET. Custom extensions should treat the package as unsupported for direct call and instead rely on the documented public Grants APIs, since the OTHER classification and the presence of mutable package globals mean parameter contracts and commit behavior are not guaranteed across patches.