Search Results get_actuals




Overview

HRGETACT is a PL/SQL package owned by the APPS schema that supports the Oracle Human Resources (formerly Oracle*Personnel) budgeting and headcount functionality. Based on the package header comments, its stated purpose is to "calculate assignment budget values," and it is described as calculating head count when called from the personnel screen PERBUDBU. The package is classified in the ETRM metadata as an OTHER API, indicating that it is not a public, externally supported interface but rather an internal utility invoked by product code, most notably the Assignment Budget Values window of the HR forms.

The package header, sourced from pegetact.pkh version 115.2 (dated 12-OCT-1999), declares a single public program unit, GET_ACTUALS. The package is compiled with AUTHID CURRENT_USER. Version history comments record several refinements over the life of the package: it was created in May 1993, a parameter (p_variance_percent) was converted to VARCHAR2 later that month to accommodate percentage values that made the underlying numeric type overflow, and in September 1998 a PRAGMA RESTRICT_REFERENCES declaration was added so the routine could be called from other PL/SQL functions. A later fix (Bug 1027169, October 1999) removed that pragma restriction from get_actuals.

Key Procedures and Functions

The ETRM metadata documents exactly one program unit in this package:

  • GET_ACTUALS — The sole documented procedure. Its purpose is to calculate the actual budget values for an assignment and to return both opening and closing actual figures together with the associated variance. The signature accepts a unit indicator, a business group identifier, and the organizational dimensions (organization, job, position, grade) over which the budget is measured, bounded by a start and end date and an actual value input. It returns the actual value at the start of the period, the actual value at the end of the period, the variance amount, and the variance expressed as a percentage. The percent parameter is defined as VARCHAR2, consistent with the historical fix noted in the package header to avoid numeric overflow with large percentage values.

No other procedures or functions are exposed in the package specification.

Tables Accessed

The metadata records three base tables accessed through APPS synonyms:

  • PER_ALL_ASSIGNMENTS_F — The core assignment datastore. The procedure reads assignment records to determine which assignments fall within the specified business group and organizational dimensions, and to identify the assignment status and effective dates relevant to headcount calculations.
  • PER_ASSIGNMENT_BUDGET_VALUES_F — Stores the budgeted values attached to assignments. This is the primary source of the budget figures against which actual values are compared to derive the variance amount and variance percentage.
  • PER_ASSIGNMENT_STATUS_TYPES — Provides the definition of assignment statuses so that the procedure can filter to the appropriate active or budgetable assignments when computing head count.

Usage Notes

HRGETACT is an internal HR utility rather than a public API. Its documented caller is the personnel form PERBUDBU, where it supplies the calculated actual, start, end, and variance figures displayed on the Assignment Budget Values screen as the user navigates assignments. Because the API classification is OTHER, developers should treat the package as unsupported for direct custom invocation; Oracle does not guarantee its signature across releases.

Custom code that must reproduce assignment budget calculations should reference supported HR APIs or the underlying base tables directly rather than calling HRGETACT. The recorded dependency on two other packages confirms that HRGETACT sits within a layered call stack rather than at the boundary of the application. If it is invoked from custom PL/SQL, callers must supply a valid business group, organization, job, position, and grade context, plus an effective date range, and must handle the returned variance percentage as a character value rather than a number. Note also that the package executes under AUTHID CURRENT_USER, so the invoking schema must have the necessary privileges on the underlying PER tables.