Saturday, August 13, 2011

Context Sensitive Descriptive Flexfields


A training article on Context Sensitive Descriptive flexfields.
IMPORTANT:- You must read Basics Flexfield article . This article is an extension to the work that we did for a simple flexfields. 

First some basic Question and answers, and then we will do screenshots detailing how flexfields are configured.


Question: I want these Flex fields to appear in screen only when certain conditions are met. Is it possible?
Answer: Yes, you can. Lets take an Example. You have a "Bank Branch" screen where you enter the Bank names and their branches . There is a field named Branch Type in that screen. You wish to show & capture following new fields:-
a.    Banks Country of Origin Field ( regardless of bank branch type, we must show this new field). As we configured in earlier training chapter.
b.    If user entered a value of SWIFT in Branch type, then display a new DFF segment "SWIFT Partner field".
c.    If Branch type CHIPS is selected by the user, then display a DFF segment "Chip ID" field.


In Order to do this, we will follow the below steps(screenshots will follow) :-
1.    Navigate to the DFF Registration screen in Oracle Apps and query on Table AP_BANK_BRANCES. Now click on Reference Field, and ensure that “BANK_BRANCH_TYPE” field can be used as a context switch. In our case we add this field as a reference field.
2.    Navigate to DFF Segments screen and query on the Title of the “Bank Branch” and Unfreeze the Flexfield and add segments as in screenshot below. Register the BANK_BRANCH_TYPE field as a reference item.
3. Create the contexts for each possible value of Bank Branch Type field(for which you want conditional display of fields)....
Hmmmm not clear yet, see the the screenshots and you will surely understand......

Find out the table name for Bank Branch screen, this will enable us to find the DFF that is available for Bank Branch Image
The Bank Branch can have one of the following values.
Image
Given that our DFF will be sensitive to what we enter in Bank Branch, we must find out name of the field(not the display name). This can be done by using examine as shown
Image
We can see that internal name of the Branch Type is "BANK_BRANCH_TYPE". We need to ensure that a DFF can be made sensitive to the value in BANK_BRANCH_TYPE
Image
Lets navigate to DFF registration screen, and using the table name, we query DFF for AP_BANK_BRANCHES.
Image
Alternately you can query using DFF title too.
Image

Image
Now lets add BANK_BRANCH_TYPE as a REFERENCE Field, by clicking on Button Reference
Image
Now we need to define the new fields(segments). This screen is accessed via menu /Descriptive/Segments . In this screen, lets make BANK_BRANCH_TYPE as the context/reference. This means that DFF will become sensitive to values in Branch Type field
Image
IMPORTANT: If your requirement is not to have any conditiional logic, then no need for all the "Reference Field" blaaa. All you need to do is to add your segment to Global Data Elements
Image
Image
Image
Image
Image
When the user selects Type=SWIFT, we see the relevant SWIFT field appear in Flexfield window
Image

When user selects Type=CHIPS, we see CHIP Id field appearing in Flexfield window.
Image
Here we now see that value entered in DFF field gets stored in the database column,
Image 

No comments:

Post a Comment