Considerations for Managing Descriptive Flexfields

Configuring descriptive flexfields involves managing the available flexfields registered with your Oracle Fusion Cloud Applications database and configuring their flexfield-level properties, defining and managing descriptive flexfield contexts, and configuring global and context-sensitive segments.

Every descriptive flexfield is registered to include a context segment, which you may choose to use or not.

In general, configuring descriptive flexfields involves:

  1. Creating segment labels for business intelligence enabled flexfields.

  2. Configuring global segments by providing identity information, the initial default value, and the display properties.

  3. Configuring the context segment by specifying the prompt, whether the context segment should be displayed, and whether a value is required.

  4. Configuring contexts by specifying a context code, description, and name for each context value, and adding its context-sensitive segments, each of which is configured to include identifying information, the column assignment, the initial default value, and the display properties.

The following aspects are important in understanding descriptive flexfield management:

  • Segments

  • Adding segments to highlighted descriptive flexfields

  • Usages

  • Parameters

  • Delimiters

  • Initial Values

  • Business Intelligence

Segments

You can assign sequence order numbers to global segments and to context-sensitive segments in each context. Segment display is always in a fixed order. You can't enter a number for a segment if that number is already in use for a different segment.

Value sets are optional for context segments and follow specific guidelines:

  • The value set that you specify for a context segment consists of a set of context codes.

  • Each context code corresponds to a context that's appropriate for the descriptive flexfield.

  • The value set must be independent or table-validated.

  • If table-validated, the WHERE clause must not use the VALUESET.value_set_code or SEGMENT.segment_code bind variables.

  • The value set must be of data type Character with the maximum length of values being stored no larger than the context's column length.

  • If you don't specify a value set for a context segment, the valid values for that context segment are derived from the context codes. The definition of each context segment specifies the set of context-sensitive segments that can be presented when that context code is selected by the end user.

  • For reasons of data integrity, you can't delete an existing context. Instead, you can disable the associated context value in its own value set by setting its end date to a date in the past.

  • You can configure the individual global segments and context-sensitive segments in a descriptive flexfield. These segment types are differentiated by their usage, but they're configured on application pages that use most of the same properties.

Adding Segments to Highlighted Descriptive Flexfields

When you highlight flexfields on a run time page and use an Add Segment icon button to create a segment, the segment code, name, description, table column, and sequence number are set automatically. If you use an Add Segment icon button to configure descriptive flexfield segments, you can't use an existing value set. Value sets are created automatically when you add the segments. You can enter the valid values, their descriptions, and the default value or specify the formatting constraints for the value set, such as minimum and maximum values.

Depending on display type, the value set you create using the Add Segment icon button is either an independent value set or a format-only value set. The following table shows which type of value set is created depending on the segment display component you select.

Display Component

Value Set Created Using Add Segment

Check Box

Independent

Drop-down List

Independent

List of Values

Independent

Radio Button Group

Independent

Text Field With Search

Independent

Text box

Format Only

Text area

Format Only

Date/Time

Format Only

Tip: After you add a context value, refresh the page to see the new value.

Usages

Descriptive flexfield usages allow for the same definition to be applied to multiple entities or application tables, such as a USER table and a USER_HISTORY table. Descriptive flexfield tables define the placeholder entity where the flexfield segment values are stored once you have configured the descriptive flexfield. When you configure a flexfield, the configuration applies to all its usages.

Parameters

Some descriptive flexfields provide parameters, which are attributes of the same or related entity objects. Parameters are public arguments to a descriptive flexfield. Parameters provide outside values in descriptive flexfield validation. You use parameters to set the initial value or derivation value of an attribute from external reference data, such as a column value or a session variable, rather than from user input. Parameters can be referenced by the logic that derives the default segment value, and by table-validated value set WHERE clauses.

Delimiters

A segment delimiter or separator visually separates segment values when the flexfield is displayed as a string of concatenated segments.

Initial Values

The SQL statement defining an initial value must be a valid statement that returns only one row and a value of the correct type.

You can use two types of SQL statements:

  • SQL statement with no binding. For example, select MIN(SALARY) from EMPLOYEES.

  • SQL statement with bind variables. You can use the PARAMETER bind variable in the WHERE clause of the SQL statement.

    • :{PARAMETER.<parameter_code>}: Identifies a parameter.

Business Intelligence

Selecting a global, context, or context-sensitive segment's BI Enabled check box specifies that the segment is available for use in Oracle Business Intelligence.

When the flexfield is imported into Oracle Business Intelligence, the label you selected from the BI Label drop-down list equalizes the segment with segments in other contexts, and maps the segment to the logical object represented by the label.