Search Results hr_security_utils




Overview

HR_SECURITY_UTILS is a utility package in the APPS schema that supports Oracle HRMS security configuration and diagnostics in Oracle E-Business Suite 12.1.1 and 12.2.2. Its central responsibility is to validate that the Business Group and Security Profile profile options required by HRMS security are configured correctly, and to provide debugging controls plus a controlled mechanism for treating a non-APPS schema as if it holds full access to secured objects. The package is declared with AUTHID CURRENT_USER, meaning its SQL executes under the privileges of the invoking schema rather than the definer, which is consistent with its role in handling schema-sensitive security behavior. It belongs to the API classification OTHER and exposes five documented program units. This object is of particular interest to administrators and developers searching for "check_profile_options," since that procedure is the primary validation entry point for HRMS security profile configuration.

Key Procedures and Functions

  • CHECK_PROFILE_OPTIONS — The documented core of the package. Its stated purpose is to verify that the Business Group and Security Profile profile options are set correctly. The header comment directs readers to the package body for implementation details, indicating that the actual validation logic and any raised errors or diagnostics reside there. It takes no arguments.
  • DEBUG_ON — Enables debug output for the package, allowing diagnostic messages to be emitted (typically via DBMS_OUTPUT) during execution.
  • DEBUG_OFF — Disables the debug output previously enabled by DEBUG_ON.
  • IS_CUSTOM_SCHEMA — A Boolean function that reports whether the current schema has been flagged as a custom schema. It carries the pragma restrict_references with WNPS and WNDS, indicating it is pure with respect to package state and performs no write operations, making it safe to call from SQL contexts.
  • SET_CUSTOM_SCHEMA — Sets a flag that causes a non-APPS schema to be treated as though it has full access to secured objects, effective only for the duration of the package state. The header notes this is intended for teams such as Oracle Projects that interface with third-party products through schemas other than APPS.

Tables Accessed

The package references several objects through APPS synonyms:

  • FND_PROFILE_OPTIONS — Provides the definition of the profile options being validated, allowing the package to confirm that the relevant Business Group and Security Profile options exist and are correctly defined.
  • FND_PROFILE_OPTION_VALUES — Supplies the currently set values for those profile options at the applicable levels, supporting the correctness checks performed by CHECK_PROFILE_OPTIONS.
  • PER_SECURITY_PROFILES — Holds HRMS security profile definitions, relevant to validating that security profiles referenced by the configuration are valid and available.
  • DBMS_OUTPUT — The output mechanism used by the debug procedures to write diagnostic messages.

Usage Notes

HR_SECURITY_UTILS is a supporting utility rather than a business API, and is typically invoked indirectly. The most common path is through HRMS setup and diagnostic routines that call CHECK_PROFILE_OPTIONS when security configuration appears inconsistent, such as when users cannot access expected records. Administrators may run it to surface misconfigured Business Group or Security Profile profile options. The debug procedures are used in conjunction with this validation to obtain additional detail during troubleshooting. SET_CUSTOM_SCHEMA is reserved for integration scenarios in which a non-APPS schema must be granted effective access to secured objects, and its effect is intentionally scoped to the package state so it does not persist. Custom code should invoke these utilities only after considering the AUTHID CURRENT_USER behavior, since results depend on the calling schema's privileges. The limited external dependency footprint indicated by the metadata suggests the package is embedded within HRMS security internals rather than exposed as a standalone public interface.