Search Results ff_exec




Overview

FF_EXEC is the core runtime execution engine for Oracle FastFormula in Oracle E-Business Suite Releases 12.1.1 and 12.2.2. FastFormula is the extensibility framework through which Oracle Applications expose configurable business rules without code modification, and every FastFormula-driven calculation — payroll run processing, absence accrual, compensation eligibility, benefits enrollment, grade rate derivation, and hundreds of other rule points — is ultimately dispatched through this package. The APPS.FF_EXEC package body is the compiled implementation behind the specification, and it owns the mechanics of preparing a formula for execution, resolving its context, and returning its result to the calling application.

The package resides in the APPS schema and carries a status of VALID. It is classified as an OTHER API in the ETRM extract, which reflects the fact that it is an internal engine rather than a published, externally supported integration interface. It is instantiated against a large dependency footprint that includes the FastFormula compiler and metadata layer, Oracle HRMS utility routines, and the generic wrapper packages used to bridge PL/SQL and generated formula code.

Key Procedures and Functions

The ETRM metadata documents three entry points in this package body:

  • RESET_CACHES — Clears the session-level caches that FF_EXEC maintains for compiled formula information and formula context metadata. Formula compilation is expensive, and the engine caches compiled forms so that repeated executions within one session avoid recompilation. RESET_CACHES provides a controlled invalidation point when underlying definitions change.
  • INIT_FORMULA — Initializes a formula for execution. This routine resolves the formula definition, establishes the runtime context in which the formula will run — the owning business group, the formula route, the user entity, and the associated database items — and prepares the execution environment so that the compiled body can be entered with a populated context.
  • RUN_FORMULA — The primary execution entry point. Given an initialized formula and its input parameters, it drives the actual evaluation of the compiled formula body and returns the computed outputs to the caller.

The metadata does not publish parameter lists for these routines, and their signatures are therefore not reproduced here.

Tables Accessed

FF_EXEC reads and writes a well-defined set of FastFormula repository tables through APPS synonyms:

  • FF_FORMULAS_F — The base formula definition table, holding formula identity, type, and ownership.
  • FF_COMPILED_INFO_F — Stores compiled formula artifacts and associated compilation metadata used by the runtime engine.
  • FF_DATABASE_ITEMS — Defines the database items available to formulas, including the SQL fragments that resolve each item at runtime.
  • FF_FDI_USAGES_F — Records where individual database items are referenced by formulas, supporting dependency tracking and recompilation.
  • FF_ROUTES and FF_ROUTE_CONTEXT_USAGES — Define formula routes and the context usages that determine which formula applies in a given runtime situation.
  • FF_USER_ENTITIES — Describes the user entities to which formulas are attached.
  • PLITBLM — The PL/SQL indexed table by millionth used for bulk parameter and context passing.

Usage Notes

FF_EXEC is an internal engine and is not intended for direct invocation by customers or partners. It is called by the standard application layers whenever a formula must be evaluated — most visibly during payroll processing, where FastFormula drives earnings, deductions, and calculation rules, and in HRMS configuration where validation and derivation formulas are executed. The package is referenced by 158 other database objects, which confirms its position as a shared low-level service rather than an application-facing API. Because its signature is undocumented in the ETRM extract, custom code should not bind directly to these routines; the supported integration path is through the higher-level FastFormula calling conventions and the wrapper packages in the same dependency chain. The RESET_CACHES entry point is significant operationally: formula changes made through the standard maintenance forms are expected to invalidate the session cache so that subsequent RUN_FORMULA calls pick up recompiled definitions.