6Copyright © 2007, Oracle. All rights reserved.
Fundamentals of Flexfields
Copyright © 2007, Oracle. All rights reserved.6 - 2
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
Copyright © 2007, Oracle. All rights reserved.6 - 3
Agenda
• Overview of flexfields
• Creating value sets
• Defining the key flexfield structure
• Defining the descriptive flexfield structure
• Defining values
• Describing flexfield enhancements
Copyright © 2007, Oracle. All rights reserved.6 - 4
Overview of Flexfields
Copyright © 2007, Oracle. All rights reserved.6 - 5
Using Flexfields to Configure Applications
Application windows
User-defined flexfield windows
General Ledger Assets
Copyright © 2007, Oracle. All rights reserved.6 - 6
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
Copyright © 2007, Oracle. All rights reserved.6 - 7
Key and Descriptive Flexfields
__ Item Information _________
Category
Item
Color
Computer
Monitor
Light tan LTN
COM
876
Key flexfieldsbuild uniqueentity identifiers
Descriptive flexfieldsgather additionalinformation
StoreDept
NumberExp. Dt
Payment Type CC54321987
12 - 994958-2938-4747
Copyright © 2007, Oracle. All rights reserved.6 - 8
Key Flexfields
Standardwindow
Key flexfieldwindow
__ Sales Information ______________________
Transaction
Item
Payment Type
Description
Customer Jane Doe
Computer - Monitor - Light Tan [ ]
COM-876-LTN
3987
__ Item Information _______________
Item
Color
Computer
Monitor
Light tan
COM
876
LTN
Category
Copyright © 2007, Oracle. All rights reserved.6 - 9
Using Key Flexfields to Build Intelligent Keys
_____Account Entry __
21
42
502
015
Company
Division
Department
Account
Business A Business B
_____Account Entry __
10
283
Corporation
Subsidiary
025
203
Department
Account
3003Division
Copyright © 2007, Oracle. All rights reserved.6 - 10
Key Flexfield: Examples
• General Ledger– Accounting Flexfield
• Assets– Asset Key Flexfield
– Location Flexfield
– Category Flexfield
• Service– Service Item Flexfield
• Human Resources– People Group Flexfield
– Job Code Flexfield
• Receivables– Territory Flexfield
– Sales Tax Location Flexfield
• Inventory– Item Categories
– System Items
– Sales Orders
– Item Catalogs
Copyright © 2007, Oracle. All rights reserved.6 - 11
Descriptive Flexfields
Transaction
Item
Payment Type
Description
Customer
CC3987
Jane Doe
COM-876-LTN
[ ]
Second IDNumber
Payment TypeStoreDept
Number
Store
Dept
Exp. Dt
Payment TypeCK CC54321987
4958-2938-474712 - 99
543219871028MC 4565-3939
__ Sale Information ____________________
Computer - Monitor - Light Tan
Copyright © 2007, Oracle. All rights reserved.6 - 12
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
Copyright © 2007, Oracle. All rights reserved.6 - 13
Key and Descriptive Flexfield: Comparison
Key Flexfields• Owned by one application;
used by many• Required to set up, not always
required to use• Supports intelligent keys• Identifies entities• Drives reporting
Descriptive Flexfields• Associated with tables in a
specific application• Setup is optional• No intelligence, stores
additional information• Captures additional
information only
Copyright © 2007, Oracle. All rights reserved.6 - 14
Components of a Flexfield
COMPUTERPC
LAPTOPSERVER
10CHAR
IndependentUpper Case
Required
12Char
DependentUpper Case
Required
Flexfield/Structure
Segments
Values(if needed)
Value set - format and validation
Segment 1 Segment 2
Flexfield Structure
Copyright © 2007, Oracle. All rights reserved.6 - 15
Segment Prompts and Value Descriptions
__ Item Information _______________
Category
Item
Color
Computer
Monitor
Light Tan LTN
COM
876
Flexfield segment prompts
Flexfield value descriptions
Copyright © 2007, Oracle. All rights reserved.6 - 16
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
Copyright © 2007, Oracle. All rights reserved.6 - 17
Creating Value Sets
Copyright © 2007, Oracle. All rights reserved.6 - 18
Planning a Value Set
• Determine basic attributes of the set.
• Select the appropriate validation type.
Copyright © 2007, Oracle. All rights reserved.6 - 19
Validating Input Using Value Sets
__ Item Information _______________
Category
Item
Color
Computer
Monitor
Light tan LTN
Item value set
COM MACH FURN
Category value set
COM
876
755 876 933
Copyright © 2007, Oracle. All rights reserved.6 - 20
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
Copyright © 2007, Oracle. All rights reserved.6 - 21
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.
Copyright © 2007, Oracle. All rights reserved.6 - 22
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.
Copyright © 2007, Oracle. All rights reserved.6 - 23
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
Copyright © 2007, Oracle. All rights reserved.6 - 24
Defining Value Sets
Use existing value sets when possible.
Define list of values if appropriate.
Define value set.
Copyright © 2007, Oracle. All rights reserved.6 - 25
Defining the Key Flexfield Structure
Copyright © 2007, Oracle. All rights reserved.6 - 26
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.
Copyright © 2007, Oracle. All rights reserved.6 - 27
Designing the Key Flexfield Layout
Description:Description:
Category
Item
Color
Title
Structure
Order ofsegments
PromptsValue sets
Values
COM
Segment separator
876
LTN
COM
FURN
APPL
___Sales Information_______
Copyright © 2007, Oracle. All rights reserved.6 - 28
Key Flexfield Structure
10-203-3003-025-203 10-203-3003-025
_____Account Entry __
10
203
3003
025
Company
Division
Department
Account
Corporation
Subsidiary
Division
Department
Account
10
203
203
3003
025
_____Account Entry __
Business A Business B
Copyright © 2007, Oracle. All rights reserved.6 - 29
Key Flexfield Code Combinations
10-203-3003-025-203 10-203-3003-025
_____Account Entry __
10
203
3003
025
Company
Division
Department
Account
Corporation
Subsidiary
Division
Department
Account
10
203
203
3003
025
_____Account Entry __
Business A Business B
Copyright © 2007, Oracle. All rights reserved.6 - 30
Storing Code Combinations
_____Account Entry __
10
203
3003
025
Company
Division
Department
Account
SEGMENT1 SEGMENT2 SEGMENT3 SEGMENT4
10 203 3003 025
Code Combinations Table
10 - 203 - 3003 - 025
(Code combination)
Copyright © 2007, Oracle. All rights reserved.6 - 31
Key Flexfield Qualifiers
10
203
3003
025
Corp
Div
Dept
Acct
Business Z
Corp
Sub
Div
Dept
Acct
10
203
203
3003
025
Business Y
Balancingsegment
Copyright © 2007, Oracle. All rights reserved.6 - 32
Types of Key Flexfield Qualifiers
Segment qualifiers:Identify a particular value
Flexfield qualifiers:
Identify a particular segment
10 203 3003 025
(Allow posting)
(Balancingsegment)
Copyright © 2007, Oracle. All rights reserved.6 - 33
Key Flexfield Qualifiers Identify Key Flexfield Segments
Cost Centersegment
Balancingsegment
Accountsegment
Corp:
Sub
Div
Dept
Acct
10
203
300
3003
025
Business Y
Copyright © 2007, Oracle. All rights reserved.6 - 34
Identifying Values in Flexfield Segments with Segment Qualifiers
Corp
Sub
Div
Dept
Acct
10
203
300
3003
025
Business Y
Accountlist
200 - Cash
300 - Revenue
400 - Payroll
Budgeting allowed: Y
Posting allowed: YAccount type: Asset
Budgeting allowed: N
Posting allowed: NAccount type: Revenue
Budgeting allowed: NPosting allowed: N
Account type: Liability
Copyright © 2007, Oracle. All rights reserved.6 - 35
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.
Copyright © 2007, Oracle. All rights reserved.6 - 36
Default Type Default Value
Constant
Current date
Current time
Field
Profile
Segment
SQL statement
Any literal value
Current time or current date/time
Current time
Default Value field value
Value of profile in Default Value
Value in prior segment
Result of SQL query
Segment Defaults: Examples
Copyright © 2007, Oracle. All rights reserved.6 - 37
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
Copyright © 2007, Oracle. All rights reserved.6 - 38
Allowing Dynamic Insertion
__ Sales Information _____________________
Item
Payment Type:
Description
Customer
[ ]
__ Part Number _________
Category
Item
Color
Computer
Monitor
Light Tan
COM
876
LTN
CodeCombinationsTable
SalesTable
(Foreign key)
Computer Monitor Tan
CC
Jane Doe
COM-876-LTN
Indirectly (from display window)
Directly (from entry window)
Transaction 3987
Copyright © 2007, Oracle. All rights reserved.6 - 39
Cross-Validating Values
CA CaliforniaNY New YorkTX Texas
State Value Set
Asset LocationFlexfield
__ Asset Location _____________
Country
State
United Kingdom
California
UK
CA
“UK-CA-Houston” not allowed
City Houston
Country Value Set
USA United StatesUK United Kingdom
City Value Set
Los AngelesLondonNew YorkHouston
Copyright © 2007, Oracle. All rights reserved.6 - 40
Using Value Set Security
Description:Description:Item Number
Category
Item
Color
Weight
COM FURNAPPL
Category Value Set without security
Category Value Set with security
COM FURNAPPL (EXCLUDE COM)
COM
COM
Copyright © 2007, Oracle. All rights reserved.6 - 41
Using Shorthand Aliases
Sales Information Transaction
Customer
Item
Country
3754
Big Manufacturing
Address
City State
1211 State
Dallas TX
USAZip 75219
Description: ___Item Alias____
Part Tan Monitor
COM-876-LTN
Tan MonitorHard DriveLaser Printer
COM-876-LTNCOM-535-15GCOM-788-630
Listof
Aliases
Copyright © 2007, Oracle. All rights reserved.6 - 42
Planning Decisions
• Multiple structures
• Resources available
• Qualifiers required
• Dynamic inserts
• Cross validation
• Shorthand aliases
• Value checking
• Value security
Copyright © 2007, Oracle. All rights reserved.6 - 43
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.
Copyright © 2007, Oracle. All rights reserved.6 - 44
Defining the Descriptive Flexfield Structure
Copyright © 2007, Oracle. All rights reserved.6 - 45
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.
Copyright © 2007, Oracle. All rights reserved.6 - 46
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.
Copyright © 2007, Oracle. All rights reserved.6 - 47
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.
Copyright © 2007, Oracle. All rights reserved.6 - 48
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?
Copyright © 2007, Oracle. All rights reserved.6 - 49
Identifying the Necessary Information
Store number Check number
Credit card number
Expiration date Down payment
Copyright © 2007, Oracle. All rights reserved.6 - 50
Grouping Information by Usage
Situation 1:(finance)
Situation 2:(check)
Situation 3:(credit card)
Store number
Store number
Store number
Check number
Credit card number ExpirationDate
Down payment
Copyright © 2007, Oracle. All rights reserved.6 - 51
Isolate Common Information
Used byall tasks
Varies by task
Situation 1:(finance)
Situation 2:(check)
Situation 3:(credit card)
Store number
Store number
Store number
Check number
Credit card number
Down payment
ExpirationDate
Copyright © 2007, Oracle. All rights reserved.6 - 52
Determine Different Contexts
Situation 1:(finance)
Situation 2:(check)
Situation 3:(credit card)
Store number
Store number
Store number
Check number
Credit card number
Down payment
Finance context
Check context
Credit card context
ExpirationDate
Copyright © 2007, Oracle. All rights reserved.6 - 53
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
Copyright © 2007, Oracle. All rights reserved.6 - 54
Using Global Segments
GlobalSegments(Common)
Credit card context
Finance context
Check context
Store number
Store number
Store number
Copyright © 2007, Oracle. All rights reserved.6 - 55
Context-Sensitive Segments
Context-Sensitive Segments
(Vary by context)
Finance context
Down payment
Finance terms
Account
Check context
Second ID
Credit card context
Card number
Expiration date
Store number
Store number
Store number
Copyright © 2007, Oracle. All rights reserved.6 - 56
Distinguishing Between Contexts
ContextfieldCredit card context
Card number
Expiration date
Second ID
Finance context
Down payment
Finance terms
Account
Check context
Store number Store number
Store number
Copyright © 2007, Oracle. All rights reserved.6 - 57
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.
Copyright © 2007, Oracle. All rights reserved.6 - 58
Using Reference Fields
Existingapplicationwindow
Proposedflexfielddesigns
Reference field
Global
Data
Elements
Context
Sensitive
Fields
Context 1 Context 2
Global
Data
Sensitive
Fields
Elements
Context
Copyright © 2007, Oracle. All rights reserved.6 - 59
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.
Copyright © 2007, Oracle. All rights reserved.6 - 60
Using Context Fields
Proposed flexfield designs
Existingapplicationwindow
Global
Data
Context
Sensitive
Fields
(Context)(Context fields)
Context 1 Context 2
Global
Data
Elements
Sensitive
Fields
(Context)
Context
Elements
Copyright © 2007, Oracle. All rights reserved.6 - 61
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.
Copyright © 2007, Oracle. All rights reserved.6 - 62
Storing Descriptive Flexfield Segments
Global AAA Global AAA
Context BBB
Context CCC
Context DDD
Structure A Structure B
Structure A
Structure B
Global AAA
Global AAA
Context BBB
Context DDD
Context CCC
CONTEXT ATTRIBUTE1 ATTRIBUTE2 ATTRIBUTE3
Copyright © 2007, Oracle. All rights reserved.6 - 63
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
Copyright © 2007, Oracle. All rights reserved.6 - 64
Defining Values
Copyright © 2007, Oracle. All rights reserved.6 - 65
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
Copyright © 2007, Oracle. All rights reserved.6 - 66
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.
Copyright © 2007, Oracle. All rights reserved.6 - 67
Flexfield Enhancements
Copyright © 2007, Oracle. All rights reserved.6 - 68
Flexfield Enhancements
Error Handling
Oracle ADI Flexfield Form
Flexfield As Parameter
Copyright © 2007, Oracle. All rights reserved.6 - 69
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