Results for “ben_premium_plan_concurrent”

46 results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

APPS.BEN_PREMIUM_PLAN_CONCURRENT is a PL/SQL package in Oracle E-Business Suite Advanced Benefits (Oracle Benefits) that houses the concurrent manager and multi-threaded processing logic used for plan premium calculation. As stated in the package header, its documented purpose is to "simply house the concurrent manager and multi-thread processes for Premium Calculation." It therefore acts as the orchestration layer that a concurrent program or a calling process invokes to compute premiums for benefit plans and to distribute that workload across parallel worker threads. The package is declared AUTHID CURRENT_USER, meaning it executes with the privileges of the invoking user rather than the defining schema, which is consistent with Oracle EBS APIs and concurrent drivers that must respect the caller's security context and session settings.

The package header dates to the original Benefits releases (created 01-Nov-1999, version 115.0), and it remains a shipping object in both EBS 12.1.1 and 12.2.2. In ETRM the object is classified as API classification OTHER, and recorded metadata notes it is referenced by one other package, indicating it is primarily an entry-point driver rather than a broadly reused library.

Key Procedures and Functions

  • PROCESS — The primary driver procedure. It accepts an error buffer and return code in the standard concurrent program convention, takes a benefit action identifier and an effective date, a validation flag (defaulting to 'N'), and a business group identifier. Its purpose is to launch and coordinate the premium calculation run for the requested benefit action and effective date, and to report success or failure back to the concurrent manager.
  • DO_MULTITHREAD — The multi-threaded worker routine. It performs the actual parallel distribution of premium calculation work, using batch ranges to split the population of persons and actions into thread-sized chunks so that multiple concurrent workers can process premiums in parallel. The package header's cached collection types (person/process object and record tables keyed by binary integer, along with report and log-file caches) support this multi-threaded execution model.

Both procedures are documented in ETRM; no additional public subprograms are recorded, confirming that the package is intentionally a thin container for the concurrent and multi-thread processes rather than a general-purpose API.

Tables Accessed

The package reads and writes the following documented objects through APPS synonyms:

  • BEN_PERSON_ACTIONS, BEN_PERSON_ACTIONS_S — the person-level benefit action rows whose premiums are being calculated and updated.
  • BEN_ACTL_PREMIUM_F (recorded as BEN_ACTL_PREM_F) — the actual premium fact table where computed plan premium amounts are stored.
  • BEN_BENEFIT_ACTIONS — the parent benefit action driving the run; the PROCESS procedure takes a benefit action identifier.
  • BEN_BATCH_RANGES, BEN_BATCH_RANGES_S — batch range definitions used to partition work for multi-threaded parallel processing.
  • BEN_LER_F — the legal entity / reporting (LER) fact table, used to resolve the legislative context for premium calculation.
  • PLITBLM — the standard Oracle EBS PL/SQL table-to-integer utility used to manage in-memory collections for bulk processing.

Usage Notes

BEN_PREMIUM_PLAN_CONCURRENT is not typically called directly by end users. It is invoked by concurrent programs registered for Benefits premium calculation, which supply the standard errbuf/retcode out parameters plus the benefit action, effective date, validation flag, and business group. The validation flag allows a run to be executed in report-only mode before committing updates to the person actions and premium fact tables. In EBS 12.1.1 and 12.2.2 the package is reached through Benefits configuration and concurrent manager submissions, and from other Benefits packages (one documented caller) rather than from Oracle Forms directly. Custom code should treat it as a concurrent driver: invoke it only through the registered concurrent program or with the same parameter conventions, and avoid dependencies on its internal cached structures, which are implementation details.