Readers who have been receiving TECHANGES for some time have most likely seen a few articles that focus on the Oracle® accounting flexfield, or the chart of account in Oracle E-Business Suite. The accounting flexfield allows businesses to keep track of their financial transaction data by organizing them by different segments of the business, often including department, business unit, or company. The accounting flexfield is only one of the many key flexfields that must be set up in E-Business Suite, and there is another type of flexfield called a descriptive flexfield that E-Business Suite users can use for custom applications. In this article, we will discuss the setup procedures of key flexfields other than the accounting flexfield.
The following are many of the key flexfields in Oracle E-Business Suite, as well as their codes and owning applications.
We will include additional information about the flexfields in bold italics.

Asset Key Flexfield
Oracle Assets uses the asset key flexfield to group your assets by non-financial information. You design your asset key flexfield to record the information you want. Then, you group your assets by asset key so you can find them without an asset number.

Cost Allocation FlexField
You must be able to get information on labor costs from your payrolls and send this information to other systems. Payroll costs must go to the general ledger. Additionally, you may need to send them to labor distribution or project management systems. The Cost Allocation Flexfield lets you record, accumulate, and report your payroll costs in a way which meets the needs of your enterprise.

Location FlexField
Oracle Assets uses the location flexfield to group your assets by physical location. You design your location flexfield to record the information you want so that you can report on your assets by location. You can also transfer assets that share location information as a group, such as when you move an office to a new location.

System Items Flexfield (Item FlexField)
You can use the System Items Flexfield (also called the Item Flexfield) for recording and reporting your item information. You must design and configure your Item Flexfield before you can start defining items. All Oracle Applications products that reference items share the Item Flexfield and support multiple-segment implementations. However, this flexfield supports only one structure.

Planning and Defining Key Flexfields
Your first step in planning your key flexfields is to determine which key flexfields your Oracle Applications product requires. You should also determine the purpose of the key flexfield, as well as the number and length of its available segment columns. You should also note whether your key flexfield allows more than one structure, and determine if you do indeed need to define more than one structure. For example, the System Items Flexfield (Item Flexfield) supports only one structure. Note: You can determine whether a key flexfield allows more than one structure, as well as other information on the key flexfield, in the Register Key Flexfield form.
Those key flexfields that allow multiple structures may use different mechanisms to determine which structure a user sees. For example, the Accounting Flexfield uses multiple structures if you have multiple sets of books with differing charts of accounts. Your forms determine which Accounting Flexfield structure to display by using the value of the GL_SET_OF_BOOKS_ID profile option associated with your current responsibility. Other key flexfields may have a field built into the form that allow a user to essentially choose which structure appears.
You should decide on the number, order and length of your segments for each structure. You must also choose how to validate each segment. When you are planning your flexfields, you should consider the following questions and their corresponding decisions:
- How do you want to break down reporting on your key flexfield data? If you want to report on your data by certain criteria or sub-entities, such as account number or project or region, you may want to consider making that sub-entity a distinct segment, rather than combining it with another sub-entity, so that you can categorize and report on smaller discrete units of information.
- How often does your organization change? This would affect how you set up your values. For example, if you disable old cost centers and enable new ones frequently, you would “use up” cost center values quickly. You would therefore want to use a larger maximum size for your cost center value set so that you can have more available values (for example, you have 1,000 available values for a 3-character value set instead of 100 available values for a 2-character value set).
- Do you want to make a segment defined as required (a value must be entered)?
Before defining your key flexfield structures, use the Value Sets window to define any value sets you need.
Perform the following steps to define your key flexfield structure:
- Navigate to the Key Flexfield Segments window.
- Select the application name and title of the key flexfield you want to define. You cannot create a new flexfield or change the name of an existing flexfield using this window.
- For those application flexfields that support more than one structure (such as the multiple charts of accounts in the Accounting Flexfield), you can create a new structure for your flexfield by inserting a row. If you are defining the first structure for your flexfield, select the default flexfield structure that appears automatically. If you are modifying an existing structure, use your cursor keys to select the title of the flexfield structure you want. You can change the title of an existing flexfield structure by typing in a new title over the old title. You see this name when you choose a flexfield structure and as the window title in your key flexfield (unless the flexfield is used for a specific purpose such as “Consolidation Account”, in which case the structure title does not appear in the flexfield window). The code for a structure is a developer key and is used by loader programs. The value you specify for the code will default into the title field. If you upgraded, the codes for your structures were created from your structure titles during the upgrade.
- If you want to generate a database view for this structure, enter a view name. Your view name should begin with a letter and must not contain any characters other than letters, numbers, or underscores ( _ ). Your view name must not contain any spaces.
- Check the Enabled check box so that this structure may be used in your key flexfield. You cannot delete structures from this window because they are referenced elsewhere in the system, but you can disable them at any time. A structure must be enabled before it can be used. You should enable at least one structure for each key flexfield. If you disable a structure that already contains data, you will not be able to query up the existing data or create new combinations.
- Select the character you want to use to separate your flexfield segment values or descriptions. This separator will appear whenever your application forms display concatenated segment values or descriptions.
- Select the Cross-Validate Segments check box if you want to cross-validate multiple segments using cross-validation rules. You can define cross-validation rules to describe valid combinations using the Cross-Validation Rules form. Uncheck the box if you want to disable any existing cross-validation rules.
- Indicate whether you want to freeze your rollup group definitions. If you do, you prevent users from modifying rollup groups using the Segment Values form. You can freeze rollup groups before or after you define your flexfield structure.
- If you want to allow dynamic inserts, check the Allow Dynamic Inserts check box. You would allow dynamic inserts of new valid combinations into your generic combinations table if you want users to create new combinations from windows that do not use your combinations table. You should prevent dynamic inserts if you want to enter new valid combinations only from a single application window you create to maintain your specific combinations table. You can update this field only if your application flexfield has been built to allow dynamic inserts, and the flexfield has been defined in the Register Key Flexfields form with Dynamic Inserts Feasible checked. Otherwise this field is display only.
- Choose the Segments button to open the Segments Summary window, and define your flexfield segments.
- Save your changes.
- Freeze your flexfield structure by checking the Freeze Flexfield Definition check box. Do not freeze your flexfield if you want to set up or modify your flexfield segments or change the appearance of your key flexfield window. You cannot make most changes while your flexfield is frozen.
- Compile your frozen flexfield by choosing the Compile button. Your changes are saved automatically when you compile. You must freeze and compile your flexfield definition before you can use your flexfield. If you have more than one flexfield structure, you must freeze, save, and compile each structure separately. If you decide to make changes to your flexfield definition, make sure that you freeze and save your flexfield definition again after making your changes.
If you need to modify an existing flexfield that has already been set up, eprentise software allows you to change any key flexfield through an automated mapping process. Available mappings are one-to-one, one-to-many, and many-to-one at the segment and value levels. Please contact us for additional information regarding changing existing flexfields.
Bibliographic Reference
Woodhull, S.,Wang, M., and contributing authors. Oracle Applications Flexfields Guide, Release 12. Part No. B31456-01. 1994, 2006.
Some of the above material may be copyrighted by Oracle Corporation. Oracle is a registered trademark of Oracle Corporation. Other names may be trademarks of their respected owners.


