flexfields spider
DESCRIPTION
Flexi Fields DocumentTRANSCRIPT
© Spider Systems Pvt. Ltd.Slide No. 1
Welcome to Spider Systems
Oracle Applications : Flexfields
© Spider Systems Pvt. Ltd.Slide No. 2
FlexfieldsPurpose and Applications• Flexibility to implement Code Structure• Flexibility to capture Additional Information
© Spider Systems Pvt. Ltd.Slide No. 3
FlexfieldsAs the name suggests, a flexfield is a “Flexible Field”.
A flexfield is a field made up of segments (which are actually table columns). Each segment has a name that can be assigned, and a set of valid values.
There are two types of flexfields in Oracle Applications: Key flexfields (KFF) and descriptive flexfields (DFF).
Using key and descriptive flexfields, you give end users the ability to customize your application to match their business needs, without programming.
© Spider Systems Pvt. Ltd.Slide No. 4
Key-FlexfieldsA key flexfield represents an “intelligent key” that uniquely identifies an application entity.
Each key flexfield segment has a name you assign, and a set of valid values you specify. Each value has a meaning which can be specified.
A key flexfield provides with a flexible ”code” data structure that users can set up however they like using key flexfield segments.
© Spider Systems Pvt. Ltd.Slide No. 5
Key-FlexfieldsKey flexfields let you satisfy the needs of different customers as per their business practices, without having to reprogram the application.
For each segment one can also define valid values for each segment, as well as cross–validation rules to describe valid segment combinations.
Oracle General Ledger’s Accounting Flexfield is an example of a key flexfield used to uniquely identify a general ledger account.
© Spider Systems Pvt. Ltd.Slide No. 6
Key FlexfieldsYou could use the Item Flexfield in an inventory application to uniquely identify inventory parts. It could contain such segments as product class, product code, size, color and packaging code.
You could define valid values for the color segment, for example, to range from 01 to 10, where 01 means red, 02 means blue, and so on.
You could even specify cross–validation rules to describe valid combinations of segment values.
• For example, products with a specific product code may only be available in certain colors.
© Spider Systems Pvt. Ltd.Slide No. 7
Key-FlexfieldA Flexfield Segment Is a Single Sub-field of a FlexfieldEach segment is a single column of a table.Flexfield segments are usually validated against a set of valid values, called a value set.Key Flexfields Identify an EntityKey flexfields serve as an intelligent primary key, where each segment contains meaningful information.Key flexfields are integral parts of a form. They appear as normal fields until the flexfield window pops up.Often the segment descriptions also appear on the formin a concatenated-values field.
© Spider Systems Pvt. Ltd.Slide No. 8
Oracle Apps provided Key-FlexfieldOracle Applications Key FlexfieldsAccounting Flexfield: Oracle General LedgerAsset Key Flexfield: Oracle AssetsBank Details KeyFlexfield : Oracle Payroll Category Flexfield: Oracle AssetsItem Catalogs: Oracle InventoryItem Categories :Oracle InventoryLocation Flexfield: Oracle AssetsPosition Flexfield: Oracle PersonnelSales Orders: Oracle InventorySales Tax Location FlexfieldOracle ReceivablesStock Locators : Oracle InventorySystem Items : Oracle Inventory Territory Flexfield :Oracle Receivables
© Spider Systems Pvt. Ltd.
Oracle Applications Key Flexfields
Bank DetailsCost AllocationPeople Group
OraclePayrollCategory
Asset
Location
OracleAssets
TerritorySales Tax LocationOracle
ReceivablesAccountingOracleGeneralLedger
Oracle Service ItemOracleService
Account AliasesItem CatalogsItem CategoriesSales OrdersStock LocatorsSystem Items
Oracle Inventory
Grade JobPersonal AnalysisPositionSoft Coded
OracleHumanResources
© Spider Systems Pvt. Ltd.Slide No. 11
Accounting KeyflexfieldHas special features and is used for Chart of Account definitionRequires setup of • Flexfield Qualifiers• Segment qualifiers• Parent-Child Relationship and Hierarchy• Segments used with Rollup groups
Features for SecurityFeatures : Dynamic InsertValueset SecurityCross validation RulesShorthand Alias
© Spider Systems Pvt. Ltd.Slide No. 12
Descriptive FlexfieldsDescriptive flexfields provide customizable ”expansion space” to capture information which otherwise is not captured by the application.
It lets you satisfy different groups of users without having to reprogram your application.
© Spider Systems Pvt. Ltd.Slide No. 13
Descriptive FlexfieldsDescriptive flexfields can be context sensitive, where the information your application stores depends on other values your users enter in other parts of the form.
Each descriptive segment has a name you assign. You can specify valid segment values or set up criteria to validate the entry of any value.
Example : Customer Retail info, Asset info based on asset type.
© Spider Systems Pvt. Ltd.Slide No. 14
Descriptive FlexfieldA Field Made Up of Sub-fieldsFlexfields appear in a pop-up window on a form.Flexfields are implemented as a set of database columns, with one column for each segment.The brackets [ ] indicate the presence of a descriptiveflexfield.When the cursor reaches the brackets, the descriptiveflexfield pops open. If the descriptive flexfield is not enabled, the cursor skips over the brackets.
© Spider Systems Pvt. Ltd.Slide No. 16
FlexfieldsCustomizing Flexfields
• Customizing a flexfield means specifying the prompt, length and data type of each flexfield segment.
• It also includes specifying valid values for each segment, and the meaning of each value to your application.
• You or your end users can even define cross–validation rules to specify valid combinations of segment values ( in case of Key Flexfields)
© Spider Systems Pvt. Ltd.Slide No. 17
FlexfieldsA Flexfield May Have One or More StructuresBoth key and descriptive flexfields can have more than one structure.Standard report submission parameter windows behave as descriptive flexfield structures.
• Each parameter acts as a segment.• Tailor structures for specific end-user needs.
© Spider Systems Pvt. Ltd.Slide No. 18
FlexfieldsMultiple Structures
• Flexfields lets you define multiple segment structures for the same flexfield.
• Your flexfield can display different prompts and fields for different end users based on a data condition in your form or application data.
• Most of the features used with your flexfield segments also apply to your parameter window for Standard Request Submission programs.
© Spider Systems Pvt. Ltd.Slide No. 19
DefinitionsSegment
• For a key flexfield, a segment is a single piece of the complete entity code ( like item part code)
• For a descriptive flexfield, a segment is a single field or a single attribute of the entity
• A segment is represented by a single column in a table.• A segment is a single sub–field within a flexfield.• You define the appearance and meaning of individual
segments when customizing a flexfield.
© Spider Systems Pvt. Ltd.Slide No. 20
DefinitionsCombination
• For a key flexfield, a combination of segment values that make up the complete code or key.
• You can define valid combinations with simple cross–validation rules when you customize your key flexfield.
© Spider Systems Pvt. Ltd.Slide No. 21
DefinitionsStructure
• A flexfield structure is a particular arrangement of flexfield segments.
• The maximum size of the structure depends on the individualflexfield.
• A flexfield may have one or more structures. Both key and descriptive flexfields can have more than one structure.
• Users can tailor structures for specific needs. • If you add or remove segments, or rearrange the order of
segments in a flexfield, you get a different structure.
© Spider Systems Pvt. Ltd.Slide No. 22
DefinitionsValues, 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.
© Spider Systems Pvt. Ltd.Slide No. 23
DefinitionsCombinations Table
• For a key flexfield, a database table you include in your application to store valid combinations of key flexfield segmentvalues.
• Each key flexfield must have a combinations table. It contains columns for each flexfield segment, as well as other columns. This is the same table you use as your entity table.
Combinations Form• For a key flexfield, a combinations form is the form whose base
table (or view) is the combinations table. The only purpose of the combinations form is to maintain the combinations table.
© Spider Systems Pvt. Ltd.Slide No. 24
DefinitionsDynamic Insertion• Dynamic insertion is the insertion of a new valid combination
into a key flexfield combinations table from a form other than the combinations form.
• All validation rules still will apply during insertion
Structure Defining Column• A column you include in a combinations table or entity table so
the flexfield can support multiple segment structures.
© Spider Systems Pvt. Ltd.Slide No. 25
Customizing a DFFPlanning a Descriptive flexfield.• The planning phase can be broken into smaller, though still
interrelated, steps:– Decide which flexfields to implement– Learning about a specific flexfield– Planning the structure– Planning the segments– Planning the segment validation– Planning to use additional features– Documenting your plan
© Spider Systems Pvt. Ltd.Slide No. 26
Customizing a FlexfieldCustomize the Flexfield’s Appearance
• Flexfield title• Number and order of segments• Prompts• Value sets, values, and value descriptions
Use Flexfield Functionality for Validation• Pop-up windows• Individual segment validation• Cross-segment validation
Customize to the Situation• Flexfields allow the application to adjust to fit specific business needs.• Use multiple structures to match different needs in different situations.
© Spider Systems Pvt. Ltd.Slide No. 27
Customizing a DFFPlanning 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.
• Plan for field prompts• 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.
© Spider Systems Pvt. Ltd.Slide No. 28
Different StructuresOne Flexfield Captures Different InformationUse different structures for different situations.Make the flexfield structure depend automatically on the value of another field. This is called using a reference field.Define the flexfield to allow choosing the structure when entering the flexfield. This is called using a context field.
© Spider Systems Pvt. Ltd.Slide No. 29
Structures ConceptFor a descriptive flexfield, a structure consists of any global segments plus all context-sensitive segments for a particular context field value.
Context-sensitive structures are all the segments defined for a context field value.
© Spider Systems Pvt. Ltd.Slide No. 30
Customizing a DFF : Reference fieldPlanning for Reference Fields• Reference fields are fields from which a descriptive flexfield can
get a context field value (optional, but recommended). • Reference fields must be separate fields Frequently, most of the
existing (non–flexfield) fields in your form can also serve as reference fields.
• They are NOT the structure defining field (typically ATTRIBUTE_CATEGORY is a structure defining field).
• Good reference fields are those that have a short, fairly static list of possible values.
© Spider Systems Pvt. Ltd.Slide No. 31
Customizing a DFFPlanning for Reference Fields• You specify fields as reference fields when you register your
descriptive flexfield in the Register Descriptive Flexfield form. Your users then have the option of using a reference field or not when they set up your flexfield.
• Reference field is just an ordinary field on the form before youchoose to use it as a reference field
• Use a reference field on the form to derive a context field value.
© Spider Systems Pvt. Ltd.Slide No. 32
Context fieldDetermine which context-sensitive structure appears with a context field.Context Fields is NOT a Segment.The context field has a context field prompt.The response, called a context field value, determines which group of context-sensitive segments appears next.Each value for the context field can correspond to a separate context-sensitive structure.Context fields do not always display. Non-displayed context fields derive values from a default or from a reference field, and the user cannot change the context field value.
© Spider Systems Pvt. Ltd.Slide No. 33
Context fieldElect to Hide the Context FieldUse a reference field to supply the context field value. The context field never appears, so that users cannot change the value.Or, use the reference field as a default but allow users to override. Visible context fields are alterable.Change the value of the context field without changing the value in the reference field.
© Spider Systems Pvt. Ltd.Slide No. 34
Customizing DFFCreate different context-sensitive segments to appear only for a particular context field value. Different context field values cause different context-sensitive segments to pop open.
© Spider Systems Pvt. Ltd.Slide No. 35
Global FieldDefine global segments that always appear in the descriptive flexfield pop-up window, regardless of context (any other information in the form).
Define global segments before any context-dependentstructures.
© Spider Systems Pvt. Ltd.Slide No. 36
Customizing a DFFPlanning Validations • Choose a Validation Type for Your Value Set. There are several
validation types that affect the way users enter and use segmentor parameter values:
• None (not validated at all)• Independent• Dependent• Table• Special (advanced)• Pair (advanced)• Translatable Independent• Translatable Dependent
© Spider Systems Pvt. Ltd.Slide No. 37
Building & Implementing a DFFThere are 4 main steps to implement a DFF.• Define the DFF Database columns in the table (ATTRIBUTEn
VARCHAR2(150)• Define the Structure column ATTRIBUTE_CATEGORY
VARCHAR2(30)• Register the table and its columns with AOL.• Register the DFF and its segments using proper value sets as
per the plan prepared.• Add Flexfields to Forms
© Spider Systems Pvt. Ltd.Slide No. 38
Adding Flexfields to FormsThere are four basic parts to calling a flexfield from an Oracle Forms window. These steps apply to both key and descriptive flexfields.
To code a flexfield into your form :• Create your hidden fields• Create your displayed fields• Create your flexfield definition• Invoke your flexfield definition from several event triggers
© Spider Systems Pvt. Ltd.Slide No. 39
Flexfield Underlying Table Table have flexfield columns as any other columns defined as per standard suggested by oracle.Attribute columns are built in by the developer. Their number cannot increase.Use only as many segments as the table has available columns (for a single flexfield structure that contains both global and context-sensitive segments).Most columns called Attribute#. ( 1 to 15)Attribute_category is used as structure column and stores the context value.Global segments use the same column in all flexfield structures.Context-sensitive segments use a column only for that particularstructure.
© Spider Systems Pvt. Ltd.Slide No. 40
DF Table DefinitionContext-sensitive Segments Can Reuse Columns
Since context-sensitive segments only use columns for their particular structure, two segments in different context-sensitive structures can share the same column.
Defining global segments first prevents wastefully using all columns for context-sensitive segments.
© Spider Systems Pvt. Ltd.Slide No. 41
View GenerationA view is generated by AOL to allow access data based on the descriptive flexfield definition
© Spider Systems Pvt. Ltd.Slide No. 42
Customizing a DFF optionsUse a combination of these features to create a descriptiveflexfield.What Kind of SegmentsCreate global segments ?Create context-sensitive segments ?A context field that the user sees (override allowed Yes) ? How to choose which context-sensitive segments appear/populate the context field ?Choose which context-sensitive segments appear by using a reference field ?Specify a default context field value ? (to choose which context-sensitive segments appear by default)
© Spider Systems Pvt. Ltd.
Validating Input Using Value Sets
__ Item Information _________
Category
Item
Computer
Monitor
COM
876
COM APPL FURN
Category value set
Item value set
876755 933
© Spider Systems Pvt. Ltd.
Types of Value SetsNone Validation is minimal
Independent Input must exist on 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.
© Spider Systems Pvt. Ltd.
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.
© Spider Systems Pvt. Ltd.
Validation Type None Values are checked for expected data type,length, and so on.
Values are not checked against an approved values list.
Examples include credit card number, street address, phone number.
© Spider Systems Pvt. Ltd.
Independent Value Sets
__ Item Information _________
Category
Item
Computer
Monitor
COM
876
COM APPL FURN
Category value set
© Spider Systems Pvt. Ltd.
Dependent Value SetsCategory value set Item value set
COM Computer
APPL Appliances
FURN Furniture
755 Modem
876 Monitor
933 Printer
320 Microwave
560 Refrigerator
876 Washer
877 Desk
154 Table
677 Bunk Bed
© Spider Systems Pvt. Ltd.
Table-Validated Value Sets
WHERE REGION = ‘Western’
Cities_Westvalue set
Customer table
Acme ComputersNorth Bay FoodsMidwest GrainSouthern MillingRockies Mining
San JoseBostonChicagoCharlestonDenver
WesternEasternEasternSouthernWestern
Name CityRegion
San Jose Denver
© Spider Systems Pvt. Ltd.Slide No. 50
Value Sets
IndependentFormat Type Name
Maximum ValueMinimum Value
PairRight-justify Zero-fillNumbers?
SpecialUppercase Only?TableAlphabetic Characters?LongList Enabled ?NonePrecisionSecurity AvailableDependentMaximum LengthDescription
Validation TypeFormat TypeSet OptionsValue Set Options
© Spider Systems Pvt. Ltd.
Validation Types: SummaryType List of Values
AvailableValues Stored
In
None
TableSpecial/Pair
N/A
Depends on value set
No
IndependentDependent
AOL* TableAOL* Table
YesYesYes Application Table
TranslatableIndependent
TranslatableDependent
AOL* TableYes
AOL* TableYes
Depends on value set
**Application Object Library
© Spider Systems Pvt. Ltd.
Predefined Value SetsChoosing a predefined value set limits the necessary maintenance of values.
Most predefined value sets are table-validated value sets.
A useful value set is Yes_No, containing the values Yes and No.
Never alter value sets provided by Oracle Applications, especially the SRS value set.
Steps in defining Valueset
Valueset Type: None
Valueset Type: Independent
Valueset Type: Dependent
Valueset Type: Table
Valueset Type: Table
Values for Independent Valueset
Values for Independent Valueset
© Spider Systems Pvt. Ltd.Slide No. 64
Setting Up FlexfieldsDemo of Keyflexfield enabling & customizationDemo of DFF enabling & customization Demo of ValueSet creation