1) Can a flexfield qualifier be changed after it has been created?
Ans)  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.

2) How to delete a segment value?
Ans) There is no supported way to delete a segment value. Segment values can only be disabled not deleted.

3) Is there a way to load values for a specific segment outside of the form?
Ans) 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 will be dynamically created.


4) What are the different types of Journals in General Ledger ?
Ans)  

1. Functional Currency Jv: This Journal, we enter Local Currency transaction purpose.

2. Foreign Currency Jv: this Journal, we enter other than local currency transaction purpose…before we define exchange rates

3.Suspense Jv: this Journal, whenever debit is not equal to credit that time, we enable in set of books window Suspense button, then it works otherwise it’s not working

4.Tax Jv: this Journal, calculate taxation of Purchased items

5.Reverse Jv: this Journal whenever we enter recurring journal, at the time of we using..We have two methods…one is Debit to Credit and second one is sign (+ to -)

6.Recurring Jv :this one is We define one template, we use Periodically, these are 3 types
1.Standard 2.Skeleton 3.Formula

7.Mass Allocation Jv :Set of Expenses or Set of Revenue allocate different parts using Formula A*B/C 
A is Total Cost Pool..B is Usage Factor…C is Total Usage Factor…

8. Batch JV: Group of Journal we enter at a time, We Define Control Amount

9. Stat JV: This JV we have one side of Amount either debit or Credit…..
 
5)  What is average Balance In Oracle Financials? 
Ans) The Average Balance feature of Oracle General Ledger provides organizations with the ability to track average and end-of-day balances, report average balance sheets, and create custom reports using both standard and average balances. Average balance processing is particularly important for financial institutions, since average balance sheets are required, in addition to standard balance sheets, by many regulatory agencies. Many organizations also use average balances for internal management reporting and
Profitability analysis.
The difference between an average and standard balance sheet is that balances are expressed as average amounts rather Than actual period-end amounts. An average balance is computed as the sum of the actual daily closing balance for a balance sheet account, divided by the number of calendar Days in the reporting period .


6) Is there a limit to the number of periods in a budget year or how many years a budget can span?
Ans) One can define budgetary control for n number of years however, one year can have maximum of 60 fiscal periods)
7) What is a funding budget?
Ans) A budget against which accounting transactions are checked for available funds when budgetary control is enable for your set of books.
8) What is planning budget
Ans) The plan for the future expenses is planning budget. It is a paper work. There is no funds requirement. It does not require journals. There are no restrictions for estimating of funds.
9) I was able to post a budget journal to a closed period, why? 
Ans) Yes you can do so, reason being budget journal is not linked with your accounting period. Once you have open the budget period then you can book budget journal for that whole period.
 10) What is the specific purpose of assigning Balancing Segment Values to the Legal Entity in Accounting Manager Setup (as once assigned, the same value is not allowed to be selected for any other Legal Entity), if this value is usable for the Operating Unit(s) that does not have this Legal Entity Context? 
Ans) Summary of key facts:

1. Common COA Structure used for Primary and Secondary Ledgers
2. Ledger shared by Multiple Legal Entities
3. Specific Balancing Segment Values assigned to Specific Legal Entity (Overlap not allowed)
4. Specific Legal Entity Vision Operations Assigned to Payables Manager OU for Legal Entity Context
5. User preference set to Access Vision Operations OU by Default in Payables

Conclusion and Findings:
1. Balancing Segment Value Assignment to the Multiple Legal Entities, sharing the same Ledger does not seem to restrict the user of these Balancing Segment Values in the Feeder, Operating Unit specific Modules Like AP, wherein Legal Entity Context is passed to the OU through the link of the Primary Ledger.

2. However, access to these Balancing Segment Values could be controlled through Security Rules being assigned to the Value Set and the Respective Responsibility

3. The Key question is: If Legal Entity having the context to the Operating Unit that shares the common Ledger does not have assignment to it, what impact it has on the integrity of data when this access is otherwise allowed, except through Security Rules?
11) What are the interface tables in General Ledger ?
Ans)
GL_BUDGET_INTERFACE 
GL_DAILY_RATES_INTERFACE 
GL_IEA_INTERFACE 
GL_INTERFACE 
GL_INTERFACE_CONTROL 
GL_INTERFACE_HISTORY 
 12) What is DFF.
Question: What does DFF mean?
Answer: DFF is a mechanism that lets us create new fields in screens that are delivered by Oracle. 

Question: Oh good, but can these new fields be added without modifying/customization of the screen?.
Answer: Yes, certainly. Only some setup is needed, but no programmatic change is needed to setup DFF.

Question: Why the word Descriptive in Name DFF?
Answer: I think Oracle used this terminology because by means of setup…you are describing the structure of these new fields. Or may be Oracle simply used a silly word to distinguish DFF from KFF(discussed in latter training lesson).

Question: Are these DFF’s flexible?
Answer: A little flexible, for example, depending upon the value in a field, we can make  either Field1 or Field2  to appear in DFF. 

Question: So we create new fields in existing screen, but why the need of doing so?
Answer: Oracle delivers a standard set of fields for each screen, but different customers have different needs, hence Oracle lets us create new fields to the screen.

Question: Are these new fields that get created as a result of DFF free text?
I mean, can end user enter any junk into the new fields that are added via DFF?
Answer: If you attach a value set to the field(at time of setup of dff), then field will no longer be free text. The entered value in the field will be validated, also a list of valid values will be provided in LOV. 

Question : Will the values that get entered by the user in dff fields be updated to database?
Answer: Indeed, this happens because for each field that you create using DFF will be mapped to  a column in Oracle Applications.

Question: Can I create a DFF on any database column?
Answer: Not really. Oracle delivers a predefined list of columns for each table that are meant for DFF usage. Only those columns can be mapped to DFF segments. These columns are named similar to ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3 ETC. Usually Oracle provides upto 15 columns, but this number can vary.  

Question: Can I add hundreds of fields to a given screen?
Answer: This depends on the number of attribute columns in the table that screen uses. Also, those columns must be flagged as DFF enabled in DFF Registration screen. Don’t need to worry much about this because all the ATTRIBUTE columns are by default flagged for their DFF usage.

Question: Hmmm, I can see that DFFs are related to table and columns…
Answer: Yes correct. Each DFF is mapped to one table. And also each segment(or call it field) is mapped to one of the attribute columns in that table.

Question: I want these fields to appear in screen only when certain conditions are met. Is it possible?
Answer: Yes, we have something known as Context Sensitive Descriptive Flexfields.

In Order to do this, we will follow the below steps(screenshots will follow) :- 
1.    Navigate to the DFF Registration screen in Oracle Apps and query on Table AP_BANK_BRANCES. Now click on Reference Field
2.    Navigate to DFF Segments screen and query on the Title of the “Bank Branch” and Unfreeze the Flexfield and add segments as to Section “GLOBAL Data Elements” as shown in screenshots.
13)   What is Journal Import?
Ans) Journal import is an interface used to bring journal entries from legacy systems and other modules into the General Ledger.(Specifically Journal Import gets entries from legacy data into the GL base tables.

The tables populated during journal Import are
GL_JE_BATCHES,
GL_JE_HEADERS,
GL_JE_LINES,
GL_IMPORT_REFERENCES


14) What is the use of GL_Interface?
Ans) Gl_Interface is the primary interface table of General ledger. It acts as an interface between data originating from other modules such as AP,AR, Legacy data and the Gl Base tables.

15) What is Actual Flag?
Ans) Actual flag represents the Journal type.
A-Actual
B-Budget
E- Encumbrance.

16) What is Encumbrance?
Ans) It is a process of Reservation of funds for anticipated expenditure from a budget. Encumbrance integrates GL, Purchasing and Payables modules.

17) How many Key Flex Fields are there in General Ledger?
Ans)  One. Accounting Key Flex Field.

18) How many types of Budgets are there?
Ans) Two Types.
Expenditure Budgets
Revenue Budgets.

19)What are Spot Rate, Corporate Rate, Transaction Calendar and Accounting Calendar?
Ans) Spot Rate:
An exchange rate which you enter to perform conversion based on the rate on a specific date. It applies to the immediate delivery of currency.

 Corporate Rate:
An Exchange rate that we define to standardize rates for our company. This rate is the standard market rate determined by the senior financial management for use through out the organization.

 User Rate:
Conversion rate that is defined by the user.
EMU Fixed Rate: An exchange rate that is provided automatically by the General Ledger while entering journals. It uses a foreign currency that has a fixed relationship with the euro.
Transaction Calendar: Defines the business days and holidays for any calendar.
Accounting Calendar: Defines different types of calendars namely Fiscal, Federal Fiscal, Month etc.

20)What is Security Rule?
Ans) Security Rules are defined to control the access of a flexfield segment value (Financial information) at a responsibility level.

21) What are Cross Validation & ADI?
Ans) CVS – Cross validate segments – Allows only valid code combinations.
ADI – Allow dynamic inserts. – Allows any code combination irrespective of validity.
ADI would prevail if both of CVS and ADI are checked.

22)What is Translation?
Ans) Translation is a process used to convert functional currency to other reporting currencies at the account balances level.

23)What is Revaluation?
Ans) It is process used to revalue assets and liabilities denominated in foreign currency into functional currency based on period end exchange rate we specify. Unrealized gains/losses are resulted because of exchange rate fluctuations which are recorded in unrealized gain/loss account in GL.

24)What is FSG (Financial Statement Generator)?
Ans) Financial statement generator feature helps us to generate reports such as balance sheets and income statements with out programming. It also provides a high degree of control on the rows, columns, contents and calculations on the report. Different components such as row set, column set, content set, row order, display set have to be defined before a statement is generated, of which row set and column set are mandatory.

25) What is Consolidation?
Ans) Consolidation is a period-end process of combining the financial results of separate business subsidiaries with the parent company to form a single combined statement of financial results.

26) At what level General Ledger data is secured?
Ans) GL data is secured at Set of Book level. Subledger module data is secured at Responsibility level (i.e., at Operating Unit Level).

27) Difference between Primary Ledger and Secondary Ledger in R12 ?
Ans) Primary ledger:
The primary ledger acts as the primary accounting representation

Secondary Leger:
Secondary ledgers represent the primary ledger’s accounting data in another accounting representation that differs in one or more of the following ways: 
chart of accounts
accounting calendar/period type combination
currency
subledger accounting method
ledger processing options
Use secondary ledgers for supplementary purposes, such as consolidation, statutory reporting, or adjustments for one or more legal entities within the same accounting setup. For example, use a primary ledger for corporate accounting purposes that uses the corporate chart of accounts and subledger accounting method, and use a secondary ledger for statutory reporting purposes that uses the statutory chart of accounts and subledger accounting method. This allows you to maintain both a corporate and statutory representation of the same legal entity’s transactions in parallel. 
Assign one or more secondary ledgers to each primary ledger for an accounting setup. 
The secondary ledgers assigned can only perform the accounting for the legal entities within the same accounting setup. 

There are several complicated things you may need to do with flexfields in your forms but one of them is simple and very common: create a foreign key on the accounting flexfield. It is easy to get lost in the Oracle Application Developer’s Guide because it tries to cover comprehensively what can be done with flexfields. But there is nothing to show you the basics step-by-step, which is what we will attempt in this article.
The end result of what we show is illustrated in Figure 1: one field that brings up the standard flexfield popup when the user asks for a list of values.
Figure 1: The end result of this step-by-step article.
A basic conceptual understanding of what flexfields are is necessary in order to understand what follows. There is a very good 2-3 page explanation in the chapter “Flexfields” of the Oracle Application Developer’s Guide.

Step 1: Create a FK Column

First you need to define a column in the base table maintained by your form. This column will be the foreign key on the unique ID of the combination table, in our case: GL_CODE_COMBINATIONS. So you need a number(38) mandatory column in your table.

Step 2: Create a Flexfield hidden item

In your form you need to create a hidden item for the FK column. This field needs to be hidden, that is set to canvas null. It should use the TEXT_ITEM property class which comes from the Oracle Application template. Set the query length to 2000 just to be on the safe side. Figure 2 shows an example of such hidden ID.
Figure 2: Hidden field to hold the Flexfield reference. 
Figure 2: Hidden field to hold the Flexfield reference.

Step 3: Create a Flexfield display item

Now we want to create a non-database text item that will display the concatenated values of the segments of the accounting field. This item should use the TEXT_ITEM property class and be assigned to the appropriate canvas where you want users to see it. You then need to assign to it the dummy LOV ‘ENABLE_LIST_LAMP’ which comes from the Oracle Application template. Make sure that property ‘Validate from list’ is set to No. This ensures that the List lamp works properly for your flexfield. Figure 3 shows an example of such displayed field. We only show the most relevant item properties.
Figure 3: Displayed field to show the concatenated values of the Flexfield. 
Figure 3: Displayed field to show the concatenated values of the Flexfield.

Step 4: Create the Flexfield definition

Then there is a little bit of PL/SQL to do in order to define your flexfield. This is done with the WHEN-NEW-FORM-INSTANCE trigger. It is always a good practice to do the actual work in a procedure or package as is illustrated in listing A. There are several reasons for this but this is out of the scope of this article. Note: the code in listing A is an abbreviated version of the real code: we have left out the comments and the error handling in order to keep this article as short as possible.
Listing A: Dynamic Flexfield definition

procedure initialize is     cursor get_cao is        select  to_char(id_flex_num)        from    fnd_id_flex_structures        where   id_flex_structure_code = ‘ACCOUNTING_FLEXFIELD’                and id_flex_code = ‘GL#’;     v_cao    varchar2(1000);            begin    open get_cao;    fetch get_cao into v_cao;    if get_cao%notfound then        v_cao := ‘101’;    end if;    close get_cao;       app_standard.event(‘WHEN-NEW-FORM-INSTANCE’);    fnd_key_flex.define(      BLOCK=>’COMBO’,      FIELD=>’ACCOUNT_FLEXFIELD’,      APPL_SHORT_NAME=>’SQLGL’,      CODE=>’GL#’,      NUM=>v_cao,      ID=>’CODE_COMBINATION_ID’,      DESCRIPTION=>”,      TITLE=>’____ Your nice user friendly title here _____’,      VALIDATE=>’FULL’,      QBE_IN=>’Y’,      DERIVE_ALWAYS=>’Y’,      updateable => ”,      VRULE=>’\nSUMMARY_FLAG\nI\nAPPL=SQLGL;NAME=GL_NO_PARENT_SEGMENT_ALLOWED\nN’,      where_clause => ‘summary_flag != ”Y”’,      QUERY_SECURITY =>’Y’);  end initialize;

Step 5: Code several event triggers

Then, all that is left to do is to program a few events:
  • WHEN-VALIDATE-ITEM
  • WHEN-NEW-ITEM-INSTANCE
  • POST-QUERY
  • PRE-QUERY
  • KEY-LISTVAL
The code is shown in Listing B.
We always try to put this code in the form level triggers as it is more convenient and consistent than doing it at block or item level, especially when you have more than one foreign key flexfield in the form. Only in the case of very large and complicated forms would we do otherwise.
If you are updating someone else’s form, you may need to check that no block or item triggers are overriding your form level triggers. Check also the execution style of your form level triggers. Whether your trigger should fire in mode Before, After or Override will depend on your context.
Listing B: Event programming for the Flexfields.

WHEN-VALIDATE-ITEM    if ( :system.mode = ‘NORMAL’ ) then       fnd_flex.event( ‘WHEN-VALIDATE-ITEM’ );    end if;WHEN-NEW-ITEM-INSTANCE    app_standard.event(‘WHEN-NEW-ITEM-INSTANCE’);    fnd_flex.event(‘WHEN-NEW-ITEM-INSTANCE’ );POST-QUERY–Loads the flexfields (in our case, it populates–the concatenated field on execute query).    FND_FLEX.EVENT(‘POST-QUERY’);PRE-QUERY–If you don’t do this, whatever query criteria you may enter in— the concatenated flex field, it is not taken into account.    FND_FLEX.EVENT(‘PRE-QUERY’ );KEY-LISTVAL    APP_STANDARD.EVENT(‘KEY-LISTVAL’);    FND_FLEX.EVENT(‘KEY-LISTVAL’ );