Search Results get_position_name




Overview

The APPS.HRI_BPL_WRKFC_EVT package body is a workforce event utility package within the Oracle E-Business Suite Human Resources (HR) module. Its header file reference (hribwevt.pkb 120.0.12000000.2) indicates it is a release 12.0-era object delivered in the 12.1.1 and 12.2.2 code lines. The package encapsulates reusable business logic associated with workforce events — most notably the determination of whether a change to an employee's assignment constitutes a promotion. Rather than embedding promotion rules directly in forms or concurrent programs, Oracle stores the logic in this package so that promotion criteria can be expressed through Oracle FastFormula and evaluated consistently across the application.

The package is classified as OTHER in the ETRM metadata, meaning it is not a public, supported API. It is an internal helper package intended for use by other Oracle HR components and, where necessary, by carefully written custom extensions.

Key Procedures and Functions

The documented procedures and functions in the ETRM metadata for this package total one: GET_PROMOTION_IND. This is the key entry point of the package.

  • GET_PROMOTION_IND — Determines whether a proposed assignment change should be treated as a promotion. The function evaluates the old and new job, position, and grade attributes for an assignment against a business-group-level formula named PROMOTION of type Promotion, retrieved through HRY_BPL_FAST_FORMULA_UTIL.FETCH_BG_FORMULA_ID. If the HR formula exists, it is executed to derive the promotion indicator; the function returns a numeric result to the caller. This design allows customers to configure promotion rules externally without modifying the package.

In addition to the documented entry point, the package body contains several internal helper functions — GET_JOB_NAME, GET_POSITION_NAME, and GET_GRADE_NAME — that return the descriptive name for a given job, position, or grade identifier. These are utility lookups used in support of the workforce event logic; they are not listed in the ETRM procedure inventory. GET_JOB_NAME in particular resolves the NAME from PER_JOBS for the supplied JOB_ID and returns the literal value 'Unassigned' if the lookup fails.

Tables Accessed

The package reads from the following application tables through APPS synonyms:

  • PER_JOBS — source of the job name for a given JOB_ID; used by GET_JOB_NAME.
  • PER_ALL_POSITIONS — source of the position name for a given POSITION_ID; used by GET_POSITION_NAME.
  • PER_GRADES — source of the grade name for a given GRADE_ID; used by GET_GRADE_NAME.
  • PLITBLM — an HR internal table referenced by the package, typically used for temporary storage or formula-related lookups.

No inserts, updates, or deletes to these tables are documented; the package performs read-only lookups that support its decision logic.

Usage Notes

Because the package is classified as OTHER and is not published as an API, it is normally invoked indirectly by Oracle HR forms, concurrent programs, or workflow processes that handle workforce event processing, such as assignment changes, promotions, and related business processes. Direct calls from custom code are possible but unsupported and may be affected by patches.

Supporting FastFormula is central to the package's behaviour: customers who need to change promotion logic should do so by maintaining the business-group-level PROMOTION formula rather than by altering this package. The formula is fetched and evaluated at runtime, and the returned indicator determines whether the event is classified as a promotion.

When troubleshooting, developers should note two quirks. First, the internal name lookup functions swallow all exceptions and return 'Unassigned' for any failure, so a missing job, position, or grade will not raise an error but will yield this literal string. Second, the package uses package-level globals (g_hri_promotion_formula_id, g_hr_promotion_formula_id) to cache formula identifiers across calls within a session, meaning the resolved formula may persist for the duration of the session.

The ETRM metadata records that this package is referenced by zero other packages, confirming its role as a leaf-level utility rather than a shared library.