(N) AP > Setup > Flexfield > Description > Segments
To define your descriptive flexfield, you define the segments that make up your descriptive
flexfield structures, and the descriptive information and validation information for each segment
in a structure. You also determine the appearance of your descriptive flexfield window, including
the size of the window, the number and order of the segments, and the segment descriptions
and default values. The maximum number of segments you can have within a single structure
depends on which descriptive flexfield you are defining.
To take advantage of the flexibility and power of descriptive flexfields in your application, you
must define your flexfield structure. If you do not define any descriptive flexfield segments, you
cannot use descriptive flexfields within your windows, but there is no other loss of functionality.
Once you define or change your flexfield, you must freeze your flexfield definition and save your
changes. When you do, Oracle Applications automatically compiles your flexfield to improve
online performance.
Once you freeze your flexfield definition and save your changes, Oracle Applications submits a
concurrent request to generate a database view of the table that contains your flexfield segment
columns. You can use these views for custom reporting at your site. See: Overview of Flexfield
Views.
You can see your flexfield changes immediately after you freeze and recompile your flexfield.
However, your changes do not affect other users until they change responsibilities or exit the
application they are using and sign back on.
Suggestion: Plan your descriptive flexfield structures carefully, including all your segment
information such as segment order and field lengths, before you set up your segments using this
window. You can define your descriptive flexfields any way you want, but changing your
structures once you acquire flexfield data may create data inconsistencies that could have a
significant impact on the performance of your application or require a complex conversion
program.
Defining Descriptive Flexfield Structures
Before defining your descriptive flexfield structures, use the Value Sets window to define any
value sets you need. See: Value Sets.
Application and Title
Use View > Find to select the title and application name of the descriptive flexfield you want to
define. You cannot create a new flexfield using this window. See: Identifying Descriptive Flexfields
in Oracle Applications.
You can change the flexfield title by typing in a new name over the old name. You see this name
whenever you select a descriptive flexfield and as the window title whenever a user enters your
descriptive flexfield.
Freeze Flexfield Definition
The default value for this field is unchecked (flexfield definition not frozen).
Do not freeze your flexfield if you want to define new structures, set up or modify your flexfield
segments, or change the appearance of your descriptive flexfield window. You cannot make most
changes while the flexfield is frozen.
Freeze your flexfield after you set it up. Then save your changes. When you do, this window
automatically compiles your flexfield. You must freeze and compile your flexfield definition before
you can use your flexfield. If you decide to make changes to your flexfield definition, make sure
that you freeze and save your flexfield definition again once you have made your changes.
Warning: Do not modify a frozen flexfield definition if existing data could be invalidated. An
alteration of the flexfield structure can create data inconsistencies.
Segment Separator
Enter the character you want to use to separate your segments in a concatenated description
field.
You should choose your separator character carefully so that it does not conflict with your
flexfield data. Do not use a character that is used in your segment values. For example, if your
data frequently contains periods ( . ) in monetary or numeric values, do not use a period as your
segment separator.
Warning: Some Oracle Applications 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.
Context Field Region
Enter information for your context field here.
Prompt
The context field automatically displays any existing context window prompt for this flexfield. You
can change this prompt by typing a new prompt over the current prompt. Your flexfield displays
this prompt in a flexfield window if you can choose the context-sensitive flexfield structure you
want to see when you enter the flexfield (that is, if you have permitted Override).
When you choose a prompt, you should keep in mind that the context field in the flexfield
window appears as just a normal field or segment to a user. For example, if you have a Client
Type descriptive flexfield with two different segment structures called Customer (for external
clients) and Employee (for internal clients), you might define your prompt as "Client Type".
Value Set
If you have context field values contained in an existing table, you can create a value set that
includes those values, and enter the name of that value set here. Using a value set for the context
field allows you to have valid context field values without specifically defining context-sensitive
segments for those context field values.
For example, if you have a list of countries where you want all the countries to be valid context
field values, but only a few of the countries have related context-sensitive segments, you would
use a value set that includes your entire list of countries. You would then define context-sensitive
segments for just those countries that need context-sensitive segments.
Default Value
Enter a default context field value for your flexfield to use to determine which descriptive
flexfield structure to display. You must define the default context field value as a structure in the
Context Field Values zone before you can compile your flexfield. Your flexfield automatically uses
this default context field value if you do not define a reference field.
If you do not have any context-sensitive segments, or you want the context field to remain blank
unless filled in by a reference field, you should leave this field blank.
Required
Indicate whether a context field value is required. If a context field value is required, your
flexfield does not allow you to leave the flexfield window without entering a valid value.
Otherwise, you do not have to choose a value for your context field. In this case, you leave the
flexfield window without seeing any context-dependent structures.
Reference Field
Enter the name of the reference field from which your flexfield can automatically derive the
context field value. You can select from a list of potential reference fields that have been
predefined. Some descriptive flexfields may not have any reference fields predefined. See:
Reference Fields.
Displayed
If you have any context-sensitive segments for your flexfield, you should always check the
Displayed check box if you do not specify either a default value or a reference field. Without the
displayed context field, your flexfield must determine the context field value from the reference
field or your default value.
If you check the Displayed check box, a user can see and change the context field value that your
flexfield derives from a reference field or obtains as a default value.
Suggestion: You should leave the Displayed check box unchecked only if the context field value
derives from a reference field or a default value that you specify using this region, or you have
only global segments. If you do derive your context field value from a reference field, however,
we recommend that you do not allow your user to see or change that value in the flexfield
window.
Note: In earlier versions of Oracle Applications, you allow users to see and modify the value in
the context field by checking the "Override Allowed (Display Context)" check box. This check box
is now called "Displayed" though its effect is unchanged.
Synchronize with Reference Field
Check this box if you want the context field value to be synchronized always with the reference
field value for this descriptive flexfield.
See: Synchronizing the Context Field Value with the Reference Field Value.
Context Field Values
Use this block to define valid context field values (that also serve as structure names) for this
descriptive flexfield. You can set up a different descriptive flexfield segment structure for each
value you define.
A Global Data Elements value always appears in this block. You use Global Data Elements to set
up global segments that you want to use in every segment structure. These segments appear
before any context field or context-sensitive segments in the flexfield window.
For example, suppose you have a Client Type flexfield. You have two context-sensitive structures,
Employee (internal client), and Customer (external client), for which you want to have different
segments to capture different information. However, you also want to capture certain
information for both structures. You define global segments for the common information, using
the Global Data Elements value. You also define context-sensitive segments for each of your two
structures, Employee and Customer, to capture the two sets of different information. See:
Planning Your Descriptive Flexfields.
Code
Enter a unique context field value (also known as the flexfield structure name) under the Code
column. Your flexfield uses this value, either derived from a reference field or entered by your
user in an initial descriptive flexfield window, to determine which flexfield structure to display.
This value is written out to the structure column of the underlying table.
This value must be thirty (30) characters or fewer.
Once you save your context field value, you cannot delete or change your context field value
because it is referenced elsewhere in the system. You can disable a value, however.
Suggestion: Choose and type your context field values carefully, since once you save them you
cannot change or delete them later.
If you are using a reference field, the values you enter here must exactly match the values you
expect your reference field to provide, including uppercase and lowercase letters. For example,
your reference field may be a displayed field that provides the values "Item" and "Tax", so you
would specify those. However, those would not be valid if you were using a corresponding hidden
field as your reference field and that field provides the values "I" and "T".
If you are using a value set for the context field, any values you enter here must exactly match the
values you expect your context field value set to provide, including uppercase and lowercase
letters. All the values you enter in this field must exist in the value set, or they will not be valid
context field values, even if you define context-sensitive segments for them. You only need to
enter those values that require context-sensitive segments. If the value set is a table-validated
value set, the values in this Code field correspond to the values in the ID column of the value set.
Name
Enter a name for this descriptive flexfield context value.
The context code will default in to this field. For a descriptive flexfield that is set up so that the
context field is displayed, the context name would be entered in the displayed context field, and
the context field value code will be stored in the hidden context field. The list of values on the
context field will show the context name and description.
If you use a value set for the context field, the displayed value in the value set overrides the
corresponding value name you type in this field (for the same hidden ID value or context code).
Description
Enter a description for this descriptive flexfield context field value. You can use this description to
provide a better explanation of the content or purpose of this descriptive flexfield structure. You
see this description along with the context name whenever you pick a descriptive flexfield
context from inside the flexfield window. When you navigate to the next zone, this window
automatically saves your pending changes.
Attention: The width of your descriptive flexfield window depends on the length of the longest
description you enter in this field, if this description is longer than the longest description size
you choose for any of your segments in a given structure.