EBSintermediate

Flexfields: Key and Descriptive

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

A flexfield extends EBS's data structures without changing the schema. There are two kinds and they do different jobs.

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 Flexfield (KFF)         a structured, multi-part identifier
    Descriptive Flexfield (DFF) extra attributes on a record
2
A key flexfield is an identity. The Accounting Flexfield — the chart of accounts — is the standard example:
3
    01  .  200  .  5300  .  000
    company  cost centre  account  future
4
Each segment is validated against a value set, and the whole combination is stored once in a combinations table:
5
    GL_CODE_COMBINATIONS
      CODE_COMBINATION_ID  1042
      SEGMENT1 '01'  SEGMENT2 '200'  SEGMENT3 '5300' ...
6
Everything else in EBS stores CODE_COMBINATION_ID — a single number — rather than the four segments. That is the design: a compact foreign key everywhere, with the structure and validation held in one place.
CODE_COMBINATION_ID
7
A descriptive flexfield adds attributes. Generic columns already exist on the table:
8
    ATTRIBUTE_CATEGORY, ATTRIBUTE1, ATTRIBUTE2, ... ATTRIBUTE15
9
A DFF gives them names, prompts and validation for your installation. No column is added and no table is altered.
10
Context sensitivity is what makes DFFs flexible. The category column selects which set of segments appears:
11
    context 'Domestic Supplier'      ATTRIBUTE1 = GST number
    context 'International Supplier' ATTRIBUTE1 = customs code
                                     ATTRIBUTE2 = incoterms
12
One set of columns serves many different attribute sets, chosen at data entry.
13
The cost of that design. ATTRIBUTE1 means different things in different rows, so a report has to know the context before it can interpret the column. Querying a DFF column without filtering on ATTRIBUTE_CATEGORY returns a mixture of unrelated values.
ATTRIBUTE1ATTRIBUTE_CATEGORY
14
Value sets validate segments, and the three kinds are asked about:
15
    independent      a fixed list of values you maintain
    dependent        valid values depend on another segment's value
    table            validated by a query against a table
16
Flexfields must be compiled after definition changes. An uncompiled flexfield behaves as the previous version, which is the standard reason a new segment does not appear.
17
The distinction to state. A KFF defines what something is — an account, an item. A DFF records extra things about it. Structure against annotation.
18
What the interviewer is probing.1. "What is the difference between a key and a descriptive flexfield?" Probing: the distinction. Stalls: "Nothing." Moves up: a key flexfield is a structured identifier such as the accounting code combination; a descriptive flexfield adds optional attributes to a record.
19
2. "Where are DFF values stored?" Probing: the mechanism. Stalls: "A new table." Moves up: in ATTRIBUTE columns already present on the base table, which is why the number available is limited.
20
3. "What is a context-sensitive DFF?" Probing: the capability. Stalls: "Nothing." *Moves up:* different segments appear depending on a context field, so one attribute set serves several record types.
21
4. "Why are key flexfields hard to change later?" Probing: the practical warning. Stalls: "They are not." Moves up: the accounting structure is embedded in data, reports and interfaces, so adding or resizing a segment is a major project.