Friday, December 29, 2017

Flex Fields and Form Personalization in Oracle Apps

Flex fields:
  • A flex field to capture information about your organization. Flexible has a flexible structure for storing key information.
  • Like a company, cost, center, and account.
  • They also give you a highly adaptable structure for storing customized information in an oracle application.
  •  A flex field is a field made up of subfields, or segments. There are two types of flex fields.
  1. Key flex field
  2. Descriptive flex field
Key flex field:
  • A key flex field is made up of segments, where each segment has both a value and a meaning, which appears on your form as a normal text field with an appropriate prompt.
  • An example of a key flex field is the accounting flex field. This flex field can always be customized to have as many segments Like the company, department, cost center, account, etc.
Descriptive flex field:
  • Dff adds additional fields to the form in order to track additional information needed by the business that would not be captured by the standard form.
  • Dff can be context-sensitive, where the information your application stores depend on other values your users enter in other parts of the form.
Dff concepts:
  • Dff has two different types of segments, global and context-sensitive.
  • A global segment is a segment that always appears in the dff pop-up window.
  • A context-sensitive segment is a segment that may or may not appear depending on what other information is Present in your form.
  •  A Dff uses columns that are added to a database table. A dff requires one column for each possible segment and one additional column in which to store structure information. The dff is usually named Attribute n where n is a number. 
Difference between kff and dff:
  • Kff captures mandatory business information like company department, account, etc.
  • Dff captures additional business information like the name of the company’s MD etc.
  • Kff is mandatory.
  • Dff is optional.
  • Kff displays like text items.
  • Dff displays like [].
  • Kff data are stored in the segments.
  • Dff store in the attribute.
  • 30 segment columns are reserved for kff data.
  • 15 attribute columns are reserved for the dff data.

Benefits of flex fields:
  •  Customize your application to conform to your current business practice for accounting codes, product codes, and other codes.
  •  Customize your application to capture data that would not otherwise be tracked by your application.
  •  Customize data fields to meet your business need without programming.
  •  Query intelligent fields for very specific information.

Tables in Dff:
       Select * from fnd_descriptive_flexs;
       Select * from fnd_descriptive_flexs 
        where application_table_name=’po_requisition_headers_all;

Key flex fields:
   A few Key Flex fields in different oracle modules are:
     Module: GL
1.       Accounting
           Module: HRMS
1.  Job
2.  Position
3.  Grade
4.  Personal analysis

Module: Inventory
          Account aliases
           Item catalogs
           Item categories
           Sales orders
           Stock Location
           System items

Module: AR
         Sales tax location
         Territory

Main tables:
  1. Fnd_id_flexs:
  •  This table captures the information on all the key flex fields. The main columns in the tables are:
                 Application_id - Column consists of application id.
                 Id_flex_code - kff code (like ‘gl’,’ar’,etc)
                 Id_flex_name – kff name (‘accounting flexfield’,’category field’,etc)
                 Application_table_name
               
    2. Fnd_id_flex_structures:
  • This table stores structure information about key flex fields.
            Application_id- module code
            Id_flex_code- code of kff
            Id_flex_num- number of a structure

    3. Fnd_id_flex_segments:
  • It captures the information of segments.
            Application_id
            Id_flex_code
            Id_flex_num
            Seg_num
            Flex_value_set_id
   
   4. Fnd_flex_value_sets:
  • This table captures the information on each segment's value set.
          Flex_value_set_id

    5. Fnd_fles_values:
  • This table captures the information on each value code of a value set of a segment.
            Flex_value_set_id
            Flex_value_id

   6. Fnd_flex_values_tl:
  • This table captures the information of each value description of a value set of a segment.
             Flex_value_id

Form personalization:
  • Form personalization is a feature in oracle apps that allows us to change the behavior of form-based screens, including changing properties, executing built, displaying messages, and adding menu entries.
  • It can be moved easily through and loaded from one instance to another, and it can be restricted at the site/user/responsibility level.
Uses:
  • Personalization is stored in tables rather than files. 
  • Can be moved easily through FNDLOAD from one instance to another.
  •  Can be restricted at the site/responsibility/user level.
  • Easy to disable/enable with the click of a button.
  • Can be restricted to function or form.
  •  Can be applied to new responsibilities/users easily.
What can be done through form personalization?
  • Zoom from one form to another.
  • Pass data from one form to another through global variables.
  • Enable/disable/hide fields dynamically.
  • Launch the URL directly from the oracle form.
  • Call plsql procedure.

Meaning of special fields in form personalization:
  • Menu (1-15) will be in tools.
  • Populate tools menu (special 1-15)
  • Populate reports menu (special 16-30)
  • Populate action menu (special 31-45)
  •  It is recommended to use the menu before tools.

To open form personalization go to help->diagnostics->custom code->personalize

Components used in form personalization:
       Trigger event:
       Processing mode: query mode or not in query mode or both.
       Context: at what level like user or responsibility level.
       Menu: This is used to call one form from another. It is used to implement the zoom functionality.
      Built-in:

No comments:

Post a Comment