Search Results hri_bpl_org




Overview

The APPS.HRI_BPL_ORG package is a PL/SQL business logic package within the Oracle E-Business Suite Human Resources (HR) module. It is classified under the "OTHER" API category in the ETRM 12.2.2 metadata, indicating that it forms part of the internal business processing layer rather than a formally published public API. The package provides utility functions that support organizational hierarchy navigation and, most importantly, enforce Organization Security Profile rules against organization hierarchies and their versions.

In Oracle HRMS, organization hierarchies allow enterprises to model reporting structures, costing structures, and other organizational relationships. Access to these hierarchies is governed by security profiles assigned to users and responsibilities. The HRI_BPL_ORG package supplies the logic that determines whether a given organization hierarchy or hierarchy version is visible to the current user based on the organization hierarchy configured on their security profile. The package header carries an obfuscated source control header dated 2003 and two explicit bug references (bug 2711570), confirming it is an older, stable component that has been retained across releases including 12.1.1 and 12.2.2.

Key Procedures and Functions

The package exposes four documented functions:

  • INDICATE_IN_ORGH — Determines whether a specified organization belongs within a given organization hierarchy version, taking the hierarchy version identifier, a top organization identifier, and a test organization identifier as inputs and returning a numeric indicator. This supports hierarchical containment checks used when validating organizational relationships.
  • GET_ORG_STRUCTURE_ID — Returns the organization hierarchy structure identifier attached to the current user's or responsibility's security profile. If no organization hierarchy is associated with the security profile, the function returns -1. This was introduced under bug 2711570.
  • EXIST_ORGHVRSN_FOR_SECURITY — Evaluates whether the current user's or responsibility's secure profile restricts access to a particular organization hierarchy version. Where the security profile has no organization hierarchy assigned, the function returns 'TRUE' for all hierarchy versions, granting unrestricted visibility. Where a hierarchy is assigned, it returns 'TRUE' only when the hierarchy version shares the same organization structure version identifier as that on the security profile.
  • EXIST_ORGH_FOR_SECURITY — Performs the equivalent check at the hierarchy level rather than the version level, returning 'TRUE' when the security profile permits access to the organization hierarchy identified by the supplied organization structure identifier. As with the version check, the absence of a configured hierarchy on the security profile results in 'TRUE' for all hierarchies.

Tables Accessed

The package references the following tables through APPS synonyms:

  • PER_ORG_STRUCTURE_VERSIONS — The primary source of organization hierarchy structure and version identifiers. The source excerpt shows the package anchoring its parameter and comparison logic on columns such as ORG_STRUCTURE_VERSION_ID and ORGANIZATION_STRUCTURE_ID from this table. It is used to correlate the security profile configuration with the hierarchy being tested.
  • PER_SECURITY_PROFILES — Holds the security profile definitions assigned to users and responsibilities, including any organization hierarchy restriction. The package queries this table to determine whether a hierarchy is set against the current security profile before applying the access rules.

Additionally, the source excerpt shows the package's declarations reference HRI_CS_ORGH_V, a hierarchy denormalization view used by the containment function INDICATE_IN_ORGH.

Usage Notes

HRI_BPL_ORG is an internal business logic (BPL) package and is not intended for direct invocation by external integrations. It is typically called from HRMS forms and concurrent programs that display or process organization hierarchies, including the Organization Hierarchy window and any inquiry or reporting flow that must respect organization security. The two EXIST_... functions are the enforcement points: callers pass a hierarchy or hierarchy version identifier and receive a Boolean-style 'TRUE'/'FALSE' string indicating whether the current security context permits access. The 2 packages that reference HRI_BPL_ORG consume these functions to filter hierarchy lists and validate user selections. Because the package is declared AUTHID CURRENT_USER, it executes with the privileges of the calling user, so callers must have appropriate execute grants. Custom code should prefer documented public HRMS security APIs; however, where hierarchical security filtering is required at the business logic layer, these functions provide the canonical rule set. The exact parameter lists for the two EXIST_... functions are specified in the package header and should be verified against the deployed 12.1.1 or 12.2.2 instance before use.