Search Results icx_preferred_currency




Overview

APPS.HR_UTIL_MISC_SS is a server-side PL/SQL package belonging to the Oracle Human Resources (Oracle HRMS) product family in Oracle E-Business Suite. Its header declares AUTHID CURRENT_USER, indicating that it executes with the privileges of the invoker rather than the definer, which is significant for security group and row-level access enforcement. The package is classified under ETRM as OTHER, meaning it is not a formally published public API but is rather a shared-backend utility package used internally by HR self-service (SS) and related flows.

The package provides centralized utility logic for the Oracle HRMS self-service framework: initializing the logged-in person's context (effective date, business group, preferred currency, and rate type), maintaining interim "My List" person collections used by the SS talent and person-selection screens, caching entity identifiers, and performing access-control checks against functions, work structures, and termination processing. The global variables g_eff_date, g_year_start, g_loginPrsnBGId, g_loginPrsnCurrencyCode, and g_rate_type are populated during context initialization and reused across the self-service session. The g_loginPrsnCurrencyCode global is the internal repository that carries the user's preferred currency, the familiar ICX preference icx_preferred_currency, from initialization into downstream SSPages and business logic.

Key Procedures and Functions

  • initLoginPrsnCtx — Initializes the logged-in person's context for the supplied effective date, setting the package globals (business group, preferred currency code, rate type, year start).
  • populateInterimPersonList — Loads an interim person list structure into the package cache.
  • populateInterimListFromMyList — Seeds the interim list from a given person's "My List" entries.
  • addToMyListFromInterimList — Persists interim-list entries into the user's My List.
  • setEffectiveDate — Sets the effective date used by subsequent operations.
  • clear_cache — Clears cached entity/global state; typically called on context change.
  • populate_entity_list — Populates the entity ID cache from a number table, with an option to retain existing cache content.
  • entity_exists — Returns whether a given entity ID exists in the cached entity list.
  • validate_selected_function — Validates whether a function may be invoked for a person, object, instance, and user at a given effective date.
  • check_cwk_access, check_term_access, check_primary_access — Perform access checks for contingent worker, termination, and primary assignment scenarios.
  • check_akregion_code — Validates an AK region code reference.
  • check_ota_installed — Reports whether Oracle Training Administration is installed.
  • is_primary_assign, is_voluntary_termination, is_employee_check, get_apl_asgs_count, get_assign_termination_date — Utility predicates and lookups used by SS flows.
  • getObjectName — Resolves a display name for an object, object ID, business group, and value.

Tables Accessed

The package reads and writes HR and FND data through APPS synonyms. From PER_ALL_PEOPLE_F it derives person attributes such as assignment, termination, and primary status. HR_API_TRANSACTIONS and HR_API_TRANSACTION_STEPS support transactional context. Work structure labels come from HR_ALL_ORGANIZATION_UNITS_TL and HR_ALL_POSITIONS_F_TL, while attachment and document handling uses FND_ATTACHED_DOCUMENTS, FND_DOCUMENTS, and FND_DOCUMENTS_TL. Security and menu validation rely on FND_FORM_FUNCTIONS, FND_MENUS, FND_MENU_ENTRIES, FND_SECURITY_GROUPS, and FND_USER. FND_DESCR_FLEX_CONTEXTS supports descriptive flexfield context resolution, and WF_ITEMS links to Oracle Workflow approval items.

Usage Notes

HR_UTIL_MISC_SS is invoked indirectly through HR self-service pages (SSPages) and is referenced by 14 other packages, making it a shared backend utility rather than a form-level trigger target. It is not intended to be called directly by custom extensions, though some legacy customizations do reference getObjectName and the access-check functions. The package carries no automatic transactional commit semantics for most operations; callers manage transaction boundaries. Because it uses invoker's rights, security group visibility constraints are enforced against the calling session. The preferred currency cached in g_loginPrsnCurrencyCode is sourced from the user's ICX preference and is refreshed only through initLoginPrsnCtx; calling code must re-initialize the context after a preference change to avoid stale currency values.