-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
|Receive Email for New Articles|
|Smart Descriptive Flexfields||| Print ||
|Written by Anil Passi|
|Tuesday, 30 January 2007|
In this article, I would like to explain some tricks with context sensitive Descriptive Flexfields. To begin with lets consider some scenarios as below.
Scenario 1. Depending upon the responsibility user has logged into, you wish to either show two flexfield segemts or three segments. This is a fairly common requirement.
Scenario 2. There are two different oracle screens, both based on same table but different functionality. Hence the share the same descriptiveflexfields. You wish to use notation :block.fieldname in the value set. But this will work in one screen and error in another.
Can't we simply use context sensitive flexfields?
You certainly can. However, what if you do not want to make your user select the value in context field manually? In this case you need to take your design a step further.
In fact, before you proceed further with this article, you must read this link Basic Concepts of Context Sensitive Descriptive Flexfields.
In case you do not know much about profile options, you must also read link basic concepts of Profile Options
What are the options at hand for solutions to Scenatio 1 and Scenario 2?
Option 1. Use profile option as the context
Option 2. Use a system global variable as the context.
How does this work?
In case of using profile option, value in Context Reference Field of the descriptive flexfield will be the profile option[see picture below].
Lets say for Responsibility-1 this profile is set to XX, and for Responsibility-2 this profile is set to YY, and for a special user this profile is set to value ZZ.
You can then define three different contexts, as below.
Uses attribute1 and attribute2, using value sets vs1 and vs2
Uses attribute 1, using value set vs3
Uses attribute2 with value set vs4 , making this descriptive flexfield segment mandatory.
Depending upon which responsibility user logs into, and also depending upon which user logs into the screen, they will see different flexfield segments popping up.
Ah, what if same user in a single responsibility has access to different screens that share same DFF?
In this scenario, you can design your descriptive flexfield on a System variable context. Hence your context will be :SYSTEM.CURRENT_FORM. Depending upon which form the user has navigated to, they will see different segments.
Note: Use Examine utility to find out the Current Form Name
Sounds good, but what are the pitfalls?
1. :blockname.fieldname convention does not works for OA Framework screens.
2. There is only one context reference field available per Descriptive Flexfield. If you choose to have your DFF context sensitive on a profile option, then you will have to live with it forever(ah should I say fusion-when D2K forms are gone). However this limitation can be overcome by using fnd_profile.put api, to alter the profile option value at runtime for forms session. Effectively you can modify the context[by changing profile option value pragmatically], using formspersonalizations.
How about OA Framework? Do we need these design methodology in OA Framework too?
Not really, because in OA Framework, you can use personalizations to decide which Context + Attribute combination must be displayed. Personalizations can be performed at responsibility level to get the desired result as discussed in example above.
written by emmanuel , January 31, 2007
written by Kishore Ryali , March 27, 2007
written by Anil Passi , March 28, 2007
written by Kishore Ryali , March 29, 2007
written by Prasad Kotha , April 18, 2007
written by Neerja Dhillon , August 16, 2007
How to hide context in DFF
written by som , October 23, 2007
Using Profile Option as context Images not visible
written by Sumeru Dhimbale , October 25, 2007
:block.field reference giving error in copy order lines and mass change
written by Nilesh Goyal , November 06, 2007
Context fields in Concurrent Request Form
written by Justin , March 01, 2008
DFF fields to be dynamicaly displayed
written by sanjay jha , March 06, 2008