General Ledger FAQ for Flexfields

By
Advertisement


Requirements and Limitations defining the Accounting Flexfield

1. What are the requirements and limitations defining the Accounting Flexfield?

The 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 and in most cases they cannot be corrected.

Plan your key flexfield structures carefully, including segment information such as segment order and field lengths.
Once you define your key flexfields and enter flexfield values, you cannot change your structures. Attempting to do so may create data inconsistencies that impact the behavior of your application or require a complex conversion program. Changing your existing structures may also adversely affect the behavior of items that reference your present flexfield structure, such as financial statements, recurring journal entries, allocations, consolidations, cross-validation rules and shorthand aliases

Try to build flexibility for future needs into your account structure during setup:
- you may want to add an extra character to the size of each segment to anticipate future needs.
- You can define additional segments for future use.

The following is not a complete list of restrictions and does not excuse the reading of the General Ledger and Flexfields User Guides:
- It is mandatory to designate one segment as the Natural Account segment and another as the Balancing segment.
- The Accounting Flexfield supports only the Char format type. You should not select the Numbers Only check box for the Accounting Flexfield.
- The Accounting Flexfield requires consecutive segment numbers beginning with 1 (such as 1, 2, 3, ...).
- The Accounting Flexfield requires that all segments be Displayed and Required. Hiding segments is not supported.
- You can use dependent account segments when you want a "context-sensitive" segment, but avoid it if possible. Use the Cross Validation Segment Rules instead, as some functions may not work properly with dependent segments (for example the AHE - Account Hierarchy Editor).

 

Segments, Values and Value Sets

1. Can different Ledgers / Sets of Books share the same value set?

If there is a ledger or set of books that already uses a particular value set and a new one is created, it can share the existing value set.
When the Account Flexfield Structure is created, simply choose the existing value set from the List of Values.
However, if you use an existing value set, the new structure will also inherit the existing values in the value set. It does not create an empty value set to be populated.

2. Can the Accounting Flexfield Segment name be changed?

Almost nothing about a flexfield structure should be changed since this could seriously impact your existing data and cause inconsistencies.
The LOV (list of values) prompt and window prompt that appear on the segment form can be changed so the users can see the segment with a different name.

1. Navigate to Setup: Financial: Flexfield: key: segments
2. Query all
3. Unfreeze your flexfield
4. Open the segment summary screen
5. Choose the segment you wish to change
6. Change the LOV and window Prompts and insert the new name.
7. Save your work
8. Freeze the Flexfield which should launch a concurrent request.
9. Check the log and make sure the compile worked OK.

3. How to add a new value to an existing segment?

On the Segment Values form, insert a new row with your new value.
Make sure the segment qualifiers are set correctly (Allow Posting and Budgeting).
If this is the natural account segment, specify the Account Type also.

4. How to delete a segment value?

There is no supported way to delete a segment value. Segment values can only be disabled not deleted.

5. How to enable an existing Future-Use accounting flexfield segment?

Do the following, on the Key Flexfield Segments form:

1. Unfreeze the accounting flexfield
2. Change the Window Prompt name to a valid name (do NOT change the segment name)
3. Update the Default Type and Default Value (if necessary)
4. Freeze the accounting flexfield and recompile

6. How to re-enable an account value?

In order to re-enable an account value or remove an end date, do the following:

1. Unfreeze the accounting flexfield structure
2. Re-enable the account value or remove the end date of the segment value.
3. Re-freeze the accounting flexfield structure and recompile.
4. Log out of the applications and log back in.

The account value should now be once more available for use.

7. Is it possible to change the size of a Value Set used in the Accounting Flexfield?

It is possible to increase the size in some cases.
Once the value set is created, you should avoid changes in the size of a value set used in an accounting flexfield.

You should never change:
- from a larger to a smaller maximum size.
- from a smaller to a larger maximum size if your value set is Right-justify Zero-fill (for example "001" is not the same as "0000001") as all of your existing values would become invalid.

You will need to test the results thoroughly. All the account ranges may need to be re-entered everywhere (ranges like 00 to 99 will not include the same as 0000 to 9999).

Examples of areas to test (this is not a complete list):
- Summary templates,
- FSGs
- ADI (if you use it)
- Recurring Journals
- Mass Allocations
- Consolidation

8. Is there a way to load values for a specific segment outside of the form?

iSetup is the Oracle product that provides supported APIs to load values into Oracle Applications flexfields.

To load code combinations ADI may be used. Uploading zero amount journals will create new code combinations.
In this case Dynamic Insertion should be enabled and all account segment values need to exist before the new account code combinations are dynamically created.


9. What is the Segment Value Inheritance?

Segment Value Inheritance automatically propagates attributes of individual segment values to the account code combinations which contain that segment value.
This feature eases chart-of-accounts maintenance by automatically replicating changes in segment value attributes to the accounts containing each segment value.

Examples of the segment value attributes which can be propagated to the related account code combinations are:
- enabled/disabled flag,
- effective dates,
- allow posting
- allow budgeting
- control account
- reconciliation flag

10. What is the difference between Hierarchical and Non-hierarchical Security Type?

- Hierarchical Security: This feature combines Flex Value Security and Flex Value Hierarchy.
The end result is 'a flex value is secured if one of it's parents is secured', i.e. if a parent value is excluded then all the children are also excluded.

- With non-hierarchical security, the child values do not inherit the parent security.

11. Can security be changed from Hierarchical to Non Hierarchichal?

Yes, security can be changed from Hierarchical to Non Hierarchical. This is recommended at times as Hierarchical security may result in performance issues.

12. Which tables store segment values and descriptions?

The tables are:
- FND_FLEX_VALUES_TL
- FND_FLEX_VALUES.

13. Why can you update the Segment Values form (FNDFFMSV) when the flexfield structure is frozen?

You do NOT need to Unfreeze Flexfields to amend Segment Qualifiers since FNDFFMSV version 11.5.28.



14. Why is it possible to post to accounts with disabled segment values?

You must disable the segment value and disable every code combination that uses that segment value.
In version 11 and prior, you had to disable each code combination individually.
However, since 11i, you can disable a range of code combinations using the Segment Value Inheritance program.

Note: General Ledger does not distinguish between accounts which have transactions outstanding in order to determine if these accounts can or cannot be disabled.

15. Why is the Field still protected against update, even after unfreezing the structure?

Most probably another flexfield that uses this value set is still frozen.
You can find the other flexfields with the following sql which shows the frozen structures containing the value set:
select vs.flex_value_set_name, st.id_flex_structure_code
from fnd_id_flex_structures st, fnd_flex_value_sets vs, fnd_id_flex_segments sg
where st.id_flex_num = sg.id_flex_num
and vs.flex_value_set_id = sg.flex_value_set_id
and st.freeze_flex_definition_flag = 'Y'
and st.application_id = 101
and st.id_flex_code = 'GL#'
order by 1,2

 

Segment Qualifiers

1. Can a flexfield qualifier be changed after it has been created?

No.
Once a segment qualifier has been designated for a specific segment and has been saved, it will permanently have the attributes with that qualifier.

For example, you accidentally designate the cost center segment as the natural account segment. Even though you do not compile this, the system saves the changes. And once it has been saved, it will have all the attributes designated for the natural account qualifier, even after it has been changed back, resaved with the correct qualifier and compiled.

This is the inherent functionality of the software.

Unfortunately, there is no real easy solution for this issue. The only option is to create a new chart of accounts and attach a new set of books or ledger.
You may be able to just create a new chart of accounts if you have not assigned to the set of books or ledger yet.


2. Does the Accounting Flexfield needs one segment flagged with the Intercompany qualifier?

The intercompany segment is an optional Intercompany feature for the Intercompany Segment Balancing.
It is not required in order to do intercompany balancing.

It is just another way to do the intercompany balancing, instead of using different natural accounts to track intercompany balances, you can use the intercompany segment in the Chart of Accounts to record the same detail.

It is more just a matter of preference of how you want to track the intercompany transactions.



Note for R12: The intercompany segment should use the same value set as the balancing segment. If you intend to use AGIS (Advanced Global Intercompany System) for Intercompany Accounting you must define a separate segment for intercompany and assign a intercompany qualifier to that segment.

3. How to correct a misclassified account?

Since 11i the User's Guide have a section for correction of misclassified account types.
The documents below contain detailed steps for correcting Misclassified Account Types. The steps must be followed in the exact order if the misclassified account is to be corrected in its entirety:

4. What is a Reconciliation qualifier and how is it setup?

This Reconciliation flag is a Globalization feature. When the flag is set to YES, the account is set up to be reconciled.

GL Entry Reconciliation is a set of forms and reports that enable the user to selectively cross-reference transactions in the General Ledger.
Once the balance of a group of transactions (lines with the same account) is zero, the user can mark them as reconciled. This functionality enables the transactions in any account that should balance to zero (for example, an Intercompany suspense account) to be reconciled. With this, the unreconciled lines are the justification of the account net balance.



5. Why are segment Qualifiers or Rollup Groups for an existing value not updatable?

Because at least one of the structures using that value set is Frozen.
You need to unfreeze all flexfields that use the value set to be able to update the values.



 

Hierarchies, Parents and Rollup Groups

1. Can a parent value be changed to a child value and vice versa?

No. An account should never be changed from a child to a parent or vice versa.
This may cause corruption in the chart of accounts and balances at the table level and is not supported by development.

2. How to identify overlapping child ranges in a Value Set?


These can also be found by the Diagnostics script GL Check Setup. You can find it from Document <="" a="">Oracle General Ledger (GL) Diagnostics Catalog

3. Should Rollup Groups be frozen?

It is recommended that Rollup Groups be frozen unless they are being modified.
However, if they are not frozen, there should not be any effects on General Ledger reports, functions, or other processes.

4. Which table stores the parent value and its child ranges?

It is the FND_FLEX_VALUE_NORM_HIERARCHY table.

 

Accounting Flexfield Structure

1. Are there any rules for the Names of the segments?

Yes, the names of the segments must follow the same rules as the SQL column names in a table:

- must be from 1 to 30 bytes long
- must begin with an alphabetic character from your database character set.
- can contain only alphanumeric characters from your database character set and the underscore (_), dollar sign ($), and pound sign (#)
- cannot use the SQL reserved words (this list may not be complete):
ALL, ALTER, AND, ANY, AS, ASC,
BETWEEN, BY,
CHAR, CHECK, CLUSTER, COMMENT, COMPRESS, CONNECT, CREATE, CURRENT,
DATE, DECIMAL, DEFAULT, DELETE, DESC, DISTINCT, DROP,
ELSE, EXCLUSIVE, EXISTS,
FLOAT, FOR, FROM, GROUP, HAVING,
IMMEDIATE, IN, INDEX, INSERT, INTEGER, INTERSECT, INTO, IS,
LEVEL, LIKE, LOCK, LONG,
MINUS, MLSLABEL, MODE,
NOT, NOWAIT, NULL, NUMBER,
OF, ON, OPTION, OR, ORDER,
PCTFREE, PRIOR, PUBLIC,
RAW, ROW, ROWID, ROWNUM,
SELECT, SET, SHARE, SMALLINT, START, SUCCESSFUL, SYNONYM, SYSDATE,
TABLE, THEN, TO, TRIGGER,
UID, UNION, UNIQUE, UPDATE, USER,
VALIDATE, VALUES, VARCHAR, VARCHAR2, VIEW,
WHENEVER, WHERE, WITH.
Incorrect names will cause the Accounting Flexfield Compilation program to fail with the error:
oracle error 904 invalid identifier
ora-06512 at system.ad_dll, line 165
ora-06512 at line 1 has been detected in afuddl ()[3_xdd]
do_ddl(APPLSYS,.......)
View Name: %_VIEW

Name NULL? TYPE
------------------------------ ----- -----
VIEW_HAS_FAILED_CHECK_LOG_FILE CHAR(61)

2. Can any changes be made to the Accounting Flexfield?

Any changes to an Accounting Flexfield that has been in use is NOT supported. This is documented throughout the GL Users Guide.
This will cause data inconsistencies and data corruption.
Development and Support do not support changes to the accounting flexfield.
Changing your flexfield definition once you have used it to acquire data can cause serious inconsistencies with existing data, which could cause data corruption.
For more information review the Oracle Applications Flexfields Guide in Defining Key Flexfield Structures:
Warning: Do not modify a frozen flexfield definition if existing data could be invalidated. An alteration of the flexfield structure once you have any flexfield data can create serious data inconsistencies. Changing your existing structures may also adversely affect the behavior of any cross-validation rules or shorthand aliases you have for your structures, so you should be sure to manually disable or redefine any cross-validation rules and shorthand aliases to reflect your changed structures.
If it is absolutely required to have changes on segments then a NEW ledger or set of books needs to be created with the desired accounting flexfield.
The GL Consolidation feature can be used to transfer journals or balances from the existing ledger/set of books to the new ledger/set of books with the new structure.
If Oracle Subledgers are used then they must also point to the new ledger/set of books. This may require Oracle Consulting services.

3. Can segments be added to or removed from an existing accounting flexfield structure?

No - this will cause data inconsistencies and data corruption.
Development and Support do not support changes to the accounting flexfield.
Changing your flexfield definition once you have used it to acquire data can cause serious inconsistencies with existing data, which could cause data corruption.
For more information review the Oracle Applications Flexfields Guide in Defining Key Flexfield Structures:
Warning: Do not modify a frozen flexfield definition if existing data could be invalidated. An alteration of the flexfield structure once you have any flexfield data can create serious data inconsistencies. Changing your existing structures may also adversely affect the behavior of any cross-validation rules or shorthand aliases you have for your structures, so you should be sure to manually disable or redefine any cross-validation rules and shorthand aliases to reflect your changed structures.

4. Can the segments of existing accounting flexfield structure be changed?

No. This will cause data inconsistencies and data corruption.
Development and Support do not support changes to the accounting flexfield.
Changing your flexfield definition once you have used it to acquire data can cause serious inconsistencies with existing data, which could cause data corruption.
For more information review the Oracle Applications Flexfields Guide in Defining Key Flexfield Structures:
Warning: Do not modify a frozen flexfield definition if existing data could be invalidated. An alteration of the flexfield structure once you have any flexfield data can create serious data inconsistencies. Changing your existing structures may also adversely affect the behavior of any cross-validation rules or shorthand aliases you have for your structures, so you should be sure to manually disable or redefine any cross-validation rules and shorthand aliases to reflect your changed structures.

5. Do all segments of the accounting flexfield have to be enabled and displayed?

Yes. This is mandatory for all applications versions.
All segments must be enabled, displayed and required. Any other configuration is not supported.

From the Oracle Applications Flexfields Guide:
"If you are defining the Accounting Flexfield, you MUST display ALL segments. Hiding segments will adversely affect your application features, such as Mass Allocations".

The only supported solution therefore, is to have all segments displayed from the start and for them to remain that way.

Oracle General Ledger does not support non-displayed segments. If you have non-displayed segments, it may be possible that some functionality will work anyway.
However this is not guaranteed, and just because the functionality works at some point in time does not mean that it will continue to work as bug fixes are applied and new releases are issued.

6. How to find which accounts are inactive?

Since Release 11i the standard report: Chart of Accounts - Inactive Accounts Listing can show the inactive accounts.

7. Can code combinations be deleted or purged ?

It is not possible to delete or purge the account code combinations and segment values. You can only end date the combinations and segment values.

The reason why it is not possible is that all applications that interface journals to GL could potentially use the combinations and you cannot remove a combination if it is used in a transaction.
Currently there is no process to determine if a code combinations is still referenced in any part of the EBS application.
Additionally, programs like translation check all the old values back to the earliest ever transaction in a separate table that stores the code combinations. Also transactions that used the code combination are stored and still referenceable in the subledgers, etc.



8. How to set up an Accounting Flexfield structure that has a dependent segment?

Define the accounting flexfield structure in two steps.

1.  On the Key Flexfields Segments form, you have to Save the flexfield structure after you define the segment with the independent segment (for example account). Then leave the form and come back.

2.  Now add your dependent segment (for example subaccount). You should see the dependent value set in the list of values.

9. What is the recommended numbering for the Accounting Flexfield structure and why?

The Accounting Flexfield structure requires consecutive segment numbers beginning with 1, such as 1,2,3.....
Gaps in numbering like 1,10, 20,... are not supported. This could cause errors when compiling and in other General Ledger functions.

10. Why are some of the segment separators displayed as question marks (?) ?

Check the descriptions of the Segment Values. If the same segment separator value (ie: dash) is used in the segment value description, the actual segment separator on the chart of accounts will appear at times as a "?".

Do not use the segment separator in the description and this should resolve the issue.