Defining Key Flexfield Structures

Before defining your key flexfield structures, use the Value Sets window to define any value sets you need. See: Value Set Windows

Perform the following steps to define your key flexfield structure.

  1. Navigate to the Key Flexfield Segments window.

  2. 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.

  3. 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.

  4. 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. See: Overview of Flexfield Views.

  5. 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.

  6. 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.

    You should choose your separator character carefully so that it does not conflict with your flexfield data. For example, if your data frequently contains periods ( . ) in monetary or numeric values, you should not use a period as your segment separator.

    It is recommended that you do not use a character as your segment separator if you expect that character to appear frequently in your segment values or descriptions.

    If you do use a character that appears in your segment values or descriptions, then that character will be preceded by a backslash (\) when it appears in a value or a description. Also, when users use the Query Find feature, they will need to precede the character in the segment values with a backslash. A backslash in your values will be preceded by another backslash.

    Note: Do not use a backslash as your segment separator.

    For example, say the segment separator is a period (.) and your values contain periods also. The table below illustrates how the segment values would appear in the combination.

    Segment Values Concatenated Segments as Combination
    "1.2", "34", "5.6" "1\.2.34.5\.6"
    "1", "2.34", "5.6" "1.2\.34.5\.6"
    "1\.2", "34\.5", "6" "1\\.2.34\\.5.6"

    Warning: Some Oracle E-Business Suite tables store the segment separator as part of your flexfield values. Changing your separator once you have data in such tables may invalidate that data and cause application errors.

  7. 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. See: Cross-Validation Rules.

  8. 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. See: Segment Values.

  9. 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.

  10. Choose the Segments button to open the Segments Summary window, and define your flexfield segments. See: Defining Segments.

  11. Save your changes.

  12. 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.

  13. 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.

Warning: Do not modify a frozen flexfield definition if existing data could be invalidated. An alteration of the flexfield structure once you have any flexfield data can create serious data inconsistencies. Changing your existing structures may also adversely affect the behavior of any cross-validation rules or shorthand aliases you have for your structures, so you should be sure to manually disable or redefine any cross-validation rules and shorthand aliases to reflect your changed structures.

Note: When a flexfield is compiled, the system checks segment names to ensure that they follow the Segment Naming Conventions. If they do not follow these rules, you will get a Warning message.

Once a flexfield is compiled, a concurrent request is submitted to generate database views using the defined segment names. These database views enable simpler custom reporting on flexfields data. The generation of these views require that these segment naming conventions be followed.

Related Topics