Sunday, December 25, 2016

Oracle Applications FlexField Details

Flexfields are Oracle's main method of storing data. Flexfields provide clients with flexible features needed to satisfy the following business needs:
  • Configure applications to conform to current business practice for accounting codes, item/product codes, HR codes such as job and position codes, and other codes.
  • Configure applications to capture data that would not otherwise be tracked by the application.
  • Have "intelligent fields" that are fields comprised of one or more segments, where each segment has both a value and a meaning.
  • Rely upon application to validate the values and the combination of values that are entered in intelligent fields.
  • Have the structure of an intelligent field change depending on data in the form or application data.
  • Configure data fields to your meet your business needs without programming.
  • Query intelligent fields for very specific information.

Flexfields are generally created and maintained by a System Administrator via the Applications Object Library (Sys Admin) module. The following sections describe the types of flexfields available and how these flexfields are structured.

1. Flexfield Types

There are two types of flexfields in Oracle: Key flexfields (such as a job flexfield) and Descriptive flexfields (additional order hold approval information). Each flexfield is made up of segments (i.e. sub-fields) for which data entry and validation procedures may be easily completed without programming.

1.1. Key Flexfields

Key flexfields provide a flexible way for the Oracle Applications to represent objects such as accounting codes, item numbers, job descriptions, and more. Key flexfield definitions are seeded within Oracle forms, and some key flexfields are required, while others are optional. Here is a table listing all the key flexfields in Oracle Applications, ordered by the application that "owns" the key flexfield. Note that other modules, who do not "own" the flexfield, may have access to define and/or use the flexfield.
Oracle Assets
Asset Key Flexfield
Category Flexfield
Location Flexfield
Oracle General Ledger
Accounting Flexfield (changes within the Flexfield)
Oracle Human Resources
Grade Flexfield
Job Flexfield
Personal Analysis Flexfield

Oracle Inventory
Position Flexfield
Soft Coded KeyFlexfield
Account Aliases
Item Catalogs
Item Categories

Oracle Payroll
Stock Locators
System Items
Bank Details
Cost Allocation
People Group
Oracle Receivables (Penaki)
Oracle Service
Sales Tax Location
Oracle Service Item
Oracle Training Administration
Training Resources

To an end user, a key flexfield appears on the form as a normal text field with an ellipsis  prompt at the end of the field. This prompt function has a drill down, bringing users to a list of values These segments and combination of values (segment values) represent the object.  For example, the General Ledger uses a key flexfield to represent accounting codes throughout Oracle Applications. The following screenshot illustrates the drilldown from an accounting flexfield on a journal entry window to its individual segments and segment values.

For more information on the components of flexfields, refer to the following sections. For information on how each key flexfield is used within its "owner" application, please refer to that module's Practice Aid and/or Oracle User Guide at

1.2. Descriptive Flexfields

Similarly, descriptive flexfields provide a flexible way for Oracle to provide configurable "expansion space" or additional fields in forms. A descriptive flexfield appears on the form i.e. screen as a two-character-wide text field with square brackets [ ] as its prompt, or as context-sensitive fields that appear only when needed.

The following screenshot illustrates a descriptive flexfield called “Reconciliation Headers” used to capture additional data that would not normally be required in a journal entry window.

Both types of flexfields described above enable clients to customize Oracle Application features through simple configuration setups i.e. without programming. The following sections discuss the setup steps required to configure these flexfields.

1.3. Control Considerations

Refer to each module's practice aid for control considerations pertinent to that's module's specific flexfields.

2. Key Flexfield Components

2.1. Flexfield Structure

To create a key or descriptive flexfield, clients must first select the type of structure, such as an Accounting Flexfield, Asset Flexfield, or Item Catalog. Then, they must create the structure. Flexfield structures provide the framework for all of the flexfield's components and tie the Key Flexfield to the Application. Below, the Accounting Flexfield named Operations_Accounting (the structure) is created.

Each Key flexfield can be set with the following configurations.


2.1.1. Freeze Flexfield Definitions

Once the structure's setup has been completed (or modified), the flexfield definition must be frozen and saved. These actions cause flexfields to compile automatically in order to improve on-line performance.

2.1.2. Enabling Flexfield Structures

The Enabled check box is checked so that structures may be used in key flexfields. Structures cannot be deleted from this window because they are referenced elsewhere in the system, but they can be disabled at any time. A structure must be enabled before it can be used.

2.1.3. Segment Separator

This character is used to separate flexfield segment values or descriptions whenever the application displays concatenated segment values or descriptions. The available values are  

2.1.4. Cross-validation rules

The Cross-Validate Segments check box is selected if clients want to cross-validate multiple segments using cross-validation rules. Cross-validation rules are used to define valid combinations using the Cross-Validation Rules window. This box is unchecked if clients want to disable any existing cross-validation rules. For a detailed discussion of cross-validation rules in the context of the General Ledger key accounting flexfield, refer to the General Ledger practice aid. The cross-validation concepts discussed there apply to other key flexfields.

2.1.5. Freeze Rollup Groups

Used to indicate whether rollup group definitions are to be frozen. If this is enabled, users are prevented from modifying rollup groups using the Segment Values form. Refer to the General Ledger practice aid for more information on rollup groups.

2.1.6. Allow Dynamic Inserts

Dynamic Inserts are used for General Ledger Key Flexfield to allow dynamic insertion of new valid account code combinations into the GL code combinations table. For more information on Dynamic Insertion, please refer to the General Ledger Practice Aid. 

2.2. Value Sets

Oracle uses the concept of segments (i.e. sub-fields) to determine the data structure and they want to use and in what order they want them to appear. Value sets govern the type of content that can be entered into a segment and what validation needs to occur for each segment.

Note: This screen was modified with the addition of the usages button. The usages button is used to view which flexfield segment or concurrent program parameter uses a particular value.
Please also consider the new color scheme Oracle has added.

2.3. Flexfield Segments

A segment is a single sub-field within a flexfield. They can also be thought of as "containers" for segment values.  Flexfield Segments can have two components, the segment definition and a segment qualifier.

2.3.1. Flexfield Segment Definition

For a key flexfield, a segment's definition usually describes a particular characteristic of the entity identified by the flexfield. In the accounting flexfield each segment is separated by a hyphen and represents a different characteristic, in the screenshot below the different segments are Company, Department, Account, Sub-Account, and Product.

The following window is used to configure the number of segments, their appearance and meaning as well as the validation of segment values, if required. In the example below, the account segment is assigned a value set “Operations Account” which restricts the range of values that can be defined for the account segment to a maximum size of 4 alphanumeric characters.

Because the conditions specified for value sets determine what values can be used for them, both value sets and values should be defined at the same time. For example, if values are designed to be 6 characters long ranging from 000001, 000002 to 999999 instead of 1, 2, etc,  the value set would be defined to accept only values with “Right-Justify Zero-fill” set to “Yes” and other validation parameters set accordingly as illustrated below.

2.3.2. Flexfield Segment Qualifiers

A flexfield qualifier identifies a particular segment of a key flexfield. Usually an application needs some method of identifying a particular segment for some application purpose such as security or computations. However, since a key flexfield can be configured so that segments appear in any order with any prompts, the application needs a mechanism other than the segment name or segment order to use for segment identification. Flexfield qualifiers serve this purpose. Flexfield qualifiers can be thought of as "identification tags" for a segment.

For example, the Oracle General Ledger product needs to be able to identify which segment in the Accounting Flexfield contains balancing information and which segment contains natural account information. Since the Accounting Flexfield can be configured so that segments appear in any order with any prompts, Oracle General Ledger needs the flexfield qualifier to determine which segment is being used for natural account information. When an Accounting Flexfield is defined, flexfield qualifiers that apply to each segment must be specified as illustrated below.

Other applications, such as Oracle Human Resources, also use flexfield qualifiers. Oracle Human Resources uses flexfield qualifiers to control who has access to confidential information in flexfield segments.

2.4. Flexfield Segment Values

There are 3 key concepts to consider regarding Flexfield Segment Values:
·         Definition of Segment Values
·         Segment Value Qualifiers
·         Segment Value Combinations

2.4.1. Definition of Segment Values

Segment values are individual values contained within the segment that further define the segment definition. In the example below, Total Assets (account 1000), Cash (account 1110) and Payroll Cash Accounts (account 1120) are individual values within the 'Account' Segment:


2.4.2. Segment Value Qualifiers

A segment value qualifier identifies a particular type of value within a single segment of a key flexfield. In the Oracle Applications, only the Accounting Flexfield uses segment value qualifiers. A segment value qualifier can be thought of as an "identification tag" for a value. In the Accounting Flexfield, segment value qualifiers determine whether detail posting or budgeting are allowed for a particular value. In the example below, the Cash Account is defined as an Asset account, and this value can be used in budgeting and posted transactions.

It is easy to confuse the two types of qualifiers. A flexfield qualifier is used by the whole flexfield to tag its pieces i.e. segments, and a segment qualifier is used to tag its values and is only applicable to the Oracle General Ledger accounting flexfield.

Because the GL Accounting Flexfield is the only Oracle Applications key flexfield that uses the parent, rollup group, hierarchy level and segment qualifier information illustrated above, clients need only enter this information for values that are associated with the Accounting Flexfield. For more information on such account hierarchies, refer to the General Ledger practice aid.

2.5. Control Considerations

Refer to each module's practice aid for control considerations pertinent to that's module's specific flexfields.

3. Descriptive Flexfield Components

Descriptive Flexfields (DFFs) use the same concepts as Key Flexfields, including Structure, Segments, and Segment Values. The difference with descriptive flexfield is that they use columns that are added on to a database table. The table contains any columns that its entity requires, such as a primary key column and other information columns. For example, a Vendors table would contain columns for standard vendor information such as Vendor Name, Address, and Vendor Number. The descriptive flexfield columns provide ”blank” columns that you can use to store information that is not already stored in another column of that table. A descriptive flexfield requires one column for each possible segment and one additional column in which to store structure

Once the DFF's structure is defined, compiled and frozen, Oracle Applications submits a concurrent request to generate a database view of the table that contains the descriptive flexfield segment columns.

Descriptive flexfields have two different types of segments, global and context–sensitive, that you can decide to use in a descriptive flexfield structure. A global segment is a segment that always appears in the descriptive flexfield pop–up window, regardless of context (any other information in your form). A context–sensitive segment appears when the appropriate context information is entered in a related field.

The following screenshot illustrates a descriptive flexfield called “Reconciliation Headers” used to capture additional data that would not normally be required in a journal entry window.

Note that fields in a descriptive flexfield pop-up window are also referred to as segments even though they do not necessarily make up meaningful codes like the segments in key flexfields.


3.1. Control Considerations

Refer to each module's practice aid for control considerations pertinent to that's module's specific flexfields.

No comments:

Post a Comment

Best Blogger TipsGet Flower Effect