Sunday, February 5, 2012

How to Define and Invoke DFF in Form?

1) Create a DFF table in the module specific schema with attributes and attribute category code

2) Create a public synonym in Apps schema

3) Register the table with AOL module

4) Register the DFF with AOL module

5) Open template.fmb in forms builder

6) Perform all the pre-requisites to develop a form

7) Include all DFF columns in data block with NULL canvas

8) Create a text item in the data block and change the following properties

Name - DFF
Subclass - Text_Item_Desc_Flex
Database - No
LOV - Enable_List_Lamp
Validate from list - No
Canvas- canvas name

9) Create a package specification in program units

Package name should be same as block name
Procedure name should be same as item name

Eg : procedure DFF(Event in varchar2)

10) Create a package body

if Event='When_New_Form_Instance' then
DESC_FLEX_NAME=>'descriptive flexfield_name')
End if;

Module name and the DFF name together uniquely identify the DFF.

11) Call the DFF procedure in the 'When_New_Form_Instance' trigger at the form level.

You can invoke the DFF in any of the below events


FND_FLEX.EVENT is the common built-in used to invoke the DFF and KFF
We can call this built-in in the above triggers

Whenever the FND_FLEX.EVENT calls occur at various block or form level triggers, these events apply to all flexfields defined in the block or form. You can make use of FND_FLEX.EVENT calls for some flexfields but not others.

Using the update procedures you can enable and disable a flexfield definition so that the FND_FLEX.EVENT calls do not apply to disabled flexfield definitions.

12) Save and compile the form

13) Perform all pre-requisites to register the form


  1. Great tutorial! Very well written notes on "How to define & invoke DEF in form?". I read through out post and really impressed very much.
    sap upgrade

  2. This blog helped me identify and resolve issue very quick. Thank you very much!


Note: Only a member of this blog may post a comment.