We use the following terms for both key and descriptive flexfields:

  1. Structure, Segment & Qualifier
  2. Value (Parent, Group, Hirearchy & Qualifier) , Value Description & Value Set
  3. Security Rule, Cross-Validation & Alias

Structure
A flexfield structure is a specific configuration of segments. If you add or remove segments, or rearrange the order of segments in a flexfield, you get a different structure.
You can define multiple segment structures for the same flexfield (if that flexfield has been built to support more than one structure). Your flexfield can display different prompts and fields for different end users based on a data condition in your form or application data. Both key and descriptive flexfields may allow more than one structure.
In some applications, different users may need a different arrangement of the segments in a flexfield (key or descriptive). Or, you might want different segments in a flexfield depending on, for example, the value of another form or database field.
Your Oracle General Ledger application, for example, provides different Accounting Flexfield (Chart of Accounts) structures for users of different sets of books. The Oracle General Ledger application determines which flexfield structure to use based on the value of the GL Set of Books Name user profile option.
Segment
A segment is a single sub–field within a flexfield. You define the appearance and meaning of individual segments when customizing a flexfield. A segment is represented in your database as a single table column.
You must choose two lengths for each segment, the displayed length and the maximum length. The maximum length is the length of the longest value a user can enter into a segment. The largest maximum length you can choose must be less than or equal to the length of the underlying column that corresponds to the segment. Because these column sizes vary among flexfields, you need to know what column lengths are available for your flexfield. The displayed length is the segment length a user sees in the pop–up window. If the displayed length is less than the maximum length, the
user must scroll through the segment to see its entire contents.
For a key flexfield, a segment usually describes a particular characteristic of the entity identified by the flexfield. For example, you can have a key flexfield that stores part numbers. The key flexfield can contain the part number PAD–YEL–NR–8 1/2×14, which represents a yellow, narrow ruled, 8 1/2” x 14” note pad. Each section in the part number, separated by a hyphen, describes a characteristic of the part.
The first segment describes the object, a note pad, the second segment describes the color of the object, yellow, and so on. Note that we also refer to the fields in a descriptive flexfield pop–up window as segments even though they do not necessarily make up meaningful codes like the segments in key flexfields. However, they do often describe a particular characteristic of the entity identified elsewhere on the form you are using.
Values, Validation and Value Sets
Your end user enters a segment value into a segment while using an application. Generally, the flexfield validates each segment against a set of valid values (a ”value set”) that are usually predefined. To ”validate a segment” means that the flexfield compares the value a user enters in the segment against the values in the value set for that segment.
You can set up your flexfield so that it automatically validates segment values your end user enters against a table of valid values (which may also have value descriptions). If your end user enters an invalid segment value, a list of valid values appears automatically so that the user can choose a valid value.
You can think of a value set as a ”container” for your values. You choose what types of values can fit into your value set: their length, format, and so on. A segment is usually validated, and usually each segment in a given flexfield uses a different value set. You can assign a single value set to more than one segment, and you can even share value sets among different flexfields. For most value sets, when you enter values into a flexfield segment, you can enter only values that already exist in the value set assigned to the segment.

Accounting Flexfield : The code you use to identify a general ledger (GL) account in Oracle.
Flexfield Qualifiers : Balancing segment, cost center segment, natural account, inter-company segment.

 

Balancing SegmentBalancing segment is the level for balancing the accounting entries.
A balancing entity is one for which you prepare a balance sheets as a balancing segment value in the accounting flexfield structure. In any OU, you can have multiple balancing entities and each of these must balance within itself.If you define the balancing segment as company, then both debit and credit should be balanced at the company level when the transactions are posted to GL.
A Legal entity may consist of one or more balancing segments. If you define multiple divisions of a company in your chart of accounts for which you produce a balance sheet then each compnay is setup as a legal entity and each division as an OU.
(Notes: There is no hard and fast rule what should be the values of your balancing segment. While doing the implementation the client should specify at what level they want to see the net balance, profit/loss etc. The values can be some customers for which they want to track the profit-loss, some joint venters..etc. It should aslo contain one value for the whole business for which you want to track the net retained earnings)
Cost Center Segment – This attribute is used to identify the cost center segment.
Cost centres are divisions that add to the cost of the organization, but only indirectly add to the profit of the company. Typical examples include Research and Development, Marketing and Customer service. Companies may choose to classify business units as cost centres, profit centres, or investment centres.
(Examples: Corporate transaction, Engineering Dept,Material Dept, XYZ Exepense, Sales, Discount, ABC A/P )
Natural Account Segment – The natural account number is that portion of the account number that identifies what the financial activity is in pure accounting terms.  Some people (and some general ledger systems) confuse this definition by referring to the natural account number as the account number, implying that it is the entire basis for the chart of accounts.
Natural segment is nothing but the account heads type. In other words, natural segment determines the account type. There are five types of account types assets, liabilities, expenses, revenue and owner’s equity. Typically ACCOUNT segment would be your natural segment.
ex: Current Assets, Fixed Assets, Other Assets, Current liabilities
Code Combination : One full accounting flexfield with all segment values.
Dynamic Insertion / Cross-Validation : Automatic creation of account code combination based on rules defined with code combinations.
Secondary Tracking Segment is a Flex field qualified added in the 11.5.10 release. The secondary tracking segment is used in the revaluation, translation, and fiscal year-end close processes. The system will automatically maintain unrealized gain/loss, retained earnings, and cumulative translation adjustments by unique pairs of balancing segment and secondary tracking segment values. you can assign Secondary tracking segment flex field qualifier to an segment which haven’t assigned Natural account, balensing Segment and inter company.
What exactly it does:
Secondary tracking segment is not another balancing segment; it allows you to maintain accounting data at a finer level of detail for unrealized gain/loss account (Revaluation) account, Cumulative Translation Adjustment (CTA) account & Retained Earnings account (closing).
If you specified to use a Secondary Tracking Segment for Revaluation, the Unrealized Gains/Losses account will be tracked by the balancing segment and secondary tracking segment.
If you specified to use a Secondary Tracking Segment for Closing and Translation, the Retained Earnings account and the Cumulative Translation Adjustment (CTA) accounts will be tracked by both the balancing segment and secondary tracking segment.

Advantages of using Secondary Tracking Segment

• Secondary tracking segments provide better audit and analysis capabilities.
You now have more visibility into the detailed components of Retained Earnings, Cumulative Translation Adjustment, and Unrealized Gains and Losses. Instead of tracking these accounts by a balancing segment alone, you can track them by the balancing segment and another segment of your choice, such as Department, Line of Business, or Cost Center.
• A secondary tracking segment also provides better control and consistency of similar transactions because this option is set at the ledger level instead of through a profile option.
•By being able to nominate any segment other than your primary balancing segment or natural account segment to act as your secondary tracking segment, you have greater flexibility in tracking accounts by pairs of segments.
Disadvantages of using Secondary Tracking Segment
Secondary tracking segment does not support suspense adjustment, intercompany segment value balancing and rounding imbalance processing.

A flexfield is a field made up of sub–fields, or segments. There are two types of flexfields: key flexfields and descriptive flexfields. A key flexfield appears on your form as a normal text field with an appropriate prompt. A descriptive flexfield appears on your form as a two–character–wide text field with square brackets [ ] as its prompt. When opened, both types of flexfield appear as a pop–up window that contains a separate field and prompt for each segment. Each segment has a name and a set of valid values. The values may also have value descriptions.
KFF, DFF, Structure, Segemnt, Value, Value Set, Value Description, Aliases, Rules, Groups, Security.

Key Flexfields
Most organizations use ”codes” made up of meaningful segments (intelligent keys) to identify general ledger accounts, part numbers, and other business entities. Each segment of the code can represent a characteristic of the entity. For example, your organization might use the part number PAD–NR–YEL–8 1/2×14” to represent a notepad that is narrow–ruled, yellow, and 8 1/2” by 14”. Another organization may identify the same notepad with the part number ”PD–8×14–Y–NR”.
Both of these part numbers are codes whose segments describe a characteristic of the part. Although these codes represent the same part, they each have a different segment structure that is meaningful only to the organization using those codes.
The Oracle Applications store these ”codes” in key flexfields. Key flexfields are flexible enough to let any organization use the code scheme they want, without programming. When your organization initially installs Oracle Applications, you and
your organization’s implementation team customize the key flexfields to incorporate code segments that are meaningful to your business. You decide what each segment means, what values each segment can have, and what the segment values mean. Your organization can define rules to specify which segment values can be combined to make a valid complete code (also called a combination). You can also define relationships among the segments. The result is that you and your
organization can use the codes you want rather than changing your codes to meet Oracle Applications’ requirements.
For example, consider the codes your organization uses to identify general ledger accounts. Oracle Applications represent these codes using a particular key flexfield called the Accounting Flexfield. One organization might choose to customize the Accounting Flexfield to include five segments: company, division, department, account, and project. Another organization, however, might structure their general ledger account segments differently, perhaps using twelve segments instead of five. The Accounting Flexfield lets your Oracle General Ledger application accommodate the needs of different organizations
by allowing them to customize that key flexfield to their particular business usage.
Descriptive Flexfields
Descriptive flexfields provide customizable ”expansion space” on your forms. You can use descriptive flexfields to track additional information, important and unique to your business, that would not otherwise be captured by the form. Descriptive flexfields can be context sensitive, where the information your application stores depends on other values your users enter in other parts of the form. A descriptive flexfield appears on a form as a single–character, unnamed field enclosed in brackets. Just like in a key flexfield, a pop–up window appears when you move your cursor into a
customized descriptive flexfield. And like a key flexfield, the pop–up window has as many fields as your organization needs.
Each field or segment in a descriptive flexfield has a prompt, just like ordinary fields, and can have a set of valid values. Your organization can define dependencies among the segments or customize a descriptive flexfield to display context–sensitive segments, so that different segments or additional pop–up windows appear depending on the values you enter in other fields or segments.

  1. KFF & DFF
  2. Structure, Segment & Qualifier
  3. Value (Parent, Group, Hirearchy & Qualifier) , Value Description & Value Set
  4. Security Rule, Cross-Validation & Alias
  5. Accounting Flexfield (Chart of Account & Account Generator processes)