Information in this document applies to any platform.
Checked for relevance on 30-04-13
This is applicable to R11, 11i and R12ABSTRACT
This paper will provide detailed steps for creating value sets, segments and accounting flexfield structures. It will also provide steps on how to add new values to existing segments and how to create code combinations.
Note: the screen shots presented are from R12 and may differ from the ones in your system depending on the applications version installed, however the included data is similar. The same may apply to the navigation paths and documentation links.HISTORY
Author: Teja Satoskar, Lisa Marukuni
Create Date: September, 2000
Update Date: 13-Oct-2011 Update and Conversion to HTML standard format by Nuno Mascarenhas
Introduction
This paper will provide detailed steps for creating value sets, segments and accounting flexfield structures. It will also provide steps on how to add new values to existing segments and how to create code combinations.
1. How to create an Accounting Flexfield Structure
Steps:
- Create value sets
- Create new accounting flexfield structure
- Create segments
- Add Segment Values
- Freeze Flexfield Structure
- Compile Flexfield Structure
- Attach accounting flexfield structure to a set of books or Ledger
Note: Steps 1 through 4 MUST be performed in that order.
Step 1- Create Value SetsResponsibility: General Ledger Super UserNavigation: Setup > Financials > Flexfields > Validation > Sets
- Value Set Name - Enter a unique name.
- Security Available - Check this if you want to use security rules. This can be changed at anytime.
- Enable Longlist - Check this if your value set should provide the Longlist feature, where a user must enter a partial segment value before the list of values retrieves all available values.
- Format Type - You MUST specify a format type of Char. If you want to use numbers, choose Char and allow alphanumerics. The Accounting Flexfield does not support format types other than Char.
- Right-justify Zero-fill Numbers - Check this. If not checked, then this could cause problems with data entry later. This automatically adds zeroes on the left of a number to complete the field size; e.g. you enter "99" and it is stored as "00099".
- Validation Type - This must be Independent, Table, or Dependent-type value sets. Do not use value sets with a validation type of None, Pair, or Special for the Accounting Flexfield.
If you are using a Table-validated value set:
- Do not specify a hidden ID column.
- Do not use a WHERE clause and/or ORDER BY clause.
Step 2- Creating Accounting Flexfield structureResponsibility: General Ledger Super User
Navigation: Setup > Financials > Flexfields > Key > Segments
- Application - Oracle General Ledger
- Flexfield Title - Accounting Flexfield
- Structure Title - enter the title for your new accounting flexfield structure.
- Segment Separator - select the separator from the list of values. After setting this do not change it. It may cause inconsistencies.
- Enabled - Check this flag to enable your accounting flexfield structure.
- Notice this is where you enable the following:
- - Cross Validation Rules with 'Cross-Validate Segments'
- - Dynamic Insertion with 'Allow Dynamic Inserts'
Step 3- Create segmentsClick the Segments button on the Key Flexfield Segments form.
You can define up to 30 segments for your account structure. You must define at least 2 segments, one for the balancing segment and one for the natural account segment (the two required flexfield qualifiers). Please note that some Oracle subledgers require a third qualifier, that being the cost center.
Enter all your segments in order.
- Number - The Accounting Flexfield requires consecutive segment numbers beginning with 1 (such as 1, 2, 3, ...). Gaps in numbering like 10,20,30 ... will cause problems.
- Name - Enter a unique name for the segment. The name should begin with a letter and use only letters, numbers, spaces or underscores. The name cannot be changed after saving.
Do not use SQL keywords or reserved words as it will cause errors. - Window Prompt - this is viewed by the end-user and can be changed.
- Column - Do not use any columns other than those named SEGMENT1 through SEGMENT30.
- Indexed - if the expect number of different segment values is small, do not select the Indexed option. If the number is high then select the Indexed option. This will determine if the GL Optimizer program will create separate index for
this segment or not.
Assign your flexfield qualifiers. With the cursor on the segment you are going to designate as your balancing segment, click on the Flexfield Qualifiers button. Check the Enabled checkbox on the Balancing Segment line.
Do the same for the natural account segment. With the cursor on the segment you are going to designate as your natural account segment, click on the Flexfield Qualifiers button. Check the Enabled checkbox on the Natural Account line.
Cost Center and Intercompany Segment are optional.
Be sure you create these segments and qualifiers carefully. You are not allowed to change them once they are defined. Changing them is unsupported and data inconsistency and corruption will occur.
Click on the Open button for each of the segments to create the segment and associated information.
Suggestion: If you have spare segments (for future use), enable and display them (this is mandatory for all segments in accounting flexfield). In the value sets for the spare segments, define only one segment value, which will be the default value.
On the Segments form, set the Default Type to Constant and Default Value to the value created in the segment values form (FNDFFMSV). This would typically be zeros.
Use the Flexfield Qualifiers button to assign the existing qualifiers to the segment:
Step 4 - Add Segment ValuesResponsibility: General Ledger Super User
Navigation: Setup > Financials > Flexfields > Key > Values
Enter the following parameters:
- Application - in 11i use "Oracle General Ledger" and in R12 use "General Ledger".
- Title - "Accounting Flexfield". In R12 do not use the "GL Ledger Flexfield" as this is to be maintained by the system.
- Structure - The name of the structure created in Step 2.
- Segment - Defined in Step 3.
- Click on Find button.
- Enter segment values for each segment you created.
After entering the value, you cannot change or delete it. However, you can uncheck the Enable button. Alternatively, you can put a start and end dates (from / to) on the value.
Note: If you disable a segment, the existing code combinations are not automatically disabled. To disable existing code combinations manually query the code combinations on the GL Accounts form and uncheck the Enabled box or end date the code combination.
You can use the Segment Value Inheritance program to do the same automatically.
Setup the required segment qualifier values.
Note: Make sure you tab through to the segment qualifiers box even if you want to use the default qualifiers.
Below is the standard segment qualifier box for all segments except the natural segment.
Below is the standard segment qualifier box for the natural account segment.
Make sure you set the account type correctly. If not, you will experience problems in the first period of a new year with your retained earnings account. The account type determines whether an account's ending balance closes into retained earnings or becomes a beginning balance in the new year.
Note: If you discover that your account type is set incorrectly and you have already posted or already created code combinations, then reference your Oracle General Ledger User's Guide for the process to correct misclassified accounts (also see Document 1050920.6).
Note: The Reconciliation qualifier is setup differently in 11i and R12.
- For 11i please review Document 1041211.6.
- For R12 the Setup of Journal Reconciliation is standard functionality.
Step 5- Freeze Flexfield StructureResponsibility: General Ledger Super User
Navigation: Setup > Financials > Flexfields > Key > Segments
Freeze your flexfield definition and save your changes. When you do, your flexfield compiles automatically.
Step 6 - Compile Flexfield StructureClick on Compile button to compile flexfield. You must recompile your flexfield every time you make changes using this form, including enabling or disabling cross-validation rules. You must also recompile your flexfield after you enable or disable shorthand entry using the Shorthand Aliases window.
When the compilation completes please check the Concurrent Request output for any possible errors.
Step 7- Attach accounting structure to a Set of Books or to a LedgerResponsibility: General Ledger Super User
Navigation 11i: Setup > Financials > Books > Define
Navigation R12: Setup > Financials > Accounting Setup Manager > Accounting Setups
- Chart of Accounts - Enter the name of your accounting flexfield structure.
- The first time you are using this chart of accounts, you must have Dynamic Insertion enabled for the accounting flexfield structure when you enter the required accounts for Retained Earnings, Suspense or Intercompany.
2. How to Change Segment Values in Existing Value Sets
Steps:
- Unfreeze flexfield definition
- Update segment values on the segment value form
- Freeze flexfield definition
- Compile flexfield structure
Navigation: Setup > Financials > Flexfields > Key > Segments
Uncheck Freeze Flexfield Definition.
Step 2- Modify segment values on the segment value formFollow the steps described in previous Step 4 - Add Segment Values to navigate to the Segment Values form. Query the values. Make the necessary changes.
Note: you cannot change or delete the segment value itself. You can change the description, enabled flag, end date, etc.
If you cannot make changes after you unchecked "Freeze Flexfield Definition", then there are other flexfield structures using the same value set, which are still frozen. Document 1015950.6 contains scripts to find the flexfields that use the value set.
Step 3- Freeze flexfield definitionThis step is identical to previous Step 5 from How to create an Accounting Flexfield Structure (see above).
Step 4- Compile flexfield structureThis step is identical to previous Step 6 from How to create an Accounting Flexfield Structure (see above).
3. How to create a new code combination
There are two ways to create code combinations.:
- Manually
- Automatically (with Dynamic Insertion enabled)
Navigation: Setup > Financial > Accounts > Combinations
Enter the Account, and set the Allow Posting and Allow Budgeting flag. Optionally enter the date range.
In this screen, in R12, you can also enter an Alternate Account, which is a replacement combination to use instead by the Journal Import program and the Create Accounting program in Subledger Accounting to replace the original account combination when disabled or end-dated..
3.2. Automatically
- Check Allow Dynamic Inserts on the Key Flexfield Segments form.
- Optionally define Cross Validation Rules.
- Compile the Flexfield Structure.
Navigation: Setup > Financials > Flexfields > Key > Segments
Step 2 - Optionally define Cross Validation Rules.Responsibility: General Ledger Super User
Navigation: Setup > Financials > Flexfields > Key > Rules
Step 3 - Compile the Flexfield Structure.This step is identical to previous Step 6 from How to create an Accounting Flexfield Structure (see above)
4. Tips when Creating Accounting Flexfield Structures4.1. Defining your Account StructureThe Accounting Flexfield has several special requirements and limitations for its definition. Follow these recommendations carefully, since an incorrectly-defined Accounting Flexfield will adversely affect your chart of accounts, and application features:
1. Define your Accounting Flexfield value sets using the Define Value Set form.
- You must specify a format type of Char for the segment value format type. If you want to use numbers, choose Char and allow alphanumerics. The Accounting Flexfield does not support format types other than Char.
- We recommend that you set Right-justify Zero-fill Numbers to Yes for value sets you use with the Accounting Flexfield.
- Value sets for the Accounting Flexfield must be independent, table, or dependent-type value sets. Do not use value sets with a validation type of None, Pair, or Special for the Accounting Flexfield.
- We recommend that you allow parent values for segments in your Accounting Flexfield. Parent values are used to create summary accounts and to increase the productivity of Oracle Applications.
3. Define your Accounting Flexfield segments. You can define up to 30 segments for your account structure. You must define at least two segments for your account structure, one for the balancing segment and one for the natural account segment (the two required flexfield qualifiers).
- When specifying the column you want to use for your Accounting Flexfield segment, do not use any columns other than those named SEGMENT1 through SEGMENT30.
- You must enter a value set in the Value Set field for each segment of the Accounting Flexfield. Value sets for the Accounting Flexfield must be independent, table, or dependent-type value sets. Do not use value sets with a validation type of None for the Accounting Flexfield.
- You must check the Required check box for each segment.
- You must check the Display check box for each segment.
- The segment you use as a balancing segment must be an independent segment (it cannot use a dependent value set).
- You should never change the flexfield qualifier of one segment once it has been saved. This may cause major inconsistencies with the existing data.
6. Define the balancing segment. Oracle Applications uses your balancing segment to ensure that all journals balance for each value of your balancing segment. Oracle Applications also use your balancing segment to ensure that entries that impact more than one balancing segment use the appropriate intercompany or interfund accounting
- Indicate whether the segment you are defining is a balancing segment. You can define only one balancing segment for an account. The segment you use as a balancing segment must be an independent segment (it cannot use a dependent value set).
8. Define your Accounting Flexfield segment values. Be sure to enter parent, rollup group and level information, and hierarchy details, if appropriate, for your segment values. Be sure you do not assign overlapping ranges of child values to the same parent value. You use rollup groups to create summary accounts.
- Decide your segment hierarchy before you create parent and child segment values. You cannot change a child value to a parent at a later time or a parent value to a child, as it could cause program errors or balances corruption.
Responsibility: General Ledger Superuser
Navigation: Setup > Financials > Accounts > Manager
4.2. Changing the flexfield definitionChanging your flexfield definition once you have used it to acquire data can cause serious inconsistencies with the existing data.
In general, once you have setup and begun to use a flexfield, you should never change anything about its structure or its value sets (other than defining, enabling, and disabling values, shorthand aliases, and cross-validation and security rules). You need to make sure not to invalidate your existing flexfield data. Before you make such a change, you should back up all of your existing data, including Oracle Application Object Library data, before attempting any value set changes.
Oracle Applications prevents you from inadvertently invalidating your flexfield value set data by preventing you from deleting an existing value set under some conditions. If you define and save a value set, and then, immediately re-query it, you can delete the value set.
However, you cannot delete the value set if you have:
- assigned it to a key or descriptive flexfield segment.
- assigned one or more values to it (even if it is not assigned to a segment)
- assigned a security rule to it (through the segment to which your value set is attached).
- assigned it to a FlexBuilder parameter.
4.3. Changing between Independent and Table Value setYou can make these changes as long as you ensure that the new value set contains every single value that the old value set contained. If you are missing any values that had been in the original value set, you will get error messages upon querying up old code combinations whose values are now missing.
You can make the following changes:
- Independent to Table
- Table to Independent
4.4. Changes you should never makeYou should never make these types of changes because you will corrupt your existing flexfield combinations data:
- Independent to Dependent
- Dependent to Independent
- None to Dependent
- Dependent to Table
- Table to Dependent
SUMMARY
Document the detailed steps for setting up the Accounting Flexfield:
- creating value sets,
- segments
- accounting flexfield structures
- adding new values to existing segments
- creating code combinations.