Search Results delete_function




Overview

The APPS.FF_FUNCTIONS_API package body provides the supported programmatic interface for maintaining Oracle EBS FastFormula function definitions. FastFormula is the extensible expression language used throughout Oracle HRMS, Payroll, Benefits, and OTL to evaluate user-defined business rules. A "function" in this context is a named, reusable calculation or validation that a formula can invoke, optionally parameterised and scoped by legislation or business group.

The package encapsulates the validation, defaulting, and multi-table maintenance logic required to keep function definitions, their context usages, and their parameter bindings consistent. The header comment ($Header: ffffnapi.pkb 120.0 2005/05/27) confirms the file is a long-standing, shipped API component delivered with the applications schema rather than a customer extension. Its classification as an API in ETRM indicates that it is intended for external invocation and that its signatures are subject to Oracle's API compatibility commitment.

The package behaviour is layered: each public procedure delegates to a corresponding FF_FUNCTIONS_BK1 before-process hook and a FF_FUNCTIONS_BK2 after-process hook, wrapping the call with a savepoint, row-level validation, and HR_API-based error handling. This mirrors the standard Oracle HRMS "three-tier" API pattern seen across the FF_* and HR_* families.

Key Procedures and Functions

  • CREATE_FUNCTION — Inserts a new FastFormula function definition. Accepts identifying attributes such as name, class, alias name, data type, and definition text, plus optional business group and legislation code for scoping. Returns the generated function_id and object_version_number to the caller. A p_validate parameter controls rollback-only (validation) execution, and p_effective_date governs date-effective insert behaviour.
  • UPDATE_FUNCTION — Modifies an existing function definition identified by function_id and object_version_number. Provides optimistic locking via the object version number so that concurrent updates cannot silently overwrite one another. Supports the same validate/commit toggle as CREATE_FUNCTION.
  • DELETE_FUNCTION — Removes a function definition, subject to referential integrity checks against dependent formula usages and parameter records. The delete is date-effective and version-checked in the same manner as the other operations.

All three procedures are documented in ETRM; the excerpt above reproduces the full signature of CREATE_FUNCTION only. Parameter lists for UPDATE_FUNCTION and DELETE_FUNCTION are not reproduced here and should be verified in the source or the HRMS API documentation.

Tables Accessed

  • FF_FUNCTIONS — The primary base table storing the function header: name, class, alias, data type, definition text, description, business group, legislation code, effective dates, and object version number.
  • FF_FUNCTION_CONTEXT_USAGES — Records the contexts in which a function may be used. Maintained alongside the parent function so that context-specific availability is consistent.
  • FF_FUNCTION_PARAMETERS — Stores the positional parameters that the function exposes to calling formulas. Populated or updated in step with the function row to keep the callable interface valid.

Usage Notes

FF_FUNCTIONS_API is typically invoked from the FastFormula function maintenance forms, from concurrent programs that load function definitions during setup or upgrade, and from custom PL/SQL that needs to create or amend functions programmatically. Because the package is versioned with the applications schema, custom code should always call the public API rather than issuing DML against the underlying tables; direct updates bypass the validation, object version handling, and dependent-row maintenance performed by the FF_FUNCTIONS_BK1 and FF_FUNCTIONS_BK2 layers. Callers are also expected to supply p_validate => true during dry-run scenarios and to honour the returned object version number in subsequent updates.