Search Results g_cache_pgm_rec
Overview
BEN_ELIG_OBJECT is a PL/SQL package body in the APPS schema that implements the compensation object eligibility caching routine for Oracle Advanced Benefits (OAB). Its stated purpose, per the header comment, is to "return comp object elig information." In Oracle EBS 12.1.1 and 12.2.2, eligibility determination for benefits is computationally intensive: a single participant may be evaluated against many plans, programs, and rate/eligibility objects, each requiring lookups against eligibility profile rules. BEN_ELIG_OBJECT addresses this by caching the eligibility results of compensation objects so that repeated evaluations within a session or processing run do not re-execute the same underlying eligibility queries.
The package body is dated from the original 11i code line, with the earliest history entry recording creation by G Perry in May 1999 at version 115.0, and continued maintenance through version 115.11. The header identifies it as the "Comp Elig Object Caching Routine." Two package-level globals initialize the cache hash: g_hash_key and g_hash_jump, both derived from ben_hash_utility, which is the hashing utility used by OAB to generate deterministic cache key and jump values for indexed cache lookups.
Key Procedures and Functions
ETRM documents 31 procedures and functions in this package. The three principal entry points are:
- SET_OBJECT — Populates the eligibility cache for a single compensation object. It accepts a program identifier and an eligibility-to-plan/rate-reason record structure (
ben_elig_to_prte_rsn_f%rowtype) passed as anIN OUT NOCOPYparameter, and writes the object's eligibility information into the cache. Early history entries note the overloaded trace messages and the use of context in messages. - GET_OBJECT — Retrieves eligibility information for a compensation object. The 115.10 revision moved the call to SET_OBJECT out of
benmngleand intoget_objects, centralizing cache population at retrieval time so that a cache miss triggers the corresponding set operation. - CLEAR_DOWN_CACHE — Invalidates or flushes the cached eligibility data. This is required whenever the underlying eligibility state changes during a processing run, ensuring subsequent reads do not return stale results.
The remaining documented procedures support these entry points: internal cursor definitions, hash key and jump handling, eligibility profile evaluation, and trace/diagnostic routines. The user's search term g_cache_pl_rec corresponds to a package-level cache record global that holds the cached plan-level eligibility structure shared across procedure calls within a session.
Tables Accessed
Three tables are referenced through APPS synonyms:
- BEN_ELIG_TO_PRTE_RSN_F — The eligibility-to-plan/rate-reason fact table. It defines how an eligibility profile maps to a plan or rate and the reason associated with that eligibility relationship. SET_OBJECT receives a row of this structure.
- BEN_PRTN_ELIG_F — The participant eligibility fact table, storing evaluated eligibility outcomes for participants. The version 115.3 history entry explicitly records "Added cache for ben_prtn_elig_f," indicating the cache extends to participant-level eligibility results.
- PLITBLM — A generic PL/SQL table (index-by table) used for collection storage, referenced by the caching and hashing logic.
Usage Notes
BEN_ELIG_OBJECT is an internal, API-classified "OTHER" package. It is not intended for direct invocation by end users or custom integrations. It is called from the benefits management engine, notably benmngle (now via get_objects), and is referenced by two other documented packages. Because eligibility caching is session- and run-scoped, cache clear-down must be honored whenever eligibility rules or participant data are modified mid-process. Historically, the package benefited from performance tuning (version 115.9) involving NOCOPY parameter passing, replacement of EXISTS logic, and removal of redundant assignments — optimizations still relevant when analyzing performance on 12.1.1 and 12.2.2.
-
PACKAGE BODY: APPS.BEN_ELIG_OBJECT
12.1.1
-
PACKAGE: APPS.BEN_COMP_OBJECT
12.1.1
-
PACKAGE BODY: APPS.BEN_COMP_OBJECT
12.2.2
-
PACKAGE: APPS.BEN_COMP_OBJECT
12.2.2
-
PACKAGE BODY: APPS.BEN_COMP_OBJECT
12.1.1
-
PACKAGE BODY: APPS.BEN_ELIG_OBJECT
12.2.2
-
PACKAGE: APPS.BEN_ELIG_OBJECT
12.1.1
-
PACKAGE: APPS.BEN_ELIG_OBJECT
12.2.2
-
APPS.BEN_COMP_OBJECT dependencies on BEN_CACHE
12.1.1
-
APPS.BEN_COMP_OBJECT dependencies on BEN_CACHE
12.2.2
-
APPS.BEN_COMP_OBJECT dependencies on BEN_HASH_UTILITY
12.2.2
-
APPS.BEN_COMP_OBJECT dependencies on BEN_HASH_UTILITY
12.1.1
-
APPS.BEN_COMP_OBJECT dependencies on BEN_OIPLIP_F
12.2.2
-
APPS.BEN_COMP_OBJECT dependencies on BEN_OIPLIP_F
12.1.1
-
APPS.BEN_COMP_OBJECT dependencies on BEN_PL_F
12.1.1
-
APPS.BEN_COMP_OBJECT dependencies on BEN_PL_F
12.2.2
-
APPS.BEN_ELIG_OBJECT dependencies on BEN_PRTN_ELIG_F
12.2.2
-
APPS.BEN_ELIG_OBJECT dependencies on BEN_PRTN_ELIG_F
12.1.1