Oracle 11i - Extending The Power of Flexfields Oracle 11i - Extending The Power of Flexfields
Oracle 11i - Extending The Power of Flexfields Oracle 11i - Extending The Power of Flexfields
This white paper outlines a solution, that lets one add almost an unlimited number of flexfields to
any number of objects. This solution
Features
The extended DFF (xDFF) solution is a means by which a user can add additional reference data to
any form in Oracle Applications through some basic setups. The tool uses Oracle Application’s
flexfield and ZOOM features to enable this functionality.
• This is a simple solution and is very easy to develop and implement. With our documentation
most people are able to implement it in a day or two.
• It needs minimal setups to be enabled for any new object. Adding a new object is almost as
easy as adding a new context to a standard Oracle flexfield.
• It uses standard Oracle DFFs and hence utilizes the same forms and fields to exploit all of
the standard Oracle DFF features like
o Ease of setup
o Defaulting
o Value-sets
o display sizes.
1 Descriptive flexfields provide customizable ”expansion space” on your forms. You can use descriptive
flexfields to track additional information, important and unique to your business, that would not otherwise be
captured by the form.
NeoCortex, Inc., 839, West Sunset Bvld, Hayward, CA 94541
Phone: 510 435 8536 Fax: 801 365 7553 www.neocortex.com
Neocortex, Inc. Page 3
Oracle 11i – Extending the power of flexfields
• xDFFs defined for one object can be accessed by almost any other related objects using
minimal setups2. For example, you could access the xDFFs entered for Sales Order Line
from corresponding Invoice line directly or you could access the xDFFs entered for an RMA
from the Receipt form.
2 This behavior is very similar to the behavior of standard oracle attachments, with lesser flexibility though.
NeoCortex, Inc., 839, West Sunset Bvld, Hayward, CA 94541
Phone: 510 435 8536 Fax: 801 365 7553 www.neocortex.com
Neocortex, Inc. Page 4
Oracle 11i – Extending the power of flexfields
Architecture
The extended DFF solution uses Oracle’s DFF and ZOOM architecture.
For the purpose of this paper we will take a case where we have to enable xDFF for Items form. The
following diagram explains how the overall architecture works.
Item Form
xDFF Table
Whenever a user opens a form (Item Master form in our example), the custom.pll checks the xDFF
setup table to see if xDFF is enabled for the form/zone or not. If it is, the zoom is enabled for the
form.
When user invokes zoom, the zoom event in the custom.pll selects the object name, primary keys
and the flexfield context on the basis of form/block name and passes the information to the xDFF
form, where it is stored in the appropriate fields parameter block. The context defaults from the
parameter block. The list of value for the context contains a list of all the xDFF segments that can be
viewed from the Items form. When the user clicks on the flexfield, the enabled xDFF segments for
the context pop up.
Setups
In order to use this tool the users will have to configure a context sensitive flexfield and associate
their flexfield configuration (CONTEXT) to the form. This association is done through a
maintenance form (ZOOM Maintenance) that is a part of the System Administration Responsibility.
Once the setups/configurations are done, the additional reference fields are available through a
ZOOM.The following basic setup needs to be done, before any specfic setups for any form can be
done.
1. The attribute columns for the xDFF table have to be registered as DFF segments.
2. The DFF segments have to be defined.
For our example, we need to create a new context, say ITEM, and then enable as many segments for
it as we need to.
Context used in
xDFF setup.
xDFF Form
The form name and block name where xDFF has to be enabled should be associated with the
appropriate context defined in the DFF setups and to the correct PK fields.
For our example we need to create one record for Form INVIDTM and block
MTL_SYSTEM_ITEMS. The context here would be ‘ITEM’ as defined in the DFF setup earlier.
The primary keys for the item object are inventory_item_id and organization_id that, incidentally, are
stored in the fields of the same name in the MTL_SYSTEM_ITEMS block of INVIDTM block. So
we will use inventory_item_id and organization_id for key column 1 and key column 2 respectively.
Utilities
The following utilities enhance the ease of use for the xDFF solution.
• This set of PL/SQL utilities package contains functions to select, update and insert xDFF records.
Even though the extended flexfield tables can be accessed directly, this utility make it much easier for
the programmers developing forms/reports/customized programs to manipulate xDFFs.
Limitations
The extended flexfields have all the features of the standard oracle flexfields except for the following limitation:
1. Since the extended DFF form is a zoom form, the ‘Required Field’ functionality cannot be enforced.
Appendix 3 : Utilities
The following functions/procedures that can be used to get or set xDFF values in any
customization/interfaces or report. The pl/sql code package with these functions is attached at the end.
purge_unrefrenced_flexs
extended_flex_values
get
put
Significant contributions were made to this idea by Kenny Kesar of Oracle Corporation and
Suresh Vaidyanathan of Agilent Technologies. Infact the two of them helped implement a
solution based on this concept at a fortune 500 company.
Neocortex, Inc.
39275, State Street,
Fremont, CA 94538
www.neocortex.com
[email protected]
510-435-8536