Flexfields
are Oracle's main method of storing data. Flexfields provide clients with
flexible features needed to satisfy the following business needs:
- Configure applications to
conform to current business practice for accounting codes, item/product
codes, HR codes such as job and position codes, and other codes.
- Configure applications to
capture data that would not otherwise be tracked by the application.
- Have "intelligent
fields" that are fields comprised of one or more segments, where each
segment has both a value and a meaning.
- Rely upon application to
validate the values and the combination of values that are entered in
intelligent fields.
- Have the structure of an
intelligent field change depending on data in the form or application
data.
- Configure data fields to your
meet your business needs without programming.
- Query intelligent fields for
very specific information.
Flexfields
are generally created and maintained by a System Administrator via the
Applications Object Library (Sys Admin) module. The following sections describe
the types of flexfields available and how these flexfields are structured.
1.
Flexfield Types
There
are two types of flexfields in Oracle: Key flexfields (such as a job flexfield)
and Descriptive flexfields (additional order hold approval information). Each
flexfield is made up of segments (i.e. sub-fields) for which data entry and
validation procedures may be easily completed without programming.
1.1.
Key Flexfields
Key flexfields
provide a flexible way for the Oracle Applications to represent objects such as
accounting codes, item numbers, job descriptions, and more. Key flexfield
definitions are seeded within Oracle forms, and some key flexfields are
required, while others are optional. Here is a table listing all the key
flexfields in Oracle Applications, ordered by the application that
"owns" the key flexfield. Note that other modules, who do not
"own" the flexfield, may have access to define and/or use the
flexfield.
Owner
|
Name
|
Oracle
Assets
|
Asset
Key Flexfield
|
Category
Flexfield
|
|
Location
Flexfield
|
|
Oracle
General Ledger
|
Accounting
Flexfield (changes within the Flexfield)
|
Oracle
Human Resources
|
Grade
Flexfield
|
Job
Flexfield
|
|
Personal
Analysis Flexfield
|
|
Oracle
Inventory
|
Position
Flexfield
|
Soft
Coded KeyFlexfield
|
|
Account
Aliases
|
|
Item
Catalogs
|
|
Item
Categories
|
|
Oracle
Payroll
|
SalesOrders
|
Stock
Locators
|
|
System
Items
|
|
Bank
Details
|
|
Cost
Allocation
|
|
People
Group
|
|
Oracle
Receivables (Penaki)
Oracle
Service
|
Sales
Tax Location
|
Territory
|
|
Oracle
Service Item
|
|
Oracle
Training Administration
|
Training
Resources
|
|
To an end user, a
key flexfield appears on the form as a normal text field with an ellipsis prompt at the end of the field.
This prompt function has a drill down, bringing users to a list of values These
segments and combination of values (segment values) represent the object.
For example, the General Ledger uses a key flexfield to represent accounting
codes throughout Oracle Applications. The following screenshot illustrates the
drilldown from an accounting flexfield on a journal entry window to its individual
segments and segment values.
For more
information on the components of flexfields, refer to the following sections.
For information on how each key flexfield is used within its "owner"
application, please refer to that module's Practice Aid and/or Oracle User
Guide at http://www.oracle.com/technology/index.html.
1.2.
Descriptive Flexfields
Similarly,
descriptive flexfields provide a flexible way for Oracle to provide
configurable "expansion space" or additional fields in forms. A
descriptive flexfield appears on the form i.e. screen as a two-character-wide
text field with square brackets [ ] as its prompt, or as context-sensitive
fields that appear only when needed.
The
following screenshot illustrates a descriptive flexfield called “Reconciliation
Headers” used to capture additional data that would not normally be required in
a journal entry window.
Both
types of flexfields described above enable clients to customize Oracle
Application features through simple configuration setups i.e. without
programming. The following sections discuss the setup steps required to
configure these flexfields.
1.3.
Control Considerations
Refer
to each module's practice aid for control considerations pertinent to that's
module's specific flexfields.
2.
Key Flexfield Components
2.1.
Flexfield Structure
To
create a key or descriptive flexfield, clients must first select the type of
structure, such as an Accounting Flexfield, Asset Flexfield, or Item Catalog.
Then, they must create the structure. Flexfield structures provide the
framework for all of the flexfield's components and tie the Key Flexfield to
the Application. Below, the Accounting Flexfield named Operations_Accounting
(the structure) is created.
Each
Key flexfield can be set with the following configurations.
2.1.1.
Freeze Flexfield Definitions
Once
the structure's setup has been completed (or modified), the flexfield
definition must be frozen and saved. These actions cause flexfields to compile
automatically in order to improve on-line performance.
2.1.2.
Enabling Flexfield Structures
The
Enabled check box is checked so that structures may be used in key flexfields.
Structures cannot be deleted from this window because they are referenced
elsewhere in the system, but they can be disabled at any time. A structure must
be enabled before it can be used.
2.1.3.
Segment Separator
This
character is used to separate flexfield segment values or descriptions whenever
the application displays concatenated segment values or descriptions. The
available values are
2.1.4.
Cross-validation rules
The
Cross-Validate Segments check box is selected if clients want to cross-validate
multiple segments using cross-validation rules. Cross-validation rules are used
to define valid combinations using the Cross-Validation Rules window. This box
is unchecked if clients want to disable any existing cross-validation rules.
For a detailed discussion of cross-validation rules in the context of the
General Ledger key accounting flexfield, refer to the General Ledger practice
aid. The cross-validation concepts discussed there apply to other key
flexfields.
2.1.5.
Freeze Rollup Groups
Used
to indicate whether rollup group definitions are to be frozen. If this is
enabled, users are prevented from modifying rollup groups using the Segment
Values form. Refer to the General Ledger practice aid for more information on
rollup groups.
2.1.6.
Allow Dynamic Inserts
Dynamic
Inserts are used for General Ledger Key Flexfield to allow dynamic insertion of
new valid account code combinations into the GL code combinations table. For
more information on Dynamic Insertion, please refer to the General Ledger
Practice Aid.
2.2.
Value Sets
Oracle uses the
concept of segments (i.e. sub-fields) to determine the data structure and they
want to use and in what order they want them to appear. Value sets govern the
type of content that can be entered into a segment and what validation needs to
occur for each segment.
Note: This screen
was modified with the addition of the usages button. The usages button
is used to view which flexfield segment or concurrent program parameter uses a
particular value.
Please also
consider the new color scheme Oracle has added.
2.3.
Flexfield Segments
A segment is a
single sub-field within a flexfield. They can also be thought of as
"containers" for segment values. Flexfield Segments can have
two components, the segment definition and a segment qualifier.
2.3.1.
Flexfield Segment Definition
For
a key flexfield, a segment's definition usually describes a particular
characteristic of the entity identified by the flexfield. In the accounting
flexfield each segment is separated by a hyphen and represents a different
characteristic, in the screenshot below the different segments are Company,
Department, Account, Sub-Account, and Product.
The
following window is used to configure the number of segments, their appearance
and meaning as well as the validation of segment values, if required. In the
example below, the account segment is assigned a value set “Operations Account”
which restricts the range of values that can be defined for the account segment
to a maximum size of 4 alphanumeric characters.
Because
the conditions specified for value sets determine what values can be used for
them, both value sets and values should be defined at the same time. For
example, if values are designed to be 6 characters long ranging from 000001,
000002 to 999999 instead of 1, 2, etc, the value set would be defined to
accept only values with “Right-Justify Zero-fill” set to “Yes” and other
validation parameters set accordingly as illustrated below.
2.3.2.
Flexfield Segment Qualifiers
A
flexfield qualifier identifies a particular segment of a key flexfield.
Usually an application needs some method of identifying a particular segment
for some application purpose such as security or computations. However, since a
key flexfield can be configured so that segments appear in any order with any
prompts, the application needs a mechanism other than the segment name or
segment order to use for segment identification. Flexfield qualifiers serve
this purpose. Flexfield qualifiers can be thought of as "identification
tags" for a segment.
For
example, the Oracle General Ledger product needs to be able to identify which
segment in the Accounting Flexfield contains balancing information and which
segment contains natural account information. Since the Accounting Flexfield
can be configured so that segments appear in any order with any prompts, Oracle
General Ledger needs the flexfield qualifier to determine which segment is
being used for natural account information. When an Accounting Flexfield is
defined, flexfield qualifiers that apply to each segment must be specified as
illustrated below.
Other
applications, such as Oracle Human Resources, also use flexfield qualifiers.
Oracle Human Resources uses flexfield qualifiers to control who has access to
confidential information in flexfield segments.
2.4.
Flexfield Segment Values
There
are 3 key concepts to consider regarding Flexfield Segment Values:
·
Definition
of Segment Values
·
Segment
Value Qualifiers
·
Segment
Value Combinations
2.4.1.
Definition of Segment Values
Segment
values are individual values contained within the segment that further define
the segment definition. In the example below, Total Assets (account 1000), Cash
(account 1110) and Payroll Cash Accounts (account 1120) are individual values
within the 'Account' Segment:
2.4.2. Segment Value Qualifiers
A
segment value qualifier identifies a particular type of value within a single
segment of a key flexfield. In the Oracle Applications, only the Accounting
Flexfield uses segment value qualifiers. A segment value qualifier can be
thought of as an "identification tag" for a value. In the Accounting
Flexfield, segment value qualifiers determine whether detail posting or
budgeting are allowed for a particular value. In the example below, the Cash
Account is defined as an Asset account, and this value can be used in budgeting
and posted transactions.
It
is easy to confuse the two types of qualifiers. A flexfield qualifier is used
by the whole flexfield to tag its pieces i.e. segments, and a segment qualifier
is used to tag its values and is only applicable to the Oracle General Ledger
accounting flexfield.
Because
the GL Accounting Flexfield is the only Oracle Applications key flexfield that
uses the parent, rollup group, hierarchy level and segment qualifier
information illustrated above, clients need only enter this information for
values that are associated with the Accounting Flexfield. For more information
on such account hierarchies, refer to the General Ledger practice aid.
2.5.
Control Considerations
Refer
to each module's practice aid for control considerations pertinent to that's
module's specific flexfields.
3.
Descriptive Flexfield Components
Descriptive
Flexfields (DFFs) use the same concepts as Key Flexfields, including Structure,
Segments, and Segment Values. The difference with descriptive flexfield is that
they use 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 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
Once the DFF's
structure is defined, compiled and frozen, Oracle Applications submits a
concurrent request to generate a database view of the table that contains the
descriptive flexfield segment columns.
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, regardless of context (any other information in your
form). A context–sensitive segment appears when the appropriate context
information is entered in a related field.
The following
screenshot illustrates a descriptive flexfield called “Reconciliation Headers”
used to capture additional data that would not normally be required in a
journal entry window.
Note that fields in
a descriptive flexfield pop-up window are also referred to as segments even
though they do not necessarily make up meaningful codes like the segments in
key flexfields.
3.1.
Control Considerations
Refer
to each module's practice aid for control considerations pertinent to that's
module's specific flexfields.
No comments:
Post a Comment