Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

CONTACT US

Miscellaneous
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new

Search Courses

Please find an article on the very basics of Key Flexfields.


Question : We have already covered Descriptive Flexfield in detail in previous article, should we still bother learning key flexfield?
Answer : Indeed we must learn this. When I myself learnt Oracle Apps, all I had was the cryptic definitions in Oracle Manual, and it took me weeks to get my head around the differences between Key Flexfields and Descriptive Flexfields. Now I hope you can learn this crystal clear in minutes.

Question: Key Flexfields help us capture additional fields, and so does descriptive flexfield too? What is the deal here?
Answer: Ok, let’s assume for a minute that there is no such thing as a key flexfield. All we have is a descriptive flex (lets assume).
Requirement is this:-
Your client wants to capture values in following additional fields for a purchase order transaction and invoices...
Company name: GM
Cost Centre: IT
Project: OFP --means Oracle Fusion Project
Expense Type: OCC -- Oracle Consultant Cost

In a DFF ONLY WORLD, when your client raises Purchase Order to IT Consulting Company, in PO_DISTRIBUTIONS_ALL table record you will store
ATTRIBUTE1 :- GM
ATTRIBUTE2 :- IT
ATTRIBUTE3 :- OFP
ATTRIBUTE4 :- OCC

When an invoice is received from consulting company, the Payables clerk will capture the Invoice Line accounting as below in AP_INVOICE_DISTRIBUTIONS_ALL
ATTRIBUTE1 :- GM
ATTRIBUTE2 :- IT
ATTRIBUTE3 :- OFP
ATTRIBUTE4 :- OCC
These 4 text values for fields(above) are physically being duplicated in each module, for the related/unrelated transactions.

Imagine further when this transaction flows to Oracle General Ledger, would you again expect oracle to physically store the 4 columns into table GL_JE_LINES? If so your table GL_JE_LINES will have following values in its DFF (Descriptive Flex) columns....
ATTRIBUTE1 :- GM
ATTRIBUTE2 :- IT
ATTRIBUTE3 :- OFP
ATTRIBUTE4 :- OCC

Surely, such design using a descriptive flexfield will be flawed, as it causes duplication of data at various places.
Now that you understand why Descriptive flexfield does not fit into this design, lets consider a new scenario.

Consider an alternate approach.( using KFF )
Let’s have a table named gl_code_combinations with following columns.
CODE_COMBINATION_ID
SEGMENT1
SEGMENT2
SEGMENT3
SEGMENT4

Let’s capture A SINGLE record in this table as below:-
CODE_COMBINATION_ID : 10902
SEGMENT1 : GM
SEGMENT2 : IT
SEGMENT3 : OFP
SEGMENT4 : OCC

Note the above combination of 4 fields can be uniquely identified by 10902(CODE_COMBINATION_ID).

In PO_DISTRIBUTIONS_ALL table, we will have below column with value
CODE_COMBINATION_ID : 10902
NOTE: Now we are not storing all four columns here in PO Dist table, as we store the Unique ID of the record in Key Flexfield table.

Again, in Account Payables, even though the clerk will enter in screen values for four columns (four each segment), the database will only store value 10902 in column CODE_COMBINATION_ID of payables distributions table.
Ditto for the entry in GL_JE_LINES table in oracle general ledger, only the ID that references those 4 columns will be stored.

Hence all the tables(PO Dist, AP Dist, GL JE Lines) will reference just the CODE_COMBINATION_ID.

Now some Q & A below

Question: Does this mean, for each key flexfield, there will be a dedicated table? And such table will hold the unique combination of field values that can be reused?
Answer: correct. For gl accounting key flexfield, there is a table named gl_code_combinations. Other examples are grades in oracle human resources. A grade can be defined as a combination of say Clerk + Senior or Clerk + Junior. These combinations will be stored in per_grades table.

Question: do all the tables which are used for storing key Flexfields have columns named segment1,segment2...segmentx?
Answer : Correct, it is a standard practice used by oracle. Thee segments columns are generic columns so that each client can call them by whatever name as they desire.

Question: Does Oracle deliver Key-Flexfields out of the box, which will pop-up a window with relevant fields, as configured during setup.
Answer : Yes, and if value sets are attached, the fields can be validated too.

Question : Is there a step by step example of setting up key flexfield.
Answer : Have a look at article for Setting up Special Information Types in HRMS using Key FlexField .
For change in perspective, I have covered a HRMS Key Flexfield, named Special Information Types.


Anil Passi

Comments   

+1 #1 Bhanu 2006-11-18 00:00
quite well explained, i should bookmark ur site
Quote
0 #2 Bhanu 2006-11-18 00:00
quite well explained, i should bookmark ur site
Quote
0 #3 Anil Passi 2006-11-19 00:00
Thanks Bhanu, You may also decide to register, so that you can receive a monthly email update on new articles.
Quote
0 #4 Anil Passi 2006-11-19 00:00
Thanks Bhanu, You may also decide to register, so that you can receive a monthly email update on new articles.
Quote
+1 #5 seenujanu 2006-11-20 00:00
Thanks by giving valuable information,now i cleared the doubts from the flexfields
Quote
0 #6 seenujanu 2006-11-20 00:00
Thanks by giving valuable information,now i cleared the doubts from the flexfields
Quote
0 #7 Mukesh 2006-12-01 00:00
Hi anil

Please let me know if i have a key flexfied in which 2 segment are there and i want to add another segment however in earlier 2 segments data is there , can i add another segment.

Tha nks,
Mukesh
Quote
0 #8 gayathri 2006-12-01 00:00
Thanks Anil for the Article.
Quote
0 #9 Mukesh 2006-12-01 00:00
Hi anil

Please let me know if i have a key flexfied in which 2 segment are there and i want to add another segment however in earlier 2 segments data is there , can i add another segment.

Tha nks,
Mukesh
Quote
0 #10 gayathri 2006-12-01 00:00
Thanks Anil for the Article.
Quote
0 #11 Mukesh 2006-12-04 00:00
Hi Anil,
Thanks for the update,but in general
CONCATENATED_ SEGMENTS automatically update automatically when we insert any values so in this case do we need to append.

plea se let me knw the procedure for updatting the CONCATENATED_SE GMENTS.

Than ks,
Mukesh
Quote
0 #12 Mukesh 2006-12-04 00:00
Hi Anil,
Thanks for the update,but in general
CONCATENATED_ SEGMENTS automatically update automatically when we insert any values so in this case do we need to append.

plea se let me knw the procedure for updatting the CONCATENATED_SE GMENTS.

Than ks,
Mukesh
Quote
0 #13 Mukesh 2006-12-08 00:00
Hi Anil,
Can you please put some light on flexfield qualifier ,segment qualifier ,Dynamic insertion and cross validation in flexfield via example.

I read in document concepts are still not much clear on these topics.

Than ks & Regards,
Mukes h
Quote
0 #14 Mukesh 2006-12-08 00:00
Hi Anil,
Can you please put some light on flexfield qualifier ,segment qualifier ,Dynamic insertion and cross validation in flexfield via example.

I read in document concepts are still not much clear on these topics.

Than ks & Regards,
Mukes h
Quote
0 #15 Jyothi 2006-12-18 00:00
Hi Anil,

I found this site very excellent.

T hanks Anil for sharing your knowledge with every one.

Thanks
Jyothi
Quote
0 #16 Jyothi 2006-12-18 00:00
Hi Anil,

I found this site very excellent.

T hanks Anil for sharing your knowledge with every one.

Thanks
Jyothi
Quote
0 #17 Ramya Laxman 2007-02-17 00:00
Anil, Can you also give some info about the required flex fields in apps i.e. which need to be setup in different modules says assets, service contracts, inventory, etc.
Quote
0 #18 Ramya Laxman 2007-02-22 00:00
Thanks for the info, Anil. I asked this question about the required flex fields as this was a question posed during an interview. How many necessary flex fields should be setup in Apps and what are their names in each module. Let me know if I had understood the question incorrectly. Thank you.
Quote
0 #19 Florin 2007-03-05 00:00
Hello Anil,

PER_ANALYSIS_CR ITERIA does not have any CONCATENATED_SE GMENTS column. this table is used for a KFF. do you have any idea why it does not have this column ?
thanks,
Quote
0 #20 Anil Passi 2007-03-24 00:00
Thanks Siva. It appears 22 are mandatory.
And if you run below
select count(*) from fnd_id_flexs ;
You will see 37. So, it means 15KFF are optional.
Quote
0 #21 Prabhakar 2007-05-01 00:00
Yes , you have a wonderful blogspot and it helps all oracle consultants also. Keep up your good work...
Quote
0 #22 sanjay 2007-05-27 00:00
Another great piece of work done by a great Indian.
Quote
0 #23 Gowri 2007-08-30 16:30
Hi Anil,
Great website and very good articles.
I have a specific question on KFF. You have written that Oracle will store a ID(key) for the KFF instead of individual values of segments. I understand that peice, But I do not understand When and How ID's are generated. Is it done dynamically on the fly, or at the time of creation of KFF.
Also, Say a KFF has 3 segments with 1st segment having a valueset of say 2 distinct values, 2nd with 3 distinct values, and 3rd with 2 distinct values. In that case, would oracle generate 2x3x2=12 combinations with ID's. What if one of the segment has a valueset of 100 values, or even say if it is free-text..
Would Oracle create all combinations and ID's, at the time of KFF creation and store in some place, Or would it create them dynamically when the actual value is stored in the table.
Obviously 2nd approach is a preferred one, but just want to confirm the same from you, as I am not sure of it.

~Regards,
Gow ri
Quote
0 #24 Anil Passi 2007-09-01 16:53
Hi Gowri

The unique ID is generated from a sequence.
When you register a Key Flex Field in Application developer responsibility, at that time ayou specify the UNIQUE ID COLUMN for the KFF.

The most common example is accounting flexfield, which uses a sequence named gl_code_combina tions_s.nextval to generate the code_combinatio n_id

Thanks,
A nil Passi
Quote
0 #25 Manpreet Singh 2007-10-13 10:07
If we have multiple structures for a keyflexfiled, how to specify whicih structure should be used by the KFF?
Quote
0 #26 James 2008-02-12 15:06
Hi Anil,

I have posted this request earlier under different thread in your site. I realised that this question is much more appropriate in this thread.

I am trying to create Key Flexfields in OA Framework page. I had tried the steps outlined in the Declarative Implementation as mentioned in OA Framework Developers Guide (Metalink note 269138.1). I am getting following error.

The data that defines the flexfield on this field may be inconsistent. Inform your system administrator that the function: KeyFlexfieldDef initionFactory. getStructureNum ber could not find the structure definition for the flexfield specified by Application = SQLGL, Code = GL# and Structure number =

I wonder why the structure number is null? How can I pass structure number to OAKeyFlexBean?

My supspecion is that I have missed out something while creating EO, AO or VO. In the developers guide it had mentioned to Ensure that the view object underlying the region includes the CCID column (the foreign key reference). I am bit confused about creating entity object that contain a foreign key reference to the code combinations table. Is it refering to creating Association object between the base EO and EO for the code combination table?

Thanks,

James
Quote

Add comment


Security code
Refresh

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  May 2024  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
    1  2  3  4  5
  6  7  8  9101112
13141516171819
20212223242526
2728293031  

Enquire For Training

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner