EBSintermediate

Flexfields: Key and Descriptive

Differentiate key flexfields from descriptive flexfields and explain their configuration and use

Flexfields are Oracle's mechanism for extending data structures without altering the underlying table schema. There are two types: Key Flexfields (KFF), which represent structured, multi-segment intelligent keys (like the Accounting Flexfield / Chart of Accounts, or the Item Flexfield), and Descriptive Flexfields (DFF), which allow capturing additional attributes on a transaction or entity (like extra fields on an invoice or a custom attribute on an employee record).

A key flexfield is like a postal address system — structured segments (street, city, zip) that together form one intelligent, validated key. A descriptive flexfield is like a customizable form footnote — you can add sticky-note-style extra fields depending on context, without redesigning the whole form.

Key Concepts

1
Key flexfields are composed of segments, each validated against a value set, and combinations of segments are stored in a combinations table (e.g., GL_CODE_COMBINATIONS for the Accounting Flexfield) with a single CODE_COMBINATION_ID used everywhere else in the system as a foreign key. This design keeps the multi-segment natural key compact while still enforcing structure and validation.
segmentsvalue set
2
Descriptive flexfields, by contrast, add optional or context-sensitive attributes to a form or table using generically named columns (ATTRIBUTE1, ATTRIBUTE2, ..., ATTRIBUTE_CATEGORY). A DFF can have context-sensitive segments that only appear based on a selected context value, allowing one column set to serve many different attribute sets depending on business context (e.g., different extra fields for 'Domestic Supplier' vs 'International Supplier').
context-sensitive segments
3
Interview questions often focus on the practical difference: KFF defines identity/structure (like an account number), while DFF adds descriptive, often optional metadata. Candidates should also know how flexfields are compiled and how value sets (independent, dependent, table-validated) affect the segments.