Flexfield Concepts

Overview of Flexfield Concepts

This chapter provides you with a conceptual overview of flexfields. You will learn about:

A flexfield is a field made up of sub-fields, or segments. There are two types of flexfields: key flexfields and descriptive flexfields. A key flexfield appears on your form as a normal text field with an appropriate prompt. A descriptive flexfield appears on your form as a two-character-wide text field with square brackets [ ] as its prompt. When opened, both types of flexfield appear as a pop-up window that contains a separate field and prompt for each segment. Each segment has a name and a set of valid values. The values may also have value descriptions.

Flexfields

the picture is described in the document text

Related Topics

Warning About Changing Data

Types of Flexfields Information

Basic Flexfields Concepts

Key Flexfields

Descriptive Flexfields

Benefits of Flexfields

Overview of Setting up Flexfields

Key Flexfields

Most organizations use "codes" made up of meaningful segments (intelligent keys) to identify general ledger accounts, part numbers, and other business entities. Each segment of the code can represent a characteristic of the entity. For example, your organization might use the part number PAD-NR-YEL-8 1/2x14" to represent a notepad that is narrow-ruled, yellow, and 8 1/2" by 14". Another organization may identify the same notepad with the part number "PD-8x14-Y-NR". Both of these part numbers are codes whose segments describe a characteristic of the part. Although these codes represent the same part, they each have a different segment structure that is meaningful only to the organization using those codes.

The Oracle E-Business Suite stores these "codes" in key flexfields. Key flexfields are flexible enough to let any organization use the code scheme they want, without programming.

When your organization initially installs Oracle E-Business Suite, you and your organization's implementation team customize the key flexfields to incorporate code segments that are meaningful to your business. You decide what each segment means, what values each segment can have, and what the segment values mean. Your organization can define rules to specify which segment values can be combined to make a valid complete code (also called a combination). You can also define relationships among the segments. The result is that you and your organization can use the codes you want rather than changing your codes to meet Oracle E-Business Suite's requirements.

For example, consider the codes your organization uses to identify general ledger accounts. Oracle E-Business Suite represents these codes using a particular key flexfield called the Accounting Flexfield. One organization might choose to customize the Accounting Flexfield to include five segments: company, division, department, account, and project. Another organization, however, might structure their general ledger account segments differently, perhaps using twelve segments instead of five. The Accounting Flexfield lets your Oracle General Ledger application accommodate the needs of different organizations by allowing them to customize that key flexfield to their particular business usage. See the Oracle General Ledger documentation for more information on the Accounting Flexfield.

Important: Throughout this guide we use the "Part Number Key Flexfield" in our examples and graphics. We use this example because it helps to illustrate the uses and behaviors of key flexfields without requiring any specialized accounting, human resources, or manufacturing knowledge. However, there is no actual "Part Number Key Flexfield" in the Oracle E-Business Suite, and you should not confuse it with the System Items Flexfield (Item Flexfield) used by many Oracle E-Business Suite products such as Oracle Inventory.

Descriptive Flexfields

Descriptive flexfields provide customizable "expansion space" on your forms. You can use descriptive flexfields to track additional information, important and unique to your business, that would not otherwise be captured by the form. Descriptive flexfields can be context sensitive, where the information your application stores depends on other values your users enter in other parts of the form.

A descriptive flexfield appears on a form as a single-character, unnamed field enclosed in brackets. Just like in a key flexfield, a pop-up window appears when you move your cursor into a customized descriptive flexfield. And like a key flexfield, the pop-up window has as many fields as your organization needs.

Each field or segment in a descriptive flexfield has a prompt, just like ordinary fields, and can have a set of valid values. Your organization can define dependencies among the segments or customize a descriptive flexfield to display context-sensitive segments, so that different segments or additional pop-up windows appear depending on the values you enter in other fields or segments.

For example, consider the Additions form you use to define an asset in your Oracle Assets application. This form contains fields to capture the "normal" information about an asset, such as the type of asset and an asset number. However, the form does not contain specific fields for each detail about a given asset, such as amount of memory in a computer or lifting capacity of a forklift. In this case, having all the potentially-needed fields actually built into the form is not only difficult, it is undesirable. Because while one organization may have computers and forklifts as assets, another organization may have only computers and luxury automobiles (and no forklifts) as assets. If the form contained built-in fields for each attribute of a forklift, for example, an organization with no forklifts would find those fields to be both unnecessary and a nuisance because a user must skip them to enter information about another type of asset. In fact, fields for forklift information would be cumbersome whenever a user in any organization tries to enter any asset that is not a forklift.

Instead of trying to contain all possible fields for assets information, the Additions form has a descriptive flexfield that you can customize to capture just the information your organization needs about your assets. The flexfield structure can depend on the value of the Asset Category field and display only those fields (segments) that apply to the particular type of asset. For example, if the asset category were "desk, wood", your descriptive flexfield could prompt for style, size and wood type. If the asset category were "computer, hardware", your flexfield could prompt for CPU chip and memory size. You can even add to the descriptive flexfield later as you acquire new categories of assets.

The Enter Journals window in the Oracle General Ledger applications is another example of a form that includes descriptive flexfields to allow organizations to capture additional information of their own choosing. Each block contains a descriptive flexfield as its last field. You might use these to store additional information about each journal entry, such as a source document number or the name of the person who prepared the entry.

Benefits of Flexfields

Flexfields provide you with the features you need to satisfy the following business needs:

What is the distinction between flexfields and application features? Flexfields, while they are a major feature of the Oracle E-Business Suite as a whole, are merely a mechanism to provide many application features. Key flexfields provide a flexible way for the Oracle E-Business Suite to represent objects such as accounting codes, part numbers, job descriptions, and more. For example, the Accounting Flexfield is a feature that uses a key flexfield to represent accounting codes throughout most of the Oracle E-Business Suite applications. Similarly, descriptive flexfields provide a flexible way for the Oracle E-Business Suite to provide customizable "expansion space" in forms, as well as a way to implement context-sensitive fields that appear only when needed. Both types of flexfield let you customize Oracle E-Business Suite features without programming.

Basic Flexfields Concepts

We use the following terms for both key and descriptive flexfields:

Basic Flexfield Concepts

the picture is described in the document text

Segment

A segment is a single sub-field within a flexfield. You define the appearance and meaning of individual segments when customizing a flexfield. A segment is represented in your database as a single table column.

For a key flexfield, a segment usually describes a particular characteristic of the entity identified by the flexfield. For example, you can have a key flexfield that stores part numbers. The key flexfield can contain the part number PAD-YEL-NR-8 1/2x14, which represents a yellow, narrow ruled, 8 1/2" x 14" note pad. Each section in the part number, separated by a hyphen, describes a characteristic of the part. The first segment describes the object, a note pad, the second segment describes the color of the object, yellow, and so on.

Note that we also refer to the fields in a descriptive flexfield pop-up window as segments even though they do not necessarily make up meaningful codes like the segments in key flexfields. However, they do often describe a particular characteristic of the entity identified elsewhere on the form you are using.

Values, Validation and Value Sets

Your end user enters a segment value into a segment while using an application. Generally, the flexfield validates each segment against a set of valid values (a "value set") that are usually predefined. To "validate a segment" means that the flexfield compares the value a user enters in the segment against the values in the value set for that segment.

You can set up your flexfield so that it automatically validates segment values your end user enters against a table of valid values (which may also have value descriptions). If your end user enters an invalid segment value, a list of valid values appears automatically so that the user can choose a valid value.

You can think of a value set as a "container" for your values. You choose what types of values can fit into your value set: their length, format, and so on.

A segment is usually validated, and usually each segment in a given flexfield uses a different value set. You can assign a single value set to more than one segment, and you can even share value sets among different flexfields. For most value sets, when you enter values into a flexfield segment, you can enter only values that already exist in the value set assigned to the segment.

Structure

A flexfield structure is a specific configuration of segments. If you add or remove segments, or rearrange the order of segments in a flexfield, you get a different structure.

You can define multiple segment structures for the same flexfield (if that flexfield has been built to support more than one structure). Your flexfield can display different prompts and fields for different end users based on a data condition in your form or application data. Both key and descriptive flexfields may allow more than one structure.

In some applications, different users may need a different arrangement of the segments in a flexfield (key or descriptive). Or, you might want different segments in a flexfield depending on, for example, the value of another form or database field.

Your Oracle General Ledger application, for example, provides different Accounting Flexfield (Chart of Accounts) structures for users of different sets of books. The Oracle General Ledger application determines which flexfield structure to use based on the value of the GL Set of Books Name user profile option.

Related Topics

Overview of Flexfield Concepts

Types of Flexfields Information

Basic Flexfields Concepts

Key Flexfields

Descriptive Flexfields

Benefits of Flexfields

Overview of Setting up Flexfields

Warning About Changing Data

Overview of Setting Up Flexfields

The general process of implementing and using flexfields consists of several major phases:

You may also have requirements for other phases, such as building custom reports for your site.

Planning

Just as for implementing any new application, planning is by far the most important (and probably the most time-consuming) phase of implementing flexfields, so you should give it careful thought. The planning phase can be broken into smaller, though still interrelated, steps:

Decide which flexfields to implement

Oracle E-Business Suite products rely on some key flexfields as central parts of the applications, so you must set up these key flexfields. For example, while the Oracle General Ledger products use only the Accounting Flexfield key flexfield, almost every Oracle E-Business Suite product uses the Accounting Flexfield for some part of its processing. So, you must almost always set up the Accounting Flexfield, especially if you have more than one of the Oracle E-Business Suite products at your site. In addition, many Oracle E-Business Suite products such as Oracle Inventory and Oracle Purchasing use the System Items Flexfield (Item Flexfield). Other Oracle E-Business Suite products use various key flexfields for various purposes, and defining those flexfields is usually mandatory for a particular application.

While most Oracle E-Business Suite products require that you set up particular key flexfields, many descriptive flexfields are optional. You need only set up optional descriptive flexfields for forms where you want to capture business data not otherwise captured by the form fields.

Learning about a specific flexfield

Because each key and descriptive flexfield has a different purpose, you should be sure to understand the purpose and requirements for the flexfield you want to define. Some flexfields, particularly the Accounting Flexfield, have restrictions on how you can define them. Most descriptive flexfields simply provide a certain number of segment columns you can use for whatever you need to fill your organization's needs.

Planning the structure

For each flexfield you want to implement, plan your segment structure(s). You can completely customize the appearance of your flexfield pop-up window for each structure, including its title and the number, order, length, and prompts of its segments. Though you can always change the cosmetic aspects of your flexfield pop-up window, such as the title and prompts, you should never change the number, order, and maximum length of your segments once you have acquired flexfield data. So, you should plan your structures carefully and allow for future needs.

Planning the segments

You must choose two lengths for each segment, the displayed length and the maximum length. The maximum length is the length of the longest value a user can enter into a segment. The largest maximum length you can choose must be less than or equal to the length of the underlying column that corresponds to the segment. Because these column sizes vary among flexfields, you need to know what column lengths are available for your flexfield.

The displayed length is the segment length a user sees in the pop-up window. If the displayed length is less than the maximum length, the user must scroll through the segment to see its entire contents.

Planning the segment validation

For each segment, plan your validation. Consider what types of values you will be using in your flexfield segments. These decisions affect how you set up your value sets and values.

Keep in mind that your values will change over time. Usually, an organization adds more values as the organization grows or reorganizes to use new values. For example, you might have a two-character long segment that holds a department number. Initially, a two-character department number (such as 01, 02, 15, and so on) may be sufficient. However, if you later need a department number larger than 99, such as 100, your segment cannot contain the larger values, and you would need to change the segment length and then convert any existing data. For example, your three-character department numbers may become 001, 002, 015, and so on instead of 01, 02, 15, and so on. You want to avoid such conversions if possible, so you should plan your values to allow for future needs.

You should also consider how you plan to acquire your values:

Planning to use additional features

Flexfields have several additional features that make flexfields easier to use or that provide extra capabilities such as restricting users from using certain values. For a full discussion of these features, see the Using Additional Flexfields Features chapter. These features include:

Documenting your plans

You should fully document your flexfield plans before you sit down to define your flexfields using your Oracle E-Business Suite setup forms.

We provide worksheets and templates throughout the book that you can use to aid your decision and documentation process.

Related Topics

Overview of Flexfield Concepts

Overview of Setting up Flexfields

Planning Your Key Flexfield

Planning Your Descriptive Flexfield

Warning About Changing Data

Defining

Data Entry and Ongoing Maintenance

Reporting

Overview of Shorthand Flexfield Entry

Overview of Flexfield Value Security

Values and Value Sets

Cross Validation Rules

Defining

Defining your flexfield is easy once you have completed and documented your planning stage. You use Oracle E-Business Suite setup forms to define your flexfield.

Define your value sets

Depending on exactly how you want to validate your segments, you may spend 10-30 minutes defining each value set (roughly one value set per segment, or fewer if you plan to share value sets or do not plan to use value sets for certain segments).

Note that you do not define your actual values at this point; rather, you are simply defining the containers for your values. See: Value Set Windows.

Define your segment structures

This is the main part of defining a flexfield, and includes defining structure titles, segment prompts, segment order, and segment display sizes. Depending on the number of structures and segments you have, you may spend 20-90 minutes per flexfield. See: Key Flexfield Segments, Descriptive Flexfield Segments.

Define your values, if necessary

Depending on exactly how you want to validate your segments, you may spend anywhere from 1-3 minutes defining each independent or dependent value in an Oracle E-Business Suite form. If you have legacy systems, you may need to build a program to import your legacy values into Oracle E-Business Suite tables. See: Values and Value Sets.

Define additional features, if necessary

If you plan to use additional features such as cross-validation rules or flexfield value security, you define those additional features at this point.

Related Topics

Warning About Changing Data

Overview of Flexfield Concepts

Overview of Setting up Flexfields

Planning

Data Entry and Ongoing Maintenance

Reporting

Data Entry and Ongoing Maintenance

Data entry consists of using your applications for your day-to-day operations. For key flexfields, you may want to predefine the complete codes (combinations of segment values) you want to allow your users to enter.

As your organization's needs change, you will need to perform ongoing maintenance of your flexfields. For example, you may need to define new flexfield structures or disable old structures. You may also need to add new values or cross-validation rules or value security rules.

Related Topics

Key Flexfield Segments

Cross-Validation Rules

Reporting

Oracle E-Business Suite provides many predefined reports you can use to retrieve your organization's data, and many of these include flexfields data. You can also build custom reports for your organization using the flexfields routines and views we provide. See: Reporting on Flexfields Data.

Related Topics

Warning About Changing Data

Types of Flexfields Information

Overview of Setting up Flexfields

Planning

Defining

Data Entry and Ongoing Maintenance

Warning About Changing Data

Oracle provides powerful tools you can use to insert, update, and delete information in an Oracle database. But, if you use Oracle tools like SQL*Plus or Oracle Data Browser to modify Oracle E-Business Suite data, you risk destroying the integrity of your data and you lose the ability to audit changes to your data.

Because Oracle E-Business Suite tables are interrelated, any change you make using an Oracle E-Business Suite form can update many tables at once. But when you modify Oracle E-Business Suite data using anything other than Oracle E-Business Suite forms, you may change a row in one table without making corresponding changes in related tables. If your tables get out of synchronization with each other, you risk retrieving erroneous information and you risk unpredictable results throughout Oracle E-Business Suite.

When you use Oracle E-Business Suite forms to modify your data, Oracle E-Business Suite automatically checks that your changes are valid. Oracle E-Business Suite also keeps track of who changes information. But, if you enter information into database tables using database tools, you may store invalid information. You also lose the ability to track who has changed your information because SQL*Plus and other database tools do not keep a record of changes.

Warning: Oracle E-Business Suite does not support any customization of Oracle Application Object Library tables or modules, even by Oracle consultants. Oracle Application Object Library table names begin with "FND_".

Do not write data directly into or change data in FND_ tables through any custom program or using any tool, including SQL*Plus, Oracle Data Browser, database triggers or other programming tools. You risk corrupting your database and damaging all your applications.

Consequently, we STRONGLY RECOMMEND that you never use SQL*Plus, Oracle Data Browser, database triggers, or any other tool to modify Oracle E-Business Suite tables, unless we tell you to do so in our installation, implementation, or open interface guides.

Types of Flexfields Information

While flexfields do not require programming, they do allow you to perform significant customizations to the Oracle E-Business Suite, so they do require enough explanation for you to get the most out of the features they provide. Also, once you learn how to plan and set up one Oracle E-Business Suite feature that is built using a flexfield, you will find it much easier to set up any other Oracle E-Business Suite feature that uses a flexfield.

There are two main types of flexfield information: generic information on planning for and setting up any flexfield, and specific information on the particular Oracle E-Business Suite features that are built using flexfields. For example, the chapter "Planning and Defining Key Flexfields" applies to all key flexfields and describes setup procedures such as which forms you need to use. For specific information on setting up a particular flexfield for a product, see that product's documentation for detailed information. For example, if you are designing and setting up the Accounting Flexfield, refer to the Oracle General Ledger Implementation Guide. If you have not set up a flexfield before, you should be sure you read and understand both of these types of information thoroughly.

This guide also contains information for more advanced flexfield-related customizations. For example, you may want to write custom reports that access flexfields tables and information using flexfield routines. Or, you may want to write custom reports that use flexfields as report parameters. Finally, you may want to write a Standard Request Submission report that has several special report parameters (Standard Request Submission uses descriptive flexfields to provide pop-up windows for users to enter choices such as values they want to report on).

Note: For information on flexfields for end users, see the Oracle E-Business Suite User's Guide.