Search Results ben_cep_cache




Overview

APPS.BEN_CEP_CACHE is a PL/SQL package body within the Oracle E-Business Suite Advanced Benefits (BEN) module. Its principal business function is to provide an in-memory, session-level caching mechanism that reduces the number of repeated database round trips required when the Benefits engine evaluates compensation, eligibility, and rate-processing relationships. The package maintains collections that persist for the duration of a session, allowing the Benefits engine to reuse previously derived compensation-instance and eligibility-profile data rather than re-querying the underlying tables for every evaluation.

The header comment records the source file as bencepch.pkb, version 120.1, last modified in January 2006. The naming convention CEP reflects the compensation and eligibility processing domain, while CACHE identifies the package as a memory-resident optimization layer. It is classified in ETRM as an OTHER API, indicating it is a supporting internal utility rather than a public, externally supported interface.

Key Procedures and Functions

ETRM documents two procedures in this package body:

  • CLEAR_DOWN_CACHE — This is the procedure referenced in the user's search. It resets the on-demand cache structures held in package-level state. Specifically, it reinitializes the cache lookup table, reinstantiates the on-demand cache collection, resets the cached flag to zero, and nulls the next-element number. Invoking this procedure forces the next request to rebuild the cache, ensuring that stale entries are discarded.
  • COBCEP_ODGETDETS — This procedure retrieves on-demand instance details for a compensation object. It accepts an effective date together with a set of identifiers (program, plan, option, plan-option, plan-type, and variable-rate profile) and returns the populated instance set through an IN OUT NOCOPY parameter. Before performing lookups, it tests the cached flag; if the cache is empty (flag equal to zero), it calls CLEAR_DOWN_CACHE to build the cache and sets the flag to one.

The procedure computes a hashed key from the supplied identifiers, tests whether that key already exists in the lookup table, and compares the stored identifier values to confirm a true match. This hash-and-verify pattern prevents costly full-table scans during benefits calculations.

Tables Accessed

Access to the underlying data is performed through APPS synonyms. The documented tables include:

  • BEN_ELIGY_PRFL_F — the eligibility profile definition table, supplying profile attributes used in eligibility evaluation.
  • BEN_PRTN_ELIG_F — the participation eligibility table, providing the eligibility rules that determine whether a person qualifies for a program or plan.
  • BEN_PRTN_ELIG_PRFL_F — the participation eligibility profile table, linking eligibility profiles to participation records.
  • BEN_VRBL_RT_PRFL_F — the variable rate profile table, used when deriving compensation or rate values from a variable-rate profile.
  • PLITBLM — a PL/SQL index-by table structure managed at runtime to hold collected identifier values.

These tables are read to populate the cache during the first on-demand request; subsequent requests are served from the cached collections until CLEAR_DOWN_CACHE is invoked.

Usage Notes

BEN_CEP_CACHE is an internal, non-public package and is not intended for direct invocation by customers or implementers. It is referenced by six other packages, which confirms its role as a shared caching service within the Benefits code path. Typical invocation occurs indirectly through the Benefits engine during eligibility and compensation processing, frequently triggered from the Oracle Forms-based Benefits interfaces or from concurrent programs that run plan-design and life-event evaluations.

Caching is strictly session-scoped. Because the cache resides in package-level variables, it is populated on first use and persists until the session terminates or CLEAR_DOWN_CACHE is explicitly called. In long-running concurrent processes that evaluate many different compensation contexts, the cache can grow; developers integrating custom Benefits logic should be aware that direct calls to CLEAR_DOWN_CACHE will reset all cached entries for the current session, which may be desirable after bulk data changes but will impose a rebuild cost on the next request.