Search Results fnd_compiled_menu_functions




Overview

FND_COMPILED_MENU_FUNCTIONS is a denormalized runtime acceleration table in the APPLSYS schema of Oracle E-Business Suite, belonging to the FND — Application Object Library product. Its documented purpose is to compile information from FND_MENU_ENTRIES so that the application can perform fast runtime lookups of which functions belong to which menus. Rather than traversing the full menu hierarchy maintained in the menu-entry tables at each user session, the compiled table presents the flattened relationship between menus and their functions, allowing the menu rendering engine and function security checks to resolve authorized functions with minimal joins.

Under the heuristic Data Vault classification supplied in the metadata, this object is described as standalone. In modeling terms, it is best regarded as a resolved link table: it records the many-to-many association between menus and functions, with a GRANT_FLAG attribute that makes it a link carrying descriptive state rather than a pure intersection. It is not a hub, since it does not introduce a new business key entity of its own.

Key Information Stored

The documented physical schema for Release 12.2.2 comprises three columns in the APPLSYS schema:

  • MENU_ID — Identifies the menu to which a function is attached. This is the foreign key column that references FND_MENUS, anchoring each compiled row to its parent menu definition.
  • FUNCTION_ID — Identifies the function that is reachable through the referenced menu. Together with MENU_ID it forms the composite business key of the table.
  • GRANT_FLAG — A flag column indicating whether the menu-to-function association grants access, distinguishing granted entries from those that are present but not granted.

The unique index FND_COMPILED_MENU_FUNCTIONS_U1 on (MENU_ID, FUNCTION_ID) is the business-key candidate for this table, guaranteeing that a given function appears at most once per menu in the compiled representation. The metadata does not document a separate surrogate primary key column; the composite unique index serves as the logical identifier. Because the table is a compiled derivative of FND_MENU_ENTRIES, its contents are regenerated whenever menu definitions are compiled, and direct DML against it is not a supported practice.

Common Use Cases and Queries

The primary use case is resolving which functions a user can reach from a given menu, without recursing through the menu hierarchy. A representative query joins the compiled table to FND_MENUS and FND_FORM_FUNCTIONS to produce a readable inventory:

  • SELECT m.menu_name, f.function_name, cmf.grant_flag FROM fnd_compiled_menu_functions cmf, fnd_menus m, fnd_form_functions f WHERE cmf.menu_id = m.menu_id AND cmf.function_id = f.function_id AND cmf.grant_flag = 'Y';
  • Reverse lookup — identifying every menu through which a given function is exposed, by filtering on FUNCTION_ID. This supports impact analysis before disabling or renaming a function.
  • Menu auditing and security reporting — comparing the compiled contents against source menu entries to confirm that compilation has run after a menu change.
  • Reconciliation queries that detect orphaned FUNCTION_ID values no longer present in FND_FORM_FUNCTIONS.

Related Objects

  • FND_MENUS — joined on MENU_ID; the documented foreign key target of this table and the parent menu definition.
  • FND_MENU_ENTRIES — the source table from which this compiled table is derived; the authoritative definition of hierarchy and prompt ordering.
  • FND_FORM_FUNCTIONS — joined on FUNCTION_ID; supplies function names and properties for reporting.
  • FND_RESPONSIBILITY and the responsibility-menu mapping — links responsibilities to menus, and therefore indirectly to the compiled function set.
  • FND_COMPILED_MENU_FUNCTIONS — regenerated by the menu compilation concurrent program, which must be run after changes to menus, functions, or menu entries.