Search Results get_nonrev_other_net
Overview
APPS.HR_HEAD_COUNT_SUMMARY is an Oracle E-Business Suite PL/SQL package that belongs to the Oracle Human Resources (PER) product family. Its principal business purpose is to compute and expose head count statistics for reporting and analytical consumption. The package is declared with AUTHID CURRENT_USER, meaning its SQL statements execute under the privileges of the invoker rather than the definer, a convention typical of reporting-oriented utilities that must respect the calling session's access to HR data.
Head count is a fundamental HR metric covering the number of active employees, the number of newly hired employees, terminations, and the net movement between reporting periods. Oracle HRMS distinguishes between revenue and non-revenue worker categories when producing organisational statistics, and this package mirrors that distinction throughout. Its design therefore supports the classic head count reconciliation identity: opening balance plus hires minus terminations plus other net adjustments equals closing balance. This arithmetic relationship is the reason a search such as "30,000 divided by 50,000" surfaces the object — the package supplies the numerator and denominator figures (for example closing versus opening strength, or hires versus average head count) that downstream calculations derive from. In Oracle EBS 12.1.1 and 12.2.2 the package remains file-versioned as perhdsum.pkh, reflecting its long-standing position in the PER schema.
Key Procedures and Functions
The package exposes a collection of scalar getter functions, each returning a NUMBER for a given organisation, together with a single driver procedure. All getters are declared with PRAGMA RESTRICT_REFERENCES flags WNDS and WNPS, confirming they are read-only, side-effect-free functions suitable for use inside SQL statements.
- GET_REV_START_VAL / GET_NONREV_START_VAL — return the opening (period start) head count for revenue and non-revenue workers respectively.
- GET_REV_END_VAL / GET_NONREV_END_VAL — return the closing (period end) head count.
- GET_REV_NH / GET_NONREV_NH — return the number of new hires in the period.
- GET_REV_TERM / GET_NONREV_TERM — return the number of terminations in the period.
- GET_REV_NET_CHANGE / GET_NONREV_NET_CHANGE — return the net change between start and end values.
- GET_REV_OTHER_NET / GET_NONREV_OTHER_NET — return other net movements not classified as hires or terminations.
- POPULATE_SUMMARY_TABLE — the only procedure, responsible for computing the full set of statistics and materialising them into the package's summary structure for subsequent retrieval.
The package also defines a record type HQOrgTableType, a collection type HQOrgTable indexed by BINARY_INTEGER, and a package-level variable HQOrgData used to cache results across calls within a session.
Tables Accessed
The package references the following tables through APPS synonyms:
- PER_ALL_ASSIGNMENTS_F — the primary assignment fact table, supplying assignment dates and status used to derive start, end, hire, and termination counts.
- PER_ASSIGNMENT_STATUS_TYPES — classifies assignment statuses so that active, terminated, and other movement categories can be separated.
- PER_PERIODS_OF_SERVICE / PER_PERIODS_OF_PLACEMENT — provide the service and placement date ranges that determine period boundaries.
- PER_ORG_STRUCTURE_ELEMENTS / PER_ORG_STRUCTURE_VERSIONS — define organisational hierarchy membership and versioning, enabling aggregation by organisation.
- FF_FORMULAS_F — the FastFormula repository, referenced for any formula-driven classification of workers.
- DUAL — used for single-row scalar evaluation.
Usage Notes
HR_HEAD_COUNT_SUMMARY is a server-side utility typically invoked by concurrent programs and by other PL/SQL packages; the ETRM metadata records it as referenced by one other package, confirming its role as a shared building block. It does not present its own user interface. Custom code should call POPULATE_SUMMARY_TABLE first to populate the HQOrgData collection, then retrieve individual figures through the getter functions rather than re-querying the base HR tables. In Oracle EBS 12.1.1 and 12.2.2 the object resides in the APPS schema and carries an API classification of OTHER, indicating it is not a supported public interface; direct dependency in custom extensions should be carefully controlled across patching and upgrades.