Search Results gl_access_set_security_pkg




Overview

GL_ACCESS_SET_SECURITY_PKG is an Oracle Applications (APPS) PL/SQL package body that implements data security enforcement for Oracle General Ledger. Its business purpose is to translate a user's assigned GL Access Sets into usable security predicates that restrict which ledgers, journals, batches, and related accounting data the user may query or modify. GL Access Sets define groupings of ledgers and, where enabled, additional restrictive criteria; this package converts those groupings into SQL fragments and access decisions consumed throughout the General Ledger application and by other EBS modules.

The package is classified as VALID in the APPS schema and is classified as an "OTHER" API type rather than a formal public API. It is referenced by 32 other database objects, indicating it is a foundational security utility embedded deeply in the General Ledger processing stack. Its documented dependency on FND_MESSAGE indicates it participates in error and message handling, and its dependency on FND_FLEX_APIS and GL_ACCESS_SETS_PKG reflects interaction with key flexfield and access set maintenance logic.

Key Procedures and Functions

The ETRM metadata documents six procedures and functions:

  • GET_SECURITY_CLAUSE — Returns a SQL predicate fragment embodying the access set security restrictions applicable to the current user. This is the core generic security clause generator used to constrain queries against secured GL entities.
  • GET_JOURNAL_SECURITY_CLAUSE — Produces a security predicate specifically for journal-level data, applying access set restrictions to journal header queries.
  • GET_BATCH_SECURITY_CLAUSE — Produces a security predicate specific to journal batches, restricting which batches a user may view or process.
  • GET_JOURNAL_ACCESS — Determines whether the current user has access to a given journal, returning an access decision based on the user's access set assignments.
  • GET_DEFAULT_LEDGER_ID — Resolves and returns the default ledger identifier for the current user context, derived from access set assignments.
  • GET_ACCESS — Provides a generalized access determination for the secured General Ledger entities governed by access sets.

These routines are designed to be called from other PL/SQL packages and from views that must enforce row-level security without embedding user-specific logic directly.

Tables Accessed

The package reads from the following documented GL tables (via APPS synonyms):

  • GL_ACCESS_SETS — Definition of access sets and their security configuration options.
  • GL_ACCESS_SET_ASSIGNMENTS — Mapping of users or responsibilities to access sets, the basis for resolving the caller's permitted ledgers.
  • GL_ACCESS_SET_LEDGERS — The ledgers included in each access set, used to build ledger restrictions.
  • GL_JE_HEADERS — Journal headers, accessed to evaluate journal and batch level access.
  • GL_LEDGERS — Ledger definitions, used to resolve default ledgers and validate ledger identifiers.
  • DUAL — Used for single-row evaluations and helper computations.

Dependencies also include GL_ACCESS_SETS_PKG, indicating reuse of access set maintenance routines.

Usage Notes

This package is typically invoked indirectly. General Ledger forms and concurrent programs call it (or the views built on it) to enforce security transparently when querying journals, batches, and ledgers. Custom code extending GL security should call these routines rather than re-implementing access set logic, ensuring consistency with the standard access set model. Because it is not a formally published API and is not referenced by database objects outside its consumer set, changes to its behavior should be validated against the 32 dependent packages before deployment.