Search Results ffitem_info_t




Overview

FFDBITEM is an Oracle EBS FastFormula support package owned by the APPS schema. Its declared purpose is to provide utility functions and procedures for accessing database item SQL and values on behalf of the FastFormula engine. In Oracle EBS, a "database item" is a named data element defined in the FF_DATABASE_ITEMS table that a formula may reference directly; at runtime the formula engine must resolve that name into executable SQL, determine the bind contexts the SQL requires, and fetch the resulting value. FFDBITEM encapsulates that resolution and retrieval logic so that the formula compiler, interpreter, and any calling code do not need to reconstruct it themselves.

The package is compiled with AUTHID CURRENT_USER, a significant choice in the EBS 12.1.1 and 12.2.2 releases because database items are frequently defined against application tables that the invoking session — not the APPS schema — is expected to be able to read. The header history dates the original creation to 1994 under the Oracle*FastFormula product and shows only cosmetic maintenance through the 11.x certification line, indicating a stable internal interface.

Key Procedures and Functions

  • GET_DBITEM_INFO — Returns all information required to fetch a database item's value: the generated SQL statement, the context requirements, and the data type classification. It accepts the database item name together with the formula type identifier, the business group identifier, and the legislation code, and returns a record of the FFITEM_INFO_T type. This is the entry point that addresses the get_dbitem_info search term.
  • GET_DBITEM_VALUE — Retrieves the runtime value of a database item. Together with GET_DBITEM_INFO it forms the two-part contract of the package: resolve the item to SQL and metadata, then execute that SQL to obtain the value.

The public type declarations are an integral part of the interface. FFITEM_INFO_T carries the item name, the SQL text (up to 8000 characters), a single-character data type indicator (Text, Number, or Date), flags indicating whether a missing or null value is permissible, and a nested FFCONTEXTS_T record. That nested record holds the count and names of contexts, their data types, and parallel arrays of bind variable names and values. Any caller of GET_DBITEM_INFO must declare a variable of this type to receive the result.

Tables Accessed

Resolution of a database item requires reading several FastFormula metadata tables. FF_DATABASE_ITEMS holds the item definition itself, including the user-visible name and the underlying SQL. FF_CONTEXTS supplies the context definitions whose names and data types populate the nested context record. FF_FTYPE_CONTEXT_USAGES links formula types to the contexts they use, which is why GET_DBITEM_INFO requires a formula type identifier. Routing information is drawn from FF_ROUTES, FF_ROUTE_CONTEXT_USAGES, FF_ROUTE_PARAMETERS, and FF_ROUTE_PARAMETER_VALUES, reflecting the mechanism by which an item's SQL is parameterised with values supplied at runtime. FF_USER_ENTITIES records the user-defined entities available to formulas.

Dynamic fetching is performed through DBMS_SQL, the Oracle-supplied dynamic SQL package, since the statement text returned by GET_DBITEM_INFO is assembled at runtime and cannot be parsed statically. All of the FF tables are referenced through APPS synonyms.

Usage Notes

FFDBITEM is classified as an OTHER API and is not an end-user-facing interface. It is invoked internally by the FastFormula runtime whenever a formula references a database item, and by the formula validation and compilation paths that must confirm an item is resolvable for a given formula type, business group, and legislation before a formula is saved or executed. Because the package is documented as referenced by zero other packages, its consumers are the compiled PL/SQL of the FastFormula engine and the form or concurrent program layers that drive it, rather than other packaged APIs.

Custom code should treat FFDBITEM as an internal dependency. Where a formula must be evaluated outside the standard engine, the supported approach is to call the FastFormula public APIs, which in turn invoke this package with the correct formula type, business group, and legislation parameters. Direct invocation is possible in principle — GET_DBITEM_INFO is a public procedure — but it bypasses validation that the standard engine performs, and the AUTHID CURRENT_USER setting means the calling schema must itself hold select privileges on the tables named by the generated SQL. Contexts that the item requires must be populated correctly before GET_DBITEM_VALUE is called, otherwise the fetch will fail or return an unintended result. In both 12.1.1 and 12.2.2 the object is unchanged in structure and remains a compatibility-maintained component of the FastFormula infrastructure.