Search Results validate_access




Overview

APPS.GL_SECURITY_PKG is a PL/SQL package within the Oracle E-Business Suite General Ledger module responsible for applying and enforcing segment value security rules. Its central purpose is to determine whether a given accounting code combination, or a specific segment value within it, is accessible to the current user session based on the security rules and access set assignments defined in the application. The package supports the General Ledger segment value security framework by initializing an interim validation table, populating it according to the active security rules, and then providing validation functions that the rest of the General Ledger reporting and transaction infrastructure can call to confirm access rights. The package has been part of the General Ledger codebase since 1999, with later modifications extending its logic to reflect the multi-ledger architecture introduced in Release 12. The header reference (gluoases.pls 120.10) indicates the package has undergone sustained maintenance and is a stable component of the EBS security infrastructure.

Key Procedures and Functions

The package exposes a documented set of seven procedures and functions. Those relevant to the validate_access search are described below.

  • INIT — Validates the calling session and then invokes INIT_SEGVAL to initialize, populate, and update the GL_BIS_SEGVAL_INT interim table according to the applicable segment value security rules. This is the entry point that prepares the security state for a user session.
  • INIT_SEGVAL — Performs the actual initialization, population, and update of the GL_BIS_SEGVAL_INT interim table in accordance with segment value security rules. It was separated from INIT so that standard General Ledger reports could reuse the segment security API logic independently.
  • VALIDATE_ACCESS — A function that validates a given code combination identifier against a given ledger identifier, checking conformance to the rules stored in the GL_BIS_SEGVAL_INT interim table by GL_SECURITY_PKG.INIT. The ledger identifier references the ledger ID, following the Release 12 modification. It returns a VARCHAR2 result indicating whether access is permitted.
  • VALIDATE_SEGVAL — Validates supplied segment numbers and segment values against the security rules, providing segment-level rather than code-combination-level checking.
  • LOGIN_LED_ID — Returns the ledger ID associated with the current login or session context.
  • LOGIN_ACCESS_ID — Returns the access set identifier applicable to the current login or session context.

Tables Accessed

The package reads and writes a defined set of Foundation and General Ledger tables, accessed through APPS synonyms.

  • GL_BIS_SEGVAL_INT — The interim validation table that is initialized, populated, and updated with the session's applicable security rules and subsequently queried by VALIDATE_ACCESS and VALIDATE_SEGVAL.
  • FND_FLEX_VALUE_RULE_LINES, FND_FLEX_VALUE_RULE_USAGES, FND_FLEX_VALUE_SETS, FND_FLEX_VALIDATION_TABLES, FND_FLEX_VALUE_HIER_ALL — Key Flexfield security definition tables that supply the rules, value sets, hierarchies, and validation logic driving access determination.
  • FND_ID_FLEX_SEGMENTS — Provides segment definitions used to map security rules to the appropriate accounting flexfield segments.
  • FND_RESPONSIBILITY — Used to resolve the responsibility context of the calling session.
  • GL_ACCESS_SETS and GL_ACCESS_SET_ASSIGNMENTS — Define the access sets and their assignments to responsibilities, determining which ledger and value set combinations apply.
  • GL_CODE_COMBINATIONS — The accounting code combinations validated by VALIDATE_ACCESS.
  • GL_LEDGERS — Supplies ledger context for the validation performed against the current session.
  • V$SESSION — Queried to validate the calling session identity during INIT.

Usage Notes

GL_SECURITY_PKG is typically invoked at the start of a user session or report run through INIT, which establishes the security context by populating GL_BIS_SEGVAL_INT. Subsequent calls to VALIDATE_ACCESS and VALIDATE_SEGVAL are made by Standard General Ledger reports and by the segment security API to filter code combinations and segment values according to the user's access rights. Because the package is referenced by five other packages, it functions as a shared security service across the General Ledger application. Custom code that needs to enforce segment value security should call INIT to prepare the interim table before issuing validation calls. The LOGIN_LED_ID and LOGIN_ACCESS_ID functions are used to retrieve the ledger and access set identifiers established for the current login, which are then passed into validation logic. Developers should note that the ledger identifier semantics changed in Release 12 to reference the ledger ID rather than the prior set of books identifier.