Friday, January 14, 2011

Define a Descriptive Flexfield

Introduction
Descriptive Flexfield is a mechanism that lets us create new fields in screens that are delivered by Oracle.
These new fields be added without modifying/customization of the screen, no programmatic change is needed to setup Descriptive Flexfield. They are little flexible, for example, depending upon the value in a field, we can make either Field1 or Field2  to appear in Descriptive Flexfield.

We need to create new fields because Oracle delivers a standard set of fields for each screen, but different customers have different needs, hence Oracle lets us create new fields to the screen.
These field are free text but If you attach a value set to the field(at time of setup of Descriptive Flexfield ), then field will no longer be free text. The entered value in the field will be validated, also a list of valid values will be
provided in LOV.
You cannot reate a Descriptive Flexfieldon any database column, Oracle delivers a predefined list of columns for each table that are meant for DFF usage. Only those columns can be mapped to DFF segments. These columns are named similar to ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3 ETC. Usually Oracle provides upto 15 columns, but this number can vary.
Each DFF is mapped to one table. And also each segment(or call it field) is mapped to one of the attribute columns in that table. It is possible for these fields to appear in screen only when certain conditions are met. For this purpose  we have something known as Context Sensitive Descriptive Flexfields.
Scenario

Descriptive flexfields use two types of segments: global and context-sensitive. In this practice, we will create a descriptive flexfield using only global segments. We will also create value sets that provide lists of values for your user. The descriptive flexfield is designed to track the following additional information about orders that have been held:
• Who held the order
• The reason the order was held
• The amount of time the order was held

Define your Value Sets
Responsibility: System Administrator
1- (N) Application > Validation > Set. Enter the information for the first value set in the following fields and save your work
• Value Set Name: INAM_WHO_HELD
• Description: INAM Who Held Value Set
• Security Type: Non-Hierarchical Security
• Format Type: Char
• Maximum Size: 2
• Validation Type: Independent

2- Enter the information for the second value set in the following fields:
• Value Set Name: INAM_WHY_HELD
• Description: INAM Why Held Value Set
• Security Type: Non-Hierarchical Security
• Format Type: Char
• Maximum Size: 3
• Validation Type: Independent
Save your work.

3- Enter the information for the third value set in the following fields:
• Value Set Name: INAM_HOW_LONG_HELD
• Description: INAM How Long Held Value Set
• Security Type: Non-Hierarchical Security
• Format Type: Char
• Maximum Size: 3
• Validation Type: Independent
Save your work.

Define your Structure
1- Navigate (N) Application > Flexfield > Descriptive > Segments. 
 Query your descriptive flexfield. I've chosen the following
 − Descriptive Flexfield Title: Mass Maintenance Requests
− Navigation: Setup > Other > Mass Maintenance
2- In the "Context Field" region, ensure the Displayed check box is cleared.
In the "Context Field Values" region, select the Global Data Elements context and click (B) Segments to navigate to the Segments Summary window.

 3- Enter the following information (pic below) for the three new segments:
Note: Be sure to save after each segment, you may need to click (B) OK to acknowledge the
Caution message before proceeding.

Save your work.
4- Close the Segments Summary window to navigate back to the Descriptive Flexfield Segments window.
Select the Freeze Flexfield Definition check box.

Click (B) Compile to compile the flexfield definition. Click (B) OK to each note about submitting your request to generate the flexfield view.

Define your Values
1- (N) Application > Validation > Values. In the Find window, select INAM_WHO_HELD value set and click (B) Find.
In the Values, Effective region of the Segment Values window, define the following values (pic below):

Save work.
2- In the Segment Values window, verify Value Set radio button is selected and your cursor is in the header region, then query the INAM_WHY_HELD value set in the Name field.
In the Values, Effective region, define the following values (pic below):

3- In the Segment Values window, verify Value Set radio button is selected and your cursor is in the header region, then query the INAM_HOW_LONG_HELD value set.
In the Values, Effective region, define the following values:

Save your work and close the Segment Values window.
Test your Descriptive Flexfield
After defining your value sets, segments, and values, navigate to your descriptive flexfield using the General Ledger Super User responsibility and test the results of your work. When you are finished, exit without saving.

following is the image of a test for Journel > Categories
− Descriptive Flexfield Title: Journal Categories
− Navigation Path: Setup > Journal > Categories
My environment was not setup for Mass Maintenance so I tested DFF on some other system using some other navigation path like GLSuperUser > Setup > Journel > Categories

No comments:

Post a Comment