You are on page 1of 69

Fundamentals of Flexfields

Objectives

After completing this lesson, you should be able to do the


following:
• Describe flexfields
• Define value sets
• Define key flexfields
• Define descriptive flexfields
• Enter values
• Describe Flexfield Enhancements
– Error handling
– Oracle ADI flexfield form
– Flexfield as parameter
Agenda

• Overview of flexfields
• Creating value sets
• Defining the key flexfield structure
• Defining the descriptive flexfield structure
• Defining values
• Describing flexfield enhancements
Overview of Flexfields
Using Flexfields to Configure Applications

General Ledger Assets

Application
windows

User-defined flexfield windows


Benefits of Flexfields

Flexfields enable the following benefits:


• Configuration of applications to support your accounting,
product, and other codes
• Construction of intelligent keys
• Configuration of applications to capture additional data
• Use of the application to validate values and value
combinations entered by the user
• Support for multiple field structures depending on data
context
Key and Descriptive Flexfields

Key flexfields
build unique __ Item Information _________
entity identifiers Category COM Computer
Item 876 Monitor
Color LTN Light tan

Descriptive flexfields
Payment Type CC gather additional
information
Store 54321
Dept 987
Number 4958-2938-4747
Exp. Dt 12 - 99
Key Flexfields

__ Sales Information ______________________ Standard


window
Transaction 3987 Payment Type
Customer Jane Doe

Item COM-876-LTN
Description Computer - Monitor - Light Tan []

Key
flexfield __ Item Information _______________
window Category COM Computer
Item 876 Monitor
Color LTN Light tan
Using Key Flexfields to Build Intelligent Keys

Business A Business B

_____Account Entry __ _____Account Entry __

Corporation 10 Company 21

Subsidiary 283 Division 42

Division 3003 Department 502

Department 025 Account 015

Account 203
Key Flexfield: Examples

• General Ledger • Receivables


– Accounting Flexfield – Territory Flexfield
• Assets – Sales Tax Location
Flexfield
– Asset Key Flexfield
– Location Flexfield • Inventory
– Category Flexfield – Item Categories
– System Items
• Service
– Sales Orders
– Service Item Flexfield
– Item Catalogs
• Human Resources
– People Group Flexfield
– Job Code Flexfield
Descriptive Flexfields

__ Sale Information ____________________


Transaction 3987 Payment Type CC
Customer Jane Doe
Item COM-876-LTN
Description Computer - Monitor - Light Tan [ ]

Payment Type CK Payment Type CC


Store 54321 Store 54321
Dept 987 Dept 987
Number 1028 Number 4958-2938-4747
Second ID MC 4565-3939 Exp. Dt 12 - 99
Descriptive Flexfield: Examples

The following are examples of instances where descriptive


flexfields are used:
• Storing supplier numbers from converted suppliers
• The Flexible Address Format
• Storing order information with an invoice
• Storing project information with an invoice
• Storing vehicle information associated with the asset
category “Vehicle”
• Name of the customer service representative responsible
for the sales order
• Web link to map property or location in Property Manager
Key and Descriptive Flexfield: Comparison

Key Flexfields Descriptive Flexfields


• Owned by one application; • Associated with tables in a
used by many specific application
• Required to set up, not always • Setup is optional
required to use • No intelligence, stores
• Supports intelligent keys additional information
• Identifies entities • Captures additional
• Drives reporting information only
Components of a Flexfield

Flexfield/Structure Flexfield Structure

Segments Segment 1 Segment 2

Values PC
COMPUTER SERVER
(if needed) LAPTOP

10 12
CHAR Char
Value set - format Independent Dependent
and validation Upper Case Upper Case
Required Required
Segment Prompts and Value Descriptions

Flexfield segment prompts

__ Item Information _______________


Category COM Computer
Item 876 Monitor
Color LTN Light Tan

Flexfield value descriptions


General Steps to Implement a Flexfield

• Plan flexfield segments, structures, value sets, and values


• Define value sets
• Define flexfield structure
• Define values
• Define security and cross-validation rules, if necessary
Creating Value Sets
Planning a Value Set

• Determine basic attributes of the set.


• Select the appropriate validation type.
Validating Input Using Value Sets

Category value set


COM MACH FURN

__ Item Information _______________

Category COM Computer


Item 876 Monitor
Color LTN Light tan

755 876 933


Item value set
Value Set Attributes

• Name: Unique value set name (Do not use XX-, XX_ , XXX-,
XXX_ or any Oracle reserved name.)
• Description: Free-form descriptive text
• List type
– List of Values
– Long List of Values
– Poplist
• Security type
– No security
– Hierarchical
– Non-hierarchical
Types of Value Sets

• None: Validation is minimal.


• Independent: Input must exist on the previously-defined list
of values.
• Dependent: Input is checked against a subset of values
based on a prior value.
• Table: Input is checked against values in an application
table.
• Special: Value set uses a flexfield itself.
Types of Value Sets

• Pair: Two flexfields together specify a range of valid values.


• Translatable Independent: Input must exist on previously-
defined list of values; translated value can be used.
• Translatable Dependent: Input is checked against a subset
of values based on a prior value; translated value can be
used.
Planning Data Format Validation

• Format Type: Value data type


• Maximum Size: Maximum permitted size for a value
• Precision: Number of decimal places
• Numbers Only: Entry of numbers 0–9 only
• Uppercase Only: Lowercase input becomes uppercase
• Right-Justify Zero-Fill: Shifts number to right, pads from left
• Max/Min Values: Beginning and ending values of a range
Defining Value Sets

Use existing value sets when possible.

Define value set.

Define list of values if appropriate.


Defining the Key Flexfield Structure
Planning a Key Flexfield

• Identify the target flexfield, the information required by


Oracle Applications, and any qualifiers.
• Plan the flexfield structure, behavior, and appearance.
• Define the key flexfield structures.
• Define any value sets required and their values.
• Define security rules when appropriate.
• Define cross-validation rules when appropriate.
• Define shorthand aliases as needed.
Designing the Key Flexfield Layout

Title Description:
___Sales Information_______
Description:
Order of
Category COM segments

Structure Item 876


Color LTN

Prompts Segment separator


Value sets

COM
FURN Values
APPL
Key Flexfield Structure

Business A Business B

_____Account Entry __ _____Account Entry __

Corporation 10 Company 10

Subsidiary 203 Division 203

Division 3003 Department 3003

Department 025 Account 025

Account 203

10-203-3003-025-203 10-203-3003-025
Key Flexfield Code Combinations

Business A Business B

_____Account Entry __ _____Account Entry __

Corporation 10 Company 10

Subsidiary 203 Division 203

Division 3003 Department 3003

Department 025 Account 025

Account 203

10-203-3003-025-203 10-203-3003-025
Storing Code Combinations

_____Account Entry __

Company 10
(Code combination)
Division 203
10 - 203 - 3003 - 025
Department 3003

Account 025

Code Combinations Table

SEGMENT1 SEGMENT2 SEGMENT3 SEGMENT4

10 203 3003 025


Key Flexfield Qualifiers

Business Y Business Z

Corp 10 Balancing Corp 10


segment
Sub 203 Div 203

Div 3003 Dept 3003

Dept 025 Acct 025

Acct 203
Types of Key Flexfield Qualifiers

Flexfield qualifiers: (Balancing


segment)
Identify a particular segment

10 203 3003 025

Segment qualifiers: (Allow posting)


Identify a particular value
Key Flexfield Qualifiers Identify Key
Flexfield Segments

Business Y Cost Center


segment
Corp: 10

Sub 203

Div 3003
Balancing
Dept 025 segment
Acct 300

Account
segment
Identifying Values in Flexfield Segments with
Segment Qualifiers
Business Y

Corp 10 Budgeting allowed: Y


Sub 203 Account Posting allowed: Y
list Account type: Asset
Div 3003

Dept 025 200 - Cash


Acct 300 300 - Revenue
400 - Payroll

Budgeting allowed: Budgeting allowed: N


N
Posting allowed: N Posting allowed: N
Account type: Liability Account type: Revenue
Defining Flexfield Qualifiers

• Use the Flexfield Qualifiers Window to assign qualifiers to


segments as appropriate for the flexfield.
• Not all flexfields use qualifiers with segments.
Segment Defaults: Examples

Default Type Default Value

Constant Any literal value

Current date Current time

Current time Current time or current date/time

Field Default Value field value

Profile Value of profile in Default Value

Segment Value in prior segment

SQL statement Result of SQL query


Other Key Flexfield Features

• Dynamic insertion of new values


• Cross-validation of segment value combinations
• Security on value access
• Aliases to speed up data entry
Allowing Dynamic Insertion

Indirectly (from display window)


__ Sales Information _____________________ Sales
Table
Transaction 3987 Payment Type: CC
Customer Jane Doe
Item COM-876-LTN
Description Computer Monitor Tan []
(Foreign key)
Directly (from entry window)

__ Part Number _________


Category COM Computer
Item 876 Monitor Code
Color LTN Light Tan Combinations
Table
Cross-Validating Values

Country Value Set State Value Set City Value Set


USA United States CA California Los Angeles
UK United Kingdom NY New York London
TX Texas New York
Houston

Asset
Location __ Asset Location _____________
Flexfield UK United Kingdom
Country
State CA California
City Houston

“UK-CA-Houston” not allowed


Using Value Set Security

Category Value Set


without security

COM
FURN COM
Description:
APPL Description:
Item Number
Category
Category Value Set Item
with security Color
Weight
COM COM
FURN
APPL (EXCLUDE COM)
Using Shorthand Aliases

Sales Information
Transaction 3754
Customer Big Manufacturing
Address 1211 State
City Dallas State TX

Zip 75219 Country USA


Item COM-876-LTN

___Item Alias____
Description:

Tan Monitor COM-876-LTN List


Part Tan Monitor of
Hard Drive COM-535-15G
Laser Printer COM-788-630 Aliases
Planning Decisions

• Multiple structures
• Resources available
• Qualifiers required
• Dynamic inserts
• Cross validation
• Shorthand aliases
• Value checking
• Value security
Freezing and Compiling the Definition

• Save after freezing to automatically compile the flexfield


definition.
• Freeze and compile after making any changes to the
definition. Changes take place immediately.
• You can see your changes immediately. Other users must
exit the system or change responsibilities before they can
see the effected changes.
Defining the Descriptive Flexfield Structure
Identifying a Descriptive Flexfield

• The presence of a descriptive flexfield on a form is indicated


by brackets. Whenever you see this, there is a descriptive
flexfield defined for use with that form.
• In some cases there may be multiple descriptive flexfields
associated with the same form.
Determining the Descriptive Flexfield Name

Procedure to determine the name of the descriptive flexfield:


1. Click on a field in the same block in which the descriptive
flexfield appears.
2. Select Help > Diagnostics > Examine.
3. A window showing information on the selected field
appears.
4. Note the name of the block in which the field is located.
Determining Available Resources

Use the list of values for the Column field in the Segments
Summary Window to determine how many segments you can
plan to use.
Identifying Your Information Needs

• What additional information needs to be captured?


• Is there any information that you need to capture each time?
• Is there information that you need to capture on an ad hoc
basis?
• Can the need for capturing ad hoc information be
conditioned on a value in a base window?
• How much control over window processing do you want to
give the user?
Identifying the Necessary Information

Store number Check number

Credit card number

Expiration date Down payment


Grouping Information by Usage

Situation 1: Store number Down payment


(finance)

Situation 2: Store number Check number


(check)

Situation 3: Store number Credit card number Expiration


(credit card) Date
Isolate Common Information

Situation 1: Store number Down payment


(finance)

Situation 2: Store number Check number


(check)

Situation 3: Store number Credit card number Expiration


(credit card) Date

Used by Varies by
all tasks task
Determine Different Contexts

Finance context

Situation 1: Store number Down payment


(finance)
Check context

Situation 2: Store number Check number


(check)

Credit card context


Situation 3: Store number Credit card number Expiration
(credit card) Date
Descriptive Flexfield Components

• Global segment: Displays information that is common to all


contexts
• Context-sensitive segment: Displays information that is
appropriate only to a particular context
• Reference field: A field on the application window whose
value is used to determine contexts
• Context field: A field in the structure whose value is used to
determine contexts
Using Global Segments

Finance context
Global
Segments
Store number
(Common)

Credit card context Check context

Store number Store number


Context-Sensitive Segments

Finance context
Context-
Sensitive Store number
Segments Account
(Vary by context) Finance terms
Down payment

Credit card context Check context

Store number Store number


Card number Second ID
Expiration date
Distinguishing Between Contexts

Finance context

Store number
Account
Finance terms
Down payment
Context
Credit card context field Check context

Store number Store number


Card number Second ID
Expiration date
Using Reference and Context Fields

• Reference Field: A field on the existing form whose value is


used to automatically distinguish between contexts.
• Context Field: A field created in the descriptive flexfield
structure that is used to allow the user to manually select
different contexts.
Using Reference Fields

Existing
application Reference field
window

Global Global
Data Data
Proposed
Elements flexfield Elements
Context designs Context
Sensitive Sensitive
Fields Fields

Context 1 Context 2
Identifying Referenceable Columns

Use the list of values for the Reference Field in the Descriptive
Flexfield Segments Window to determine the fields that are
available for use as reference fields for this descriptive flexfield.
Using Context Fields

Existing
application
window

Global Proposed flexfield designs Global


Data Data
Elements Elements
(Context) (Context)
Context (Context fields) Context
Sensitive Sensitive
Fields Fields

Context 1 Context 2
Locating the Flexfield Definition

• Use the Descriptive Flexfield Segments Window to locate


the target flexfield definition by finding the application that
owns the definition and the flexfield title.
• A flexfield may appear on more than one window. However,
defining the flexfield once automatically defines it for all
locations.
• After you access the definition, you can start making the
changes. If the flexfield is already frozen, unfreeze it first.
Storing Descriptive Flexfield Segments

Structure A Structure B

Global AAA Global AAA

Context BBB Context DDD

Context CCC

CONTEXT ATTRIBUTE1 ATTRIBUTE2 ATTRIBUTE3

Structure A Global AAA Context BBB Context CCC


Structure B Global AAA Context DDD
Freezing and Compiling the Definition

Use the Descriptive Flexfield Segments Window to:


• Freeze the flexfield definition by checking the Freeze
Flexfield Definition check box
• Compile the flexfield definition by clicking the Compile button
Defining Values
Defining Values for a Value Set

Use the Values, Effective region of the Segment Values


Window to enter:
• Value
• Translated value (translatable value sets only)
• Description
• Enabled
• From/To effective dates
Modifying Value Definitions

• You cannot change or delete values after they are defined.


• You can change the value description or the translated value
to reuse an existing value.
• You can disable or limit the effective dates of a value that is
no longer in use.
Flexfield Enhancements
Flexfield Enhancements

Error Handling

Oracle ADI Flexfield Form

Flexfield As Parameter
Summary

In this lesson, you should have learned how to:


• Describe flexfields
• Define value sets
• Define key flexfields
• Define descriptive flexfields
• Enter values
• Describe Flexfield Enhancements

You might also like