Organizations
that implement E-Business Suite often want to capture additional information
specific to their enterprise through the screens. This is achieved through the
configuration of descriptive Flex fields (DFF), which provides a mechanism for capturing
additional data in application tables through user-defined fields without the
need to customize the underlying database schema.
In other
words, descriptive flex fields add extra information to a transaction. Each screen
usually consists of a group of fields, and these fields capture the data
entered by the user. Of course, most fields have a business purpose; for
example, in the Purchase Order entry screen, the supplier field captures the
name of the supplier from whom you purchase the goods.
Oracle
develops the screens in a generic manner, so that they can be used by any
company in the world. However, different companies have different or additional
needs to capture extra details about a transaction. For example, in purchasing,
one company might require a Shipping Special Instructions field, whereas other
company might require a Telephone Number of Purchaser field. To meet the
requirements of different companies, Oracle Applications comes with a preceded
set of flexible fields. Descriptive flexfields allow you to customize your
applications to capture data that would not otherwise be tracked by your
application. These fields can be used to capture values for additional fields
as per business requirements. Given that these are generic fields, they are named
ATTRIBUTE1, ATTRIBUTE2…ATTRIBUTEn.
To
activate these fields, you have to configure the descriptive flexfields, but before
you can do that, you must ensure that you have access to the Application Developer
responsibility. Follow these steps to identify the flexfield:
1. Identify the table into which you wish to capture
additional information. Ensure that this table has columns named ATTRIBUTE1...n in the database.
2. Navigate to the responsibility Application
Developer. Within Application Developer responsibility, follow the instructions
as illustrated in below screen shot:
The
steps that follow configure a DFF on the Purchase Order Screen. To try it out,
1. Click the menu option Flexfield | Descriptive |
Register.
2. Query the table that will capture the additional
information.
3. Note the title of the descriptive flexfield, as
this will be used to perform the query in the Segments screen. (It is in the
Segments screen that you will define the new fields that you want to enable for
the end users, so that data can be entered into ATTRIBUTE1..15 database
columns.)
Once the
descriptive flexfield title has been identified, you need to define the segments,
as shown in the below screen shot
In order
to define the flexfield segments, in the Application Developer responsibility,
follow the navigation path (N)Flexfield | Descriptive | Segments.
1. Query on the descriptive flexfield title that you
noted from the Register DFF screen.
2. Unfreeze the flexfield by unchecking the check
box. (It is not possible to amend the flexfield segment if it is in a frozen
state.)
3. Select Global Data Elements and click the Segments
button (the button is not visible in below screen shot). If you
are creating a context sensitive DFF then create value below Global data
element and then click the segments button
4. Give a user-friendly name to this field and map
this field to an ATTRIBUTE column. Also attach a value set (explained in next
section). A value set is used to ensure that only validated values are entered
into descriptive flexfields by the user.
5. Make the flexfield segment required or nonrequired
as per business requirements.
Freeze
the flexfield again after making the changes. After following the previous
steps, you should see the flexfield segment appear in the Purchase Order Entry
screen as shown below:
Query to
know the Attributes(DFF Fields) column & tables details:
SELECT
b.APPLICATION_TABLE_NAME,
b.DESCRIPTIVE_FLEXFIELD_NAME,
a.DESCRIPTIVE_FLEX_CONTEXT_CODE,
a.APPLICATION_COLUMN_NAME,
a.END_USER_COLUMN_NAME
FROM
FND_DESCR_FLEX_COLUMN_USAGES a,
FND_DESCRIPTIVE_FLEXS_vl b
WHERE
b.APPLICATION_TABLE_NAME in
(UPPER('<table_name>')) AND
b.DESCRIPTIVE_FLEXFIELD_NAME=a.DESCRIPTIVE_FLEXFIELD_NAME
AND
b.APPLICATION_ID=a.APPLICATION_ID