Results for “per_refresh_position”

37 results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

PER_REFRESH_POSITION is an Oracle E-Business Suite PL/SQL package owned by the APPS schema that provides the programmatic interface for refreshing position data within Oracle Human Resources (Oracle HRMS). Its central business function is to regenerate and synchronize the derived, date-tracked attributes of positions held in the HR position model so that position records remain consistent with the underlying date-effective data on which they depend. Positions in Oracle HRMS are date-tracked entities, and their effective-dated attributes must be re-derived whenever related definitions, hierarchies, or reference data change. The package exists to perform this re-derivation in a controlled, API-driven manner rather than through direct table manipulation.

The package header is declared with AUTHID CURRENT_USER, meaning its procedures execute with the privileges of the invoking user rather than the defining owner, which matters for security and for how the package behaves when called from different execution contexts. The header carries a version identifier reflecting its maintenance lineage, indicating that the package has been a stable component of the HR position infrastructure across releases. It also declares a package-level boolean variable, refreshing_position, which is used internally as a re-entrancy or state guard while a refresh is in progress.

Key Procedures and Functions

The package exposes three procedures and one function, together forming a tiered refresh interface:

  • REFRESH_ALL_POSITION — The bulk, concurrent-program-oriented entry point. It accepts the standard concurrent manager errbuf and retcode OUT parameters together with a refresh date that defaults to the current system date. It is designed to refresh the entire population of positions in a single run.
  • REFRESH_POSITION — The principal single- or scoped-position refresh interface. It accepts a refresh date, an optional position identifier defaulting to null, an effective date, a full-HR indicator defaulting to 'Y', a position object version number passed IN OUT, and the standard errbuf/retcode pair. The object version number parameter supports optimistic locking, allowing the caller to detect concurrent modification.
  • REFRESH_SINGLE_POSITION — A leaner variant that refreshes one identified position for a given refresh date and effective date, carrying the object version number IN OUT but omitting the full-HR and error-buffer parameters. It is suited to direct programmatic invocation where a single position must be re-derived.
  • GET_POSITION_OVN — A function returning the current object version number for a position. It supports callers that must obtain the correct OVN before invoking a refresh, thereby satisfying the IN OUT locking parameter.

Tables Accessed

The package operates against the core position entities exposed through APPS synonyms. HR_ALL_POSITIONS_F is the date-tracked (effective-dated) intersection table holding the versioned attributes of each position, and it is the primary target of the refresh logic. PER_ALL_POSITIONS is the associated non-date-tracked position entity that holds the position-level record against which the dated rows are maintained. The refresh procedures read the authoritative position data and write back the re-derived values, ensuring the dated rows reflect the current state of the position definition.

Usage Notes

PER_REFRESH_POSITION is typically invoked in three contexts. First, as a concurrent program, where REFRESH_ALL_POSITION is run to perform a bulk refresh of all positions, commonly scheduled after major HRMS setup or data-load activities. Second, from Oracle HRMS forms and related application logic, which call REFRESH_POSITION or REFRESH_SINGLE_POSITION to refresh an individual position when its defining data changes. Third, from custom PL/SQL code, where developers should call these APIs rather than updating position tables directly. Because the package is referenced by three other packages, changes to its behavior can propagate through dependent HRMS components. Callers performing single-position refreshes should first obtain the correct object version number, either from the calling form or via GET_POSITION_OVN, and pass it through the IN OUT parameter to preserve optimistic locking integrity.