Tuesday, July 9, 2013

Oracle GL Interview Qs 1

http://dillipkumarjena.blogspot.sg/2012/09/oracle-general-ledger-real-time_23.html


1. What is MRC.

Multiple  reporting currency --> set of unique feature which permits the org to report financial data in multiple currencies.

2. Responsibility Setup

Data Grp, Menu Grp, Request Grp

3. Translation
--> Picks up foreign currency balances and converts them in functional currency balances.
--> Create additional records gl_balances.
--> No impact on transactions.
--> Picks up period rate defined for that period (Not daily rates).


4. Revaluation
Run Periodically to account for loss and gain in foreign currency.
Create new journals which account for net loss/gain.
journals need to be posted again.
no direct impact on gl_balances.

5. Cumulative translation Adjustment account?

6. Recurring Journals

Journal entry that is entered and posted periodically.
Same accounts --> amts may differ
Define recurring journal template.
amts can be derived from formulas.

Types --> regular , skeleton, formula -statistical, formula-currency

Operating Units --> ledger and legal entity.

Org_id --> operating unit, Organization_id --> inventory org id.



Flexfield --> field made up of sub field or segments.

KFF -> build unique entity identifier.


38 Flexfields --> GL --3, AP --3 FA 3 AR -- 6, HR -- 7

KFF for GL --> Accounting flexfield.


DFF --> addnl info

CCID --> Dynamic inserts

cross validation rules .


Segment --> single SUB Field

flexfield qualifier --> identifies a particular segment of a KFF.

Purpose and type --> Balancing segment, Natural Account , Cost Centre , management, secondary tracking, intercompany.

Management flexfiield qualifier --> Segment has mgmt responsibility.

Secondary Tracking FF Q --> process income stmt closing, translation and revaluation ?

Natural account segment Q --> Asset, expense, liability, ownership/stockholder, equity, revenue.

Security Rule --> access for a certian segment for different responsibility.

CVR -> cross validation rules

Period Status --> nvr opened, opened, open, closed, permanently closed, future

Accounting calender --> no of periods in a year.

trx calender

monetary currency --> monetary value

conversion type -->

journal source

journal category

ledger set

data access sets

document sequence for journals.

http://msnroracle.blogspot.sg/2012/11/oracle-general-ledger-functional.html

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. 

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. 


can the Accounting Flexfield Segment name be changed?

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.


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. 
 


Can different Sets of Books share the same Value Set?If there is a set of books that uses a particular value set and a new book is created, it can use 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.


How to delete a segment value?

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


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

Do the following, on the Key Flexfield Segments form:
Unfreeze the accounting flexfield
Change the Window Prompt name to a valid name (do NOT change the segment name)
Update the Default Type and Default Value (if necessary)
Freeze the accounting flexfield and recompile.


How to re-enable an account value?
In order to re-enable an account value or remove an end date, do the following: 
Unfreeze the accounting flexfield structure
Re-enable the account value or remove the end date of the segment value.
Re-freeze the accounting flexfield structure and recompile.
Log out of the applications and log back in.


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 will be dynamically created.


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.

Which tables store segment values and descriptions? 
FND_FLEX_VALUES_TL
FND_FLEX_VALUES. 
 
 
 
 



http://orafinappssetups.blogspot.sg/2013/01/general-ledger-interview-questions-in.html

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....


) 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 


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
 
15) What is Actual Flag?

Ans) Actual flag represents the Journal type.
A-Actual
B-Budget
E- Encumbrance.
 
) 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.
 
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.
 
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.
 
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. 
     
 



Monday, July 1, 2013

conversions

http://apps4freshers.blogspot.sg/2008/11/oracle-applications-interface-programs.html

Oracle Applications Interface Programs

1) Order Import Interface2) Item Import (Item conversion)3) On-hand Quantity4) Customer Conversion
5) Customer API6) Auto Invoice Interface7) Receipt API8) Auto Lockbox Interface9) AP Invoice Interface10)Vendor Interface/Conversion11)Requisition Import12)PO receipts interface13)GL Interface14)GL Budget Interface15)GL Daily conversion rates
The Information for all the above mentioned Interface programs is given below:

Order Import Interface (Sales Order Conversion)

Interface tables:
· OE_HEADERS_IFACE_ALL 
· OE_LINES_IFACE_ALL 
· OE_ACTIONS_IFACE_ALL 
· OE_ORDER_SOURCES 
· OE_CUSTOMER_INFO_IFACE_ALL 
· OE_PRICE_ADJS_IFACE_ALL 
· OE_PRICE_ATTS_IFACE_ALL

Base tables: 
· OE_ORDER_HEADERS_ALL 
· OE_ORDER_LINES_ALL
Pricing tables 
· QP_PRICING_ATTRIBUTES

During import of orders, shipping tables are not populated.

If importing customers together with the order, OE_ORDER_CUST_IFACE_ALL
Base Tables: HZ_PARTIES HZ_LOCATIONS

Orders can be categorized based on their status:
1. Entered orders 2. Booked orders 3. Closed orders 
Concurrent Program: Order Import

Validations:
· Check for sold_to_org_id. If does not exist, create new customer by calling create_new_cust_info API.
· Check for sales_rep_id. Should exist for a booked order.
· Ordered_date should exist. -------- header level
· Delivery_lead_time should exist. ----------- line level
· Earliest_acceptable_date should exist.
· Freight_terms should exist

Order Import API OE_ORDER_PUB.GET_ORDER, PROCESS_ORDER
Concurrent programs will in turn call APIs.
2 APIs are called during order import process.
· OE_CNCL_ORDER_IMPORT_PVT (cancelled orders) 
· ORDER_IMPORT_PRIVATE
Procedure: import_order()

On-hand quantity Interface tables: 
MTL_TRANSACTIONS_INTERFACE
MTL_TRANSACTION_LOTS_INTERFACE 
MTL_SERIAL_NUMBERS_INTERFACE

The Transaction Manager picks up the rows to process based on the LOCK_FLAG, TRANSACTION_MODE, PROCESS_FLAG to manipulate the records in the table. Only records with TRANSACTION_MODE of 3, LOCK_FLAG of '2', and PROCESS_FLAG of '1' will be picked up by the Transaction Manager and assigned to a Transaction Worker. If a record fails to process completely, then PROCESS_FLAG will be set to '3' and ERROR_CODE and ERROR_EXPLANATION will be populated with the cause for the error.

Base tables: MTL_ON_HAND_QUANTITIES
MTL_LOT_NUMBERS MTL_SERIAL_NUMBERS

Concurrent program:

Validations: validate organization_id, organization_code.
Validate inventory item id.
Transaction period must be open.

Customer conversionInterface tables: 
RA_CUSTOMERS_INTERFACE_ALL 
RA_CUSTOMER_PROFILES_INT_ALL 
RA_CONTACT_PHONES_INT_ALL
RA_CUSTOMER_BANKS_INT_ALL
RA_CUST_PAY_METHOD_INT_ALL

Base tables: HZ_PARTIES 
HZ_CONTACTS 
HZ_PROFILES 
HZ_LOCATIONS
Base tables for RA_CUSTOMERS_INTERFACE_ALL
RA_CUSTOMERS 
RA_ADDRESSES_ALL
RA_CUSTOMER_RELATIONSHIPS_ALL 
RA_SITE_USES_ALL

Uses TCA APIs.

Concurrent program: Customer Interface

Validations: 
Check if legacy values fetched are valid.
Check if customer address site is already created.
Check if customer site use is already created.
Check is customer header is already created.
Check whether the ship_to_site has associated bill_to_site
Check whether associated bill_to_site is created or not.
Profile amounts validation: validate cust_account_id, validate customer status.
Check if the location already exists in HZ_LOCATIONS. If does not exist, create new location.

Customer API
1. Set the organization id
Exec dbms_application_info.set_client_info(‘204’);

2. Create a party and an account
HZ_CUST_ACCOUNT_V2PUB.CREATE_CUST_ACCOUNT()
HZ_CUST_ACCOUNT_V2PUB.CUST_ACCOUNT_REC_TYPE
HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE
HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE

3. Create a physical location
HZ_LOCATION_V2PUB.CREATE_LOCATION()
HZ_LOCATION_V2PUB.LOCATION_REC_TYPE

4. Create a party site using party_id you get from step 2 and location_id from step 3.
HZ_PARTY_SITE_V2PUB.CREATE_PARTY_SITE()
HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE

5. Create an account site using account_id you get from step 2 and party_site_id from step 4.
HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_ACCT_SITE()
HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_ACCT_SITE_REC_TYPE

6. Create an account site use using cust_acct_site_id you get from step 5 ans site_use_code = ‘BILL_TO’.
HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_SITE_USE()
HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_SITE_USE_REC_TYPE
HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE

Base table: 
· HZ_PARTIES 
· HZ_PARTY_SITES 
· HZ_LOCATIONS
· HZ_CUST_ACCOUNTS 
· HZ_CUST_SITE_USES_ALL
· HZ_CUST_ACCT_SITES_ALL 
· HZ_PARTY_SITE_USES

Validations: Check if legacy values fetched are valid.
Check if customer address site is already created.
Check if customer site use is already created.
Check is customer header is already created.
Check whether the ship_to_site has associated bill_to_site
Check whether associated bill_to_site is created or not.
Profile amounts validation: validate cust_account_id, validate customer status.
Check if the location already exists in HZ_LOCATIONS. If does not exist, create new location.

Auto Invoice interface Interface tables: RA_INTERFACE_LINES_ALL

Base tables: 
RA_CUSTOMER_TRX_ALL RA_BATCHES RA_CUSTOMER_TRX_LINES_ALL AR_PAYMENT_SCHEDULES_ALL RA_CUSTOMER_TRX_LINE_SALESREPS RA_CUST_TRX_GL_DIST_ALL AR_RECEIVABLES_APPLICATIONS AR_ADJUSTMENTS AR_CASH_RECEIPTS RA_CUSTOMER_TRX_TYPES_ALL 
Concurrent Program: Auto invoice master program

Validations: check for amount, batch source name, conversion rate, conversion type.
Validate orig_system_bill_customer_id, orig_system_bill_address_id, quantity.
Validate if the amount includes tax flag.

Receipt APIAR_RECEIPT_API_PUB.CREATE_CASH
AR_RECEIPT_API_PUB.CREATE_AND_APPLY

To bring in Unapplied Receipts and Conversion Receipts for Open Debit items to reduce the balance to the original amount due.

Base tables: AR_CASH_RECEIPTS

Validations: check the currency and the exchange rate type to assign the exchange rate.
Validate bill to the customer.
Get bill to site use id.
Get the customer trx id for this particular transaction number.
Get payment schedule date for the customer trx id.

Lockbox interface Interface tables: AR_PAYMENTS_INTERFACE_ALL (Import data from bank file )

Base tables: AR_INTERIM_CASH_RECEIPTS_ALL AR_INTERIM_CASH_RCPT_LINES_ALL (Validate data in interface table and place in quick cash tables)

Related Tables: AR_BANK_ACCOUNTS_ALL AR_RECEIPT_METHODS
AR_TRANSMISSIONS_ALL HZ_CUST_ACCOUNTS HZ_CUST_SITE_USES_ALL AR_CASH_RECEIPTS
(POST QUICK CASH -- applies the receipts and updates customer balances)
Concurrent program: nav-> receivables->interfaces->lockbox

Validations: check for valid record type, transmission record id.
Validate sum of the payments within the transmission.
Identify the lockbox number (no given by a bank to identify a lockbox).

AP invoice interfaceInterface tables: AP_INVOICES_INTERFACE AP_INVOICE_LINES_INTERFACE

Base tables: AP_INVOICES_ALL – header information
AP_INVOICE_DISTRIBUTIONS_ALL – lines info

Concurrent program: Payables Open Interface Import

Validations: check for valid vendor
Check for valid vendor site code.
Check if record already exists in payables interface table.

Vendor conversion/interface No interface tables

Base tables: PO_VENDORS PO_VENDOR_SITES_ALL

No concurrent program as data is directly populated into base tables.

Validations: check if a vendor already exists with the same name as the TIMSS customer
mail name.
Check if the proper site code and id exists based on the site code from TIMSS.
Check for uppercase value of the vendor name existed in Oracle and in TIMSS, vendor name is mixed case, a new Oracle vendor will not be created.

Purchasing:
Interface Tables Base Tables
PO_HEADERS_INTERFACE PO_HEADERS_ALL
PO_LINES_INTERFACE PO_LINES_ALL
PO_REQUISITIONS_INTERFACE_ALL PO_REQUISITIONS_HEADERS_ALL
PO_REQUISITION_LINES_ALL
PO_REQ_DISTRIBUTIONS_ALL
PO_REQ_DIST_INTERFACE_ALL PO_REQ_DISTRIBUTIONS_ALL
PO_DISTRIBUTIONS_INTERFACE PO_DISTRIBUTIONS_ALL
PO_RESCHEDULE_INTERFACE PO_REQUISITION_LINES_ALL

Requisition import Interface tables: 
PO_REQUISITIONS_INTERFACE_ALL
PO_REQ_DIST_INTERFACE_ALL 

Basetables: PO_REQUISITIONS_HEADERS_ALL 
PO_REQUISITION_LINES_ALL 
PO_REQ_DISTRIBUTIONS_ALL

Concurrent program: REQUISITION IMPORT

Validations: check for interface transaction source code, requisition destination type.
Check for quantity ordered, authorization status type.

PO Receipts Interface
Interface tables:
· RCV_HEADERS_INTERFACE
· RCV_TRANSACTIONS_INTERFACE 

Base tables:
· RCV_SHIPMENT_HEADERS
· RCV_SHIPMENT_LINES
· RCV_TRANSACTIONS

Concurrent program: RECEIVING OPEN INTERFACE

Error messages: 1. Run RECEIVING INTERFACE ERRORS REPORT
2. Look in PO_INTERFACE_ERRORS
Query to check interface errors: PO_INTERFACE_ERRORS .inteface_transaction_id =
RCV_HEADERS_INTERFACE.header_interface_id and processing_status_code in (‘error’ ,’print’)

Validations:

GL interface Interface tables: GL_INTERFACE

Base tables: 
GL_JE_HEADERS GL_JE_LINES GL_JE_BACTHES 
Concurrent Program: Journal Import
Journal Posting --- populates GL_BALANCES

Validations: check SOB, journal source name, journal category name, actual flag
A – actual amounts
B – budget amounts
E – encumbrance amount
If u enter E in the interface table, then enter appropriate encumbrance ID.
B – budget id.
Check if accounting date or GL date based period name is valid (i.e., not closed).
Check if accounting date falls in open or future open period status.
Check chart of accounts id based on Sob id.
Check if valid code combination.
Check if ccid is enabled.
Check if record already exists in GL interface table.
Check if already journal exists in GL application.

Validations for the staging table:
Check if the input data file is already uploaded into staging table.
Check if the record already exists in the interface table.
Check if the journal already exists in the GL application. 

GL budget interface Interface tables: GL_BUDGET_INTERFACE

Base tables: 
GL_BUDGETS GL_BUDGET_ASSIGNMENTS GL_BUDGET_TYPES 
Concurrent program: Budget Upload

Validations: Check Account combination is valid or not. You check this in GL_CODE_COMBINATIONS table.

GL daily conversion rates
Interface tables: GL_DAILY_RATES_INTERFACE

Base tables: 
· GL_DAILY_RATES 
· GL_DAILY_CONVERSION_TYPES

Concurrent Program: Program - Daily Rates Import and Calculation