Friday, November 11, 2011

Flexfields



Flexfields
  • A flexfield is a flexible data field that your organization can customize to your business needs without programming.
  • A flexfield is a field made up of sub-fields, or segments.
  • There are two types of flexfields: key flexfields and descriptive flexfields.

Key Flexfield

  • A key flexfield appears on the form as a normal text field with an appropriate prompt and can customize to enter multi–segment values such as part numbers, account numbers, and so on. 
  • The Oracle Applications store these "codes" in key flexfields. 
  • Key flexfields are flexible enough to let any organization use the code scheme they want, without programming.
  • For example, consider the codes your organization uses to identify general ledger accounts. Oracle Applications represent these codes using a particular key flexfield called the Accounting Flexfield. One organization might choose to customize the
  • Accounting Flexfield to include five segments: company, division, department, account, and project. Another organization, however, might structure their general ledger account segments differently, perhaps using twelve segments instead of five. 
  • The Accounting Flexfield lets your Oracle General Ledger application accommodate the needs of different organizations by allowing them to customize that key flexfield to their particular business usage.

Descriptive flexfield

  • A descriptive flexfield appears on the form as a two-character-wide text field with square brackets [ ] as its prompt to enter additional information for which Oracle product has not provide any field.
  • Descriptive flexfields provide customizable "expansion space" on your forms
  • Descriptive flexfields have two different types of segments, global and context-sensitive, decided to use in a descriptive flexfield structure.
  • A global segment is a segment that always appears in the descriptive flexfield pop-up window, regardless of context (any other information in your form). 
  • A context-sensitive segment is a segment that may or may not appear depending upon what other information is present in your form.

Flexfields features : 

  • Customize applications to conform to your current business practice for accounting codes, product codes, and other codes.
  • Customize applications to capture data that would not otherwise be tracked by your application.
  • Have "intelligent fields" that are fields comprised of one or more segments, where each segment has both a value and a meaning.
  • Rely upon your application to validate the values and the combination of values that you enter in intelligent fields.
  • Have the structure of an intelligent field change depending on data in your form or application data.
  • Customize data fields to your meet your business needs without programming.
  • Query intelligent fields for very specific information.

Basic Flexfield Concepts:
Segment

  • A segment is a single sub-field within a flexfield. You define the appearance and meaning of individual segments when customizing a flexfield. A segment is represented in your database as a single table column.
  • For a key flexfield, a segment usually describes a particular characteristic of the entity identified by the flexfield. For example, you can have a key flexfield that stores part numbers. The key flexfield can contain the part number PAD-YEL-NR-8 1/2x14, which represents a yellow, narrow ruled, 8 1/2" x 14" note pad. Each section in the part number, separated by a hyphen, describes a characteristic of the part. The first segment describes the object, a note pad, the second segment describes the color of the object, yellow, and so on.
  • Note that we also refer to the fields in a descriptive flexfield pop-up window as segments even though they do not necessarily make up meaningful codes like the segments in key flexfields. However, they do often describe a particular characteristic of the entity identified elsewhere on the form you are using.

Values, Validation and Value Sets

  • Your end user enters a segment value into a segment while using an application. Generally, the flexfield validates each segment against a set of valid values (a "value set") that are usually predefined. To "validate a segment" means that the flexfield compares the value a user enters in the segment against the values in the value set for that segment.
  • You can set up your flexfield so that it automatically validates segment values your end user enters against a table of valid values. If your end user enters an invalid segment value, a list of valid values appears automatically so that the user can choose a valid value.
  • You can think of a value set as a "container" for your values. You choose what types of values can fit into your value set: their length, format, and so on.
  • A segment is usually validated, and usually each segment in a given flexfield uses a different value set. You can assign a single value set to more than one segment, and you can even share value sets among different flexfields. For most value sets, when you enter values into a flexfield segment, you can enter only values that already exist in the value set assigned to the segment.

Structure

  • A flexfield structure is a specific configuration of segments. If you add or remove segments, or rearrange the order of segments in a flexfield, you get a different structure.
  • You can define multiple segment structures for the same flexfield (if that flexfield has been built to support more than one structure). Your flexfield can display different prompts and fields for different end users based on a data condition in your form or application data. Both key and descriptive flexfields may allow more than one structure.
  • In some applications, different users may need a different arrangement of the segments in a flexfield (key or descriptive). Or, you might want different segments in a flexfield depending on, for example, the value of another form or database field.
  • Your Oracle General Ledger application, for example, provides different Accounting Flexfield (Chart of Accounts) structures for users of different sets of books. The Oracle General Ledger application determines which flexfield structure to use based on the value of the GL Set of Books Name user profile option.
Intelligent Key

  • An intelligent key is a code made up of sections, where one or more parts may have meaning. 
  • An intelligent key "code" uniquely identifies an object such as an account, an asset, a part, or a job. Intelligent keys are useful in applications because they are usually easier for a user to remember and use than a unique number. 
  • For example, a part number of PAD-YEL-11x14 is much easier to remember than a unique part number of 57494. However, unique ID numbers are easier to maintain in a relational database application because only one column is required for the ID number.

Combination

  • A combination is a particular complete code, or combination of segment values that  makes up the code, that uniquely identifies an object. 
  • For example, each part number would be a single combination, such as PAD-YEL-11x14 or 01-COM-876-7BG-LTN
  • (where the dash "-" is the segment separator). If you had ten parts you would define ten  combinations. 
  • A valid combination is simply an existing or new combination that can currently be used (that is, it is not out of date, is not disabled, and does not violate  cross-validation or security rules).

Qualifiers
Flexfield Qualifier

  • A flexfield qualifier identifies a particular segment of a key flexfield.
  • A segment qualifier identifies a particular type of value in a single segment of a key  flexfield. In the Oracle Applications, only the Accounting Flexfield uses segment
  • qualifiers. You can think of a segment qualifier as an "identification tag" for a value. In the Accounting Flexfield, segment qualifiers can identify the account type for a natural
  • account segment value, and determine whether detail posting or budgeting are allowed for a particular value.


The basic steps in defining a key Flexfields are as given below.

  • Identifying Key flexfields that are required for you in apps installation
  • Designing a Key flexfield structure
  • Selecting the appropriate Key flexfield to define
  • Defining structure information for the Key flexfield
  • Defining segment attributes
  • Defining flexfield qualifiers
  • Defining segment qualifiers
  • Implementing optional features as needed


STEPS
The steps for you to implement flexfield security are noted below. 
1. You enable security on the Value Set form (FNDFFMVS) by navigating
   through the following steps:
   a. You sign-on to the Oracle Applications and choose the System Administrator responsibility.
   b. You navigate to the Value Set form as follows:
      Application --> Validation --> Set
   c. You query the desired value set and click the "Find" button.
   d. You check the "Security Available" box.  In the 11.5 version, an  LOV of Security Type will appear.  Choose Hierarchical Security or  Non-Hierarchical Security. NOTE:  If you use a different responsibility, like General Ledger Superuser it will have a different navigation path.

2. You enable security on the Flexfield Segments forms (FNDFFMIS or 
   FNDFFMDC) by navigating through the following steps:
     a. You sign-on to the Oracle Applications and choose the System
      Administrator responsibility.
    b. You navigate to the Value Set form as follows:

      DESCRIPTIVE FLEXFIELD
      ---------------------
      Application --> Flexfield --> Key
      KEY FLEXFIELD
      -------------
      Application --> Flexfield --> Descriptive
   c. You query the desired value set and click the "Find" button.
   d. You must unfreeze the Flexfield description if it is frozen  before proceeding.
   e. You click the "Segments" button.
   f.  Click Open
   g. You check the "Security Enabled" box.
   h. You compile the flexfield.
   i. You freeze the Flexfield description.

3. You enable Concurrent Program Parameters Security from the Concurrent
   Program Definition form (FNDCPMCP) by navigating through the following
   steps:
   a. You sign-on to the Oracle Applications and choose the SystemAdministrator responsibility.
   b. You navigate to the Program Parameter Value Set form as follows:
      Concurrent --> Program --> Define
   c. You query the desired Program and click the "Find" button.
   d. You click the Parameters button and check the "Enable Security" box.
   
4. How security rules interact?
   It is important for you to understand how the rules interact before   defining them.  For example, more than one security rule can be defined   for a segment and each security rule may consists of one or more "RULE   ELEMENTS" (e.g., sometimes referred to as CLAUSES).  A "RULE ELEMENT",   or clause, specifies a RANGE of values within the same value set to   include or exclude based on security access.  

   a. Single Rule, or One Rule with OVERLAPPING RANGES behaves: 
       All values included in either range are included by the rule because it performs as a union.  
         EXAMPLE:  100 - 500, 400 - 800 (two clauses)
         RESULT :  100 union 800  
   b. Single Rule with NO OVERLAPPING RANGES behaves:

       All values that satisfy ANY of the include clause are returned.
        EXAMPLE:  100 - 500,  600 - 800 (two clauses)
        RESULT :  100 - 500 union 600 - 800  

   c. Multiple Separate Rules with OVERLAPPING RANGES behaves:
       It is an INTERSECTION.  
        
       ONLY the values included in the overlap between both rules
       are available. 
         EXAMPLE:  100 - 500 (rule 1)  
                   400 - 800 (rule 2) 
         RESULT :  400 intersection 500

   d. Multiple Separate Rules with NO OVERLAPPING RANGES behaves:
        No values are included to satisfy all the rules. 
          EXAMPLE:  100 - 500 (rule 1)  
                   600 - 800 (rule 2) 
          RESULT :  empty set 
               
5. You define the security rules from the Define Value Set form (FNDFFSRN)
   by navigating through the following steps:
  a. You sign-on to the Oracle Applications and choose the System Administrator responsibility.
  b. You navigate to the Value Set form as follows:
      Security --> Responsibility --> Value Set --> Definition
   c. You query the desired value set by the value set name or any       flexfield segment or concurrent program parameter that uses the value set.  If security is not enabled as qualified in Step #1  above, then nothing will appear.
   d. You should specify include and exclude rule elements for values     in the Security Rule Elements block within the form (FNFFSRN).  All values you enter must pass all security rules for it to appear in  any List of Values (LOVs).  

6. You assign your security rule to a responsibility in the Assignment
   form (FNDFFSRA) by navigating through the following steps:

 a. You sign-on to the Oracle Applications and choose the System Administrator responsibility.
  b. You navigate to the Value Set form as follows:
      Security --> Responsibility --> Value Set --> Assign
  c. You query the desired value set and click the "Find" button.
  d. You assign value security for value sets, flexfield segments, or concurrent programs in this form.  You can apply security      rules to more than one responsibility, and a single responsibility can have more than one security rule.   (Ref Note Id : ID 73743.1)







No comments:

Post a Comment