Search Results view_all




Overview

APPS.HR_SECURITY is the core PL/SQL package that implements Oracle E-Business Suite security profile enforcement for Human Resources and related Oracle iRecruitment functionality. Its principal business purpose is to determine, at runtime, which organizations, people, positions, payrolls, and assignment records a given database session is permitted to see. The package resolves the identity of the current session, establishes the applicable security profile, and constructs the SQL predicate fragments that restrict queries against HR and related tables accordingly.

The central concept is the security profile. In HR security, security profile 0 is the seeded "view all" profile — it grants unrestricted access to all HR records. The package exposes a dedicated function, VIEW_ALL, to evaluate whether a session is operating under that unrestricted profile. All other profiles restrict access via the lists maintained in the security profile setup tables (organizations, people, positions, and payrolls). The header comments note that the package historically stored context in client_info but now caches it as a package global variable, and that all functions must assert at least the WNPS level. The package is referenced by 1,475 other packages, confirming it as a foundational dependency across the HR schema.

Key Procedures and Functions

The ETRM metadata documents 24 procedures and functions. The most significant include:

Tables Accessed

The package reads and writes the following documented tables via APPS synonyms:

Usage Notes

HR_SECURITY is invoked implicitly by HR forms, concurrent programs, and virtually all HR report logic. Standard Oracle HRMS forms call the package during form initialization and after responsibility changes to establish the security context; GLOBALS_NEED_REFRESHING triggers re-resolution when the FND and HR globals diverge. Concurrent managers use GET_SECURITY_PROFILE to bind the "reporting" schema to its associated profile. Because it is referenced by 1,475 dependent packages, custom code that queries HR or PER tables should rely on this package rather than re-implementing security predicates. The presence of VIEW_ALL allows callers to short-circuit expensive restriction logic when a session is known to have unrestricted access, which is the standard optimization pattern in this package's consumers.