Search Results ff_utils




Overview

FF_UTILS is a utility package owned by APPS in Oracle E-Business Suite 12.1.1 and 12.2.2, classified under the API classification OTHER. It provides a small set of diagnostic and instrumentation primitives used by formula-related PL/SQL code, most notably the formula engine and its supporting routines. The package has no business logic of its own; instead, it supplies the shared runtime services that other packages call to control trace verbosity, assert internal invariants, and emit entry/exit markers around procedure executions. The package header carries the RCS identifier $Header: ffutil.pkh 115.2 2002/05/31 07:13:29 pkm ship $, indicating a stable interface that has changed little across releases, and it is declared AUTHID CURRENT_USER, so all name resolution for referenced objects occurs under the calling schema's privileges rather than the definer's.

Key Procedures and Functions

  • SET_DEBUG — Sets the debugging option to the appropriate level. The procedure assigns a value to the package global g_debug_level, a binary_integer that controls whether and how much debugging output the other tracing routines produce. A single named constant, ROUTING (value 1), is documented as defining one of the available debugging levels. Because the global is held at package-instance level, the effect lasts for the duration of the session or until g_debug_level is reassigned by another call.
  • ASSERT — Raises an assert error if the supplied expression evaluates to FALSE. It accepts a boolean expression and a location identifier; the location is unique within the calling code and, by convention, takes the form <procedure_name>:<number>, for example load_formula:2. It is intended to detect conditions that should be impossible, and explicitly should not be used as a substitute for handling ordinary user errors.
  • ENTRY — Emits a TRACE message indicating entry into a function or procedure. The message is controlled by the current debug level, so output appears only when tracing has been enabled through SET_DEBUG.
  • EXIT — Emits a TRACE message indicating exit from a function or procedure. Like ENTRY, its output is governed by the current debug level.

Tables Accessed

No tables are documented as referenced by FF_UTILS through APPS synonyms. The package operates entirely on in-memory state — the g_debug_level global and constant declarations — and produces output through the standard tracing/diagnostics facilities rather than through SQL DML. It therefore performs no inserts, updates, deletes, or queries against application tables, which is consistent with its role as a lightweight instrumentation library and with its low header version count.

Usage Notes

FF_UTILS is normally invoked indirectly. SET_DEBUG is called first to raise the debug level for a session or for the scope of a diagnostic exercise; subsequent calls to ENTRY and EXIT then generate trace output as instrumented code paths execute. ASSERT is called inline at the head of critical logic to trap corrupted state or violated assumptions early, with the location string allowing the failing site to be identified from the error message alone. The package is referenced by seven other packages, which is indicative of its position as a shared dependency of the formula subsystem rather than as an entry point for end users. It is not exposed through a concurrent program or a form; it is typically used from custom PL/SQL, from server-side code that wraps or extends formula processing, and during support investigations where raising the debug level is the mechanism for obtaining execution traces. Because the debug flag is a session-level global, customizations that share a database session with EBS code should reset the level when tracing is complete to avoid unneeded output or performance impact. The documented interface is minimal and stable, making the package safe to call from customer extensions, provided callers accept that its output destination and format are governed by the underlying tracing infrastructure rather than by the package itself.