Planning and Defining Descriptive Flexfields

Descriptive Flexfield Concepts

This chapter contains information on planning and defining descriptive flexfields. It includes further discussion of flexfields concepts and provides additional concepts that are specific to descriptive flexfields. It also includes discussions of the procedures you use to set up any descriptive flexfield, as well as how to identify a descriptive flexfield on a particular form.

You should already know some basic flexfields terms and concepts:

Now that you know terms and concepts that apply to both key and descriptive flexfields, you need to know additional terms that apply to descriptive flexfields only.

Descriptive flexfield segments

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 (or page, for HTML-based applications), regardless of context (any other information in your form or page). A context-sensitive segment is a segment that may or may not appear depending upon what other information is present in your form.

Context-sensitive segments

If you have context-sensitive segments, your descriptive flexfield needs context information (a context value) to determine which context-sensitive segments to show. A descriptive flexfield can get context information from either a field somewhere on the form, or from a special field (a context field) inside the descriptive flexfield pop-up window. If the descriptive flexfield derives the context information from a form field (either displayed or hidden from users), that field is called a reference field for the descriptive flexfield.

Note: Reference fields have limited support in HTML-based applications, and their usage in HTML-based applications requires additional setup steps. For more information, see the Oracle Application Framework Developer's Guide, available from My Oracle Support Knowledge Document 1087332.1, Oracle Application Framework Release Notes, Release 12.1.3.

A context field appears to an end user to be just another segment, complete with its own prompt. However, a context field behaves differently from a normal flexfield segment (either global or context-sensitive). When a user enters a context value into the context field, the user then sees different context-sensitive segments depending on which context value the user entered. You define a context field differently as well. You use a context field instead of a reference field if there is no form field that is a suitable reference field, or if you want your user to directly control which context-sensitive segments appear.

A context-sensitive segment appears once the appropriate context information is chosen. The context-sensitive segments may appear immediately if the appropriate context information is derived from a field before the user enters the descriptive flexfield.

For a descriptive flexfield with context-sensitive segments, a single "structure" consists of both the global segments plus the context-sensitive segments for a particular context field value. That is, a structure consists of all the segments that would appear at one time (after the structure has been chosen).

Example of context-sensitive segments

the picture is described in the document text

Related Topics

How Segments Use Underlying Columns

Different Arrangements of Segments

Planning Your Descriptive Flexfield

How Segments Use Underlying Columns

the picture is described in the document text

A descriptive flexfield uses 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 probably 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 information (that is, the context value). You can define only as many segments in a single structure as you have descriptive flexfield segment columns in your table. The descriptive flexfield columns are usually named ATTRIBUTEn where n is a number.

the picture is described in the document text

A global segment uses the same column for all rows in the table. A context-sensitive segment for one structure uses a given column, but a context-sensitive segment in a different structure can "reuse" that same column. When you define your descriptive flexfield, you should always define your global segments first to ensure that your global segment can "reserve" that column for all structures. Then, you define your context-sensitive segments using the remaining columns.

Note that when you use a descriptive flexfield that has context-sensitive segments, and you change an existing context value to a new context value, the flexfield automatically clears out all the context-sensitive segment columns, and re-defaults any segments that have default values.

Related Topics

Descriptive Flexfield Concepts

Different Arrangements of Segments

Planning Your Descriptive Flexfield

Context Fields and Reference Fields

The values of context fields and/or reference fields influence both the behavior and the appearance of descriptive flexfields.

Context Fields

All descriptive flexfields have a hidden context field that holds structure information for the descriptive flexfield (this field is often called ATTRIBUTE_CATEGORY or CONTEXT). Depending on how you set up the flexfield, a user may also be able to see and change the context field in the descriptive flexfield window.

With earlier versions of Oracle E-Business Suite (formerly Oracle Applications), you allow users to see and modify the value in the context field in the descriptive flexfield window by checking the "Override Allowed (Display Context)" check box. This check box is now called "Displayed" though its effect is unchanged.

Using Value Sets With Context Fields

Typically, you set up context field values by typing them into the Descriptive Flexfield Segments window individually, and you then set up context-sensitive segments for each context field value. In some cases, however, you may have an existing table of the values that would be valid context field values but would not all have corresponding context-sensitive segments (for example, a table of countries), and you do not want to duplicate the contents of the existing table by creating a new context field value for each existing value in your table (each country name, for example). In this case, you can set up a value set containing your existing values and use the value set to populate the context field. You must still type in the context field value when you set up any context-sensitive segments for that value.

Value sets used for context fields must obey certain restrictions or they will not be available to use in the Value Set field in the Context Field region of the Descriptive Flexfield Segments window:

If the validation type is Independent:

If the validation type is Table:

All context field values (the code values) you intend to use must exist in the value set. If you define context field values in the Context Field Values block of the Descriptive Flexfield Segments window that do not exist in the context field value set, they will be ignored, even if you have defined context-sensitive segments for them.

In the case where the context field is displayed, there are no global segments, and a context field value is in the value set but does not have any context-sensitive segments, only the context field is displayed. The context field value the user chooses from the value set would then be stored in the structure column of the underlying descriptive flexfield table, but no values would be stored in the ATTRIBUTEn segment columns.

Using table-validated value sets with your context field allows you to make your context field values conditional, such as by restricting the values by the value of a profile option bind variable in the WHERE clause of the value set.

Example of using a value set with a context field

Suppose we have a table that has all the countries defined, and the table is called MY_COUNTRIES_TABLE. The following table shows some sample data:

REGION COUNTRY_CODE COUNTRY_NAME DESCRIPTION
America US United States US Desc.
America CA Canada CA Desc.
Europe UK United Kingdom UK Desc.
Europe GE Germany GE Desc.
Europe TR Turkey TR Desc.
Asia IN India IN Desc.
Asia JP Japan JP Desc.
Africa EG Egypt EG Desc.
Africa SA South Africa SA Desc.

Also, suppose that depending on some profile option we want our users to see only a subset of the country data. Here is the value set definition:

MY_COUNTRIES_VALUE_SET
Format Type     : Char
Maximum Size    : 80
Validation Type : Table
Table Name      : MY_COUNTRIES_TABLE
Value Column    : COUNTRY_NAME/Varchar2/80
Meaning Column  : DESCRIPTION/Varchar2/100
ID Column       : COUNTRY_CODE/Varchar2/30

WHERE/ORDER BY Clause :
      WHERE region = :$PROFILES$.CURRENT_REGION
           ORDER BY country_name

Now, when a user logs in from a site in the Europe region, for example, he or she would be able to see only European countries in the context field list of values.

Example of combining table values and context values in a value set

Suppose you defined some countries in the Context Field Values block of the Descriptive Flexfield Segments window (these values will be in the view FND_DESCR_FLEX_CONTEXTS_VL), and you have other countries in MY_COUNTRIES_TABLE. However, some of the context values in FND_DESCR_FLEX_CONTEXTS_VL do not exist in MY_COUNTRIES_TABLE. If you do not define them in your context field value set then you will not be able to use them, but you do not want to add (duplicate) them in your custom table. The solution is to create a view that is a union of the two tables, and to create a table-validated value set using that view. Here is an example:

Define the following view:

MY_COUNTRIES_UNION_VIEW
CREATE OR REPLACE VIEW MY_COUNTRIES_UNION_VIEW
        (region, country_code,
        country_name, description)
AS
SELECT  'N/A', descriptive_flex_context_code,
                descriptive_flex_context_name,
                description
FROM    FND_DESCR_FLEX_CONTEXTS_VL
WHERE   application_id = 123  -- Assume DFF's app id is 123
AND     descriptive_flexfield_name = 
        'Address Descriptive Flexfield'
AND     global_flag = 'N'
AND     enabled_flag = 'Y'
UNION
SELECT  region, country_code
        country_name,
        description
FROM    MY_COUNTRIES_TABLE
WHERE   enabled_flag = 'Y'

Then define the following value set.

MY_COUNTRIES_VALUE_SET
Format Type     : Char
Maximum Size    : 80
Validation Type : Table
Table Name      : MY_COUNTRIES_UNION_VIEW
Value Column    : COUNTRY_NAME/Varchar2/80
Meaning Column  : DESCRIPTION/Varchar2/100
ID Column       : COUNTRY_CODE/Varchar2/30

WHERE/ORDER BY Clause :
           WHERE (region = 'N/A' OR 
                  region = :$PROFILES$.CURRENT_REGION)
           ORDER BY country_name

This gives the correct union. Note that you cannot do a union in the value set WHERE/ORDER BY clause.

Example of conditional context field values without a separate table

Suppose you already defined all of your context field values, and you do not need another table. However, you want to make the values in the context field list of values conditional on some criteria (data striping).

Suppose you defined your context values using a pattern such as "<CountryCode>.<ApplicationShortName>.<FormName>. <BlockName>", where a context field value might be something like "US.SQLPO.POXPOMPO.HEADER" (this pattern is similar to that used for some globalization features of ). You want users located at U.S. sites to see only 'US.%' contexts. Here is the value set that you might define:

Custom_Globalization_Value_set 

Format Type     : Char
Maximum Size    : 80
Validation Type : Table
Table Name      : FND_DESCR_FLEX_CONTEXTS_VL
Value Column    : DESCRIPTIVE_FLEX_CONTEXT_NAME/Varchar2/80
Meaning Column  : DESCRIPTION/Varchar2/240
ID Column       : DESCRIPTIVE_FLEX_CONTEXT_CODE/Varchar2/30

WHERE/ORDER BY Clause :
            WHERE application_id = 123
            AND   descriptive_flexfield_name = 
                     'My Descriptive Flexfield'
            AND   global_flag = 'N'
            AND   enabled_flag = 'Y'
            AND   descriptive_flex_context_code LIKE 'US.%'
            ORDER BY descriptive_flex_context_name

Note That 'US.%' in the WHERE clause can be replaced with :$PROFILES$.COUNTRY_CODE || '.%' to make it conditional by the users' country.

Related Topics

Context Field Values

Descriptive Flexfield Segments Window

WHERE Clauses and Bind Variables for Validation Tables

Reference Fields

Note: Reference fields have limited support in HTML-based applications, and their usage in HTML-based applications requires additional setup steps. For more information, refer to the Oracle Application Framework Developer's Guide, available from My Oracle Support Knowledge Document 1087332.1, Oracle Application Framework Release Notes, Release 12.1.3.

Using a field as a reference field has no effect on the field itself. That is, the reference field is simply a normal form field that has nothing to do with the flexfield unless you define the flexfield to use it as a reference field. Typically, an application developer specifies one or more fields on the form as potential reference fields while building the descriptive flexfield into the form, and then you decide which, if any, reference field you want to use. Reference fields provide a way for you to tie the context-sensitivity of descriptive flexfield information you capture to existing conditions in your business data.

If you use a reference field, the value of that field populates its own column. For example, if the reference field on your form is the "Country" field, it populates the "country" column in the table (remember that the reference field is just an ordinary field on the form before you choose to use it as a reference field). However, that reference field value also populates the structure (context) column in the table, since that value specifies which structure the flexfield displays. If you provide a context field in the flexfield pop-up window, in addition to using the reference field, the reference field essentially provides a default value for the context field, and the user can choose a different context value. In this case, the reference field column and the structure column might contain different values. If you use the reference field without a displayed context field, the values in the two columns would be the same. The form also contains a hidden context field that holds the structure choice, regardless of whether you choose to display a context field in the pop-up window.

The field you choose must exist in the same block as the descriptive flexfield. In addition, if the descriptive flexfield appears in several different windows or blocks, the same field must exist in all blocks that contain this descriptive flexfield. You can specify your field using either the field name by itself or using the :block.field notation.

Tip: Choose your reference fields carefully. A reference field should only allow previously defined values so that you can anticipate all possible context field values when you define your structures using the Context Field Values zone.

For example, the descriptive flexfield in an application window may be used to capture different information based on which country is specified in a field on that window. In this case, the country field could be used as a reference field.

Typically, you would define different structures of descriptive flexfield segments for each value that the reference field would contain. Though you do not necessarily define a structure for all the values the reference field could contain, a field that has thousands of possible values may not be a good reference field. In general, you should only use fields that will contain a relatively short, static list of possible values, such as a field that offers only the choices of Yes and No or perhaps a list of countries. You should not use fields that could contain an infinite number of unique values, such as a PO Number field or a date field (unless that date field has a list of a few particular dates, such as quarter end dates, that would never change). Often the business uses of the particular window dictate which fields, if any, are acceptable reference fields.

Tip: A descriptive flexfield can use only one field as a reference field. You may derive the context field value for a descriptive flexfield based on more than one field by concatenating values in multiple fields into one form field and using this concatenated form field as the reference field (this may require a customization to the form if the form does not already include such a concatenated field).

Synchronizing the Context Field Value with the Reference Field Value

You can optionally set up your flexfield so that the context field value is always synchronized with the reference field value. You may have instances where, when querying existing records, you want the context field value to match the original reference field value, but with new records, you want the context field value to be derived from the current reference field value.

For example, say the context field is Country Code (US for United States, IN for India, AU for Australia, and so on). This information should be constant for the lifetime of a given record, such as an Expense Report; that is, it remains constant from the original data entry (and saving of the record) to subsequent queries on the record.

In this example, the Country Code value could be captured as a profile option value specific to the user. The desired behavior of which Country Code value is used by the descriptive flexfield may depend on the action at runtime. For example, say an expense report is created by an employee in India, with a Country Code of IN. If payment processing is done in Australia and the Australian (Country Code: AU) Payables Approver queries the Indian employee's expense report, the expected default Country Code context field value is IN; it is not derived from the Australian Payables Approver's profile option value of AU. However, if the Australian Payables Approver enters in his/her own expense report, then the expected default Country Code context field value is AU.

The context field value defaulting behavior is configurable for each descriptive flexfield. How you configure each descriptive flexfield determines whether the old context field value is retained or whether the new context information is accepted.

The actual end-user runtime behavior depends on whether the context field is synchronized with the reference field and whether it is displayed. The following table lists the possible behaviors:

Context Field Synchronized? Context Field Displayed? Runtime Behavior
No No The context value is derived from the reference field value the first time the descriptive flexfield record is touched. Thereafter it is never synchronized with the reference field value. Hence, whatever context information defaults at the time the record is created is carried forward. Users will not be able to change the context subsequently because the context field is not displayed. Even if the reference field value changes, the context information will not be changed because it is not synchronized.
No Yes Context is derived from the reference field value the first time the descriptive flexfield record is touched. Thereafter it is never synchronized. Users are allowed to change the context at any time.
Yes Yes The context value is always derived from the reference field value. The context field in the descriptive flexfield window remains non-updateable to the user, because users should not be allowed to break the synchronization by manually selecting a context value other than the derived one.
Yes No The context value is always derived from the reference field value. The context field is hidden from the user.

Different Arrangements of Segments

You have many choices for how you want your descriptive flexfield structures to look and behave. The following diagrams show you different arrangements of segments you could define by choosing different descriptive flexfield setup options.

the picture is described in the document text

The different descriptive flexfield setup options are:

Note that the option "Override Allowed" controls whether your user sees a context field in the flexfield pop-up window. You set "Override Allowed" to Yes if you want a context field to appear in the descriptive flexfield pop-up window. You set "Override Allowed" to No if you do not want users to choose a structure from within the pop-up window.

In earlier versions of Oracle E-Business Suite, 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.

In these diagrams, "OK" means that whether you specify Yes or No for an option does not matter (another option may have an "overriding" effect). For example, if you have a default context field value (structure choice), but you have a context field as well, your default value will appear in the context field but the user can choose a different value instead.

One structure

The simplest way to define a flexfield is to have one structure that contains only global segments. However, this arrangement does not allow much future flexibility, since if you use all your available columns for global segments, you do not have any remaining columns for context-sensitive segments.

the picture is described in the document text

In this example, you have the following settings:

This example has three global segments.

Another way to achieve a similar effect is to define a single structure that contains only context-sensitive segments. You also define a default context value, and you do not provide a context field or a reference field. The effect of this setup is that the user always sees the same segment structure, so it behaves as if it were a structure of global segments. However, if later you needed to add more structures of context-sensitive segments, you could do so by enabling the context field or a reference field, disabling the default context field value, and defining your new context-sensitive segment structure. Note that if you had already used all the available segment columns in your first context-sensitive structure, you would not be able to add more segments to that structure; you would only be able to define additional structures. One drawback to using the context-sensitive segments only strategy is that if you have certain segments that should appear for all contexts (all structures), you would have to define those segments separately for each context-sensitive structure.

the picture is described in the document text

In this example, you have the following settings:

This example has three context-sensitive segments.

Of course, you could initially define a hybrid structure that contains some global segments and some context-sensitive segments but has only one context-sensitive structure with a default context field value (but no context field or reference field).

the picture is described in the document text

In this example, you have the following settings:

This example has two global segments and one context-sensitive segment.

More than one structure

Once you've established that you need more than one (context-sensitive) structure, you have a number of options for how you want to arrange various combinations of global and/or context-sensitive segments, reference field or no reference field, context field or no context field, and so on. The following diagrams show these various arrangements (for a setup that uses two context-sensitive structures).

the picture is described in the document text

In this example, you have the following settings:

This example has two context-sensitive structures, one with three context-sensitive segments and another with one context-sensitive segment.

the picture is described in the document text

In this example, you have the following settings:

This example has two context-sensitive structures, both with two global segments. The first structure has three context-sensitive segments and the second has one context-sensitive segment.

the picture is described in the document text

In this example, you have the following settings:

This example shows a two structures that share a context prompt. The value of the context prompt determines whether the user sees the first structure with three context-sensitive segments or the second structure with one context-sensitive segment.

the picture is described in the document text

In this example, you have the following settings:

This example shows a two structures that have two global segments and a context prompt. The value of the context prompt determines whether the user sees the first structure which has three context-sensitive segments or the second structure which has one context-sensitive segment.

Related Topics

Descriptive Flexfield Concepts

How Segments Use Underlying Columns

Planning Your Descriptive Flexfield

Planning Your Descriptive Flexfield

When you are planning your flexfields, you should consider the following questions and their corresponding decisions:

You should decide on the number, order and length of your segments for each structure. You must also choose how to validate each segment.

Related Topics

Overview of Setting Up Flexfields

Descriptive Flexfield Concepts

How Segments Use Underlying Columns

Different Arrangements of Segments

Values and Value Sets

Overview of Values and Value Sets

Using Flexfield Value Security

Descriptive Flexfield Segments Window

the picture is described in the document text

Use this window to define your descriptive flexfield structures.

Related Topics

Planning Your Descriptive Flexfield

Defining Descriptive Flexfield Structures

Defining Segments

Identifying Descriptive Flexfields in Oracle E-Business Suite

Defining Descriptive Flexfields

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 E-Business Suite automatically compiles your flexfield to improve online performance.

Once you freeze your flexfield definition and save your changes, Oracle E-Business Suite 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.

Tip: 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.

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.

Related Topics

Descriptive Flexfield Segments Window

Key Flexfield Segments Window

Defining Segments

Defining Descriptive Flexfield Structures

Context Field Values

Identifying Descriptive Flexfields in Oracle E-Business Suite

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 E-Business Suite.

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.

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.

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

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.

Tip: 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 E-Business Suite, 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.

Related Topics

Descriptive Flexfield Segments Window

Defining Segments

Context Field Values

Using Value Sets With Context Fields

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.

Tip: 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.

Important: 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.

Enabled

You cannot enable new structures if your flexfield definition is frozen.

Segments Button

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

the picture is described in the document text

Related Topics

Using Value Sets With Context Fields

Identifying Descriptive Flexfields in Oracle E-Business Suite

Some descriptive flexfields in Oracle E-Business Suite are documented explicitly with specific setup suggestions, but most descriptive flexfields in Oracle E-Business Suite, which are meant to be set up on a site-by-site basis, are not explicitly documented.

In most cases, you can identify which descriptive flexfield appears on a particular form using the following procedure.

To identify the descriptive flexfield present in a window:

  1. Navigate to the window and block for which you want to set up the descriptive flexfield.

  2. Use the Help menu to choose Diagnostics > Examine. If Examine is disabled or requires a password on your system, contact your system administrator for help.

  3. The Examine Field and Variable Values window initially displays the hidden block and field names of the field your cursor was in when you opened Examine. Note the block name displayed to help you select the correct flexfield in a later step.

  4. Use the list on the Block field to choose $DESCRIPTIVE_FLEXFIELD$.

  5. If there is more than one descriptive flexfield for your form, use the list on the Field field to select the one you want (the list displays the hidden block names and field names for all descriptive flexfields on the form).

    If you do not see the descriptive flexfield you want, it may be because your form has special logic that prevents the flexfield from being read by Examine, such as logic that makes the flexfield appear only under certain conditions. Make sure the descriptive flexfield is visible, that those conditions are met, and that your cursor is in the same block as the flexfield. Try using Examine again.

  6. The flexfield title that appears in the Value field is the title you should choose in the Descriptive Flexfield Segments form. See: Defining Descriptive Flexfield Structures.

Related Topics

Descriptive Flexfield Segments Window

Defining Descriptive Flexfield Structures

Defining Segments

Descriptive Flexfield Concepts

How Segments Use Underlying Columns

Different Arrangements of Segments

Planning Your Descriptive Flexfield