Thursday, March 21, 2013

AGIS R12 Setup

Release 12- Advanced Global Intercompany System Setup – Part 1

Part one on setup offers a broad view on how AGIS is Setup in R12
The setups are divided into four parts
1. Environmental setups
2. General Ledger (GL) setups
3. Receivable (AR) setups
4. Payables(AP) setups
5. Advanced Global Intercompany System (AGIS)
Part two on transaction processing discusses the setups those are required for processing the transaction in AGIS
Transaction Processing in AGIS
The summaries of steps those are used for AGIS transaction processing are As follows.
1. Initiation of a transaction by an intercompany organization
2. Completion of accounting from the initiator side
3. Completion of accounting from recipient side
4. Approval of the transaction by the recipient
If the invoicing is opted for, in transaction type setups then,
1. Processing of Invoice from Receivables
(For the initiator subsidiary side)
2. Processing of invoice in Payables
(For the Recipient subsidiary side)
Part three discusses the reports in AGIS and reconciliation features in AGIS
1. Standard reports Available in AGIS
2. econciliation features in AGIS
The setup steps are explained in the subsequent sections, from start to finish
The details of the examples used in this document is as follows,
-Initiator Subsidiary-‘Blink AGIS INV ORG’. This organization is a part of BCR Singapore Legal Entity. This Legal Entity uses 001 balancing segment value. The user that is having access to initiator subsidiary is called BCR_S
-Recipient Subsidiary–‘Blink AGIS INVJ ORG’. This organization is a part of BCR Japan Legal Entity. This Legal Entity uses 002 balancing segment values. The user having access to initiator subsidiary is called BCR_J
Welcome to the Advanced Global Intercompany System (AGIS) setup
Description of the setup that is used in this viewlet is as follows
One ledger called Blink ledger.
Two legal entities under that ledger called BCR Singapore legal entity and BCR Japan legal entity. Two operating units Blink AGIS Singapore OU, Blink AGIS Japan OU respectively.
*Note: Setting up of receivable setup is mandatory, for using invoicing functionality. And for setting up of receivables mandatory that inventory Organization are created as well.
The transactions in this example are assumed to be happening from BCR Singapore to BCR Japan. For theses two create
Two employees: BCR Singapore and BCR Japan
Two Users : BCR_S and BCR_J
Create receivables and GL Responsibilities.
As the first step we should define employees in HRMS. These employees are used later on in the AGIS security setups.
Navigation: HRMS, Progress Admin S&L>>People>>Enter and Maintain
Define an employee ‘BCR, Singapore’ .This person will be attached to the user initiating the transaction in AGIS. In our example transaction gets initiated by BCR Singapore
Similarly create another employee (Recipient) BCR Japan and Save your new creations.
Create a users like BCR_S & BCR_J. Note the Person attached to this User is (BCR, Singapore) he is now the contact Person
Next step is to define Custom responsibilities like GL Super User, AP Super User, AP Super User, HRMS Management, OM, & AGIS Super user Resposibilities and attach it to our users.
Our next setup in AGIS set id to define a business group
Login to HRMS Responsibility and create Business group called Blink AGIS, Which you will later require to attach with the operating Units.
HRMS Management>>HRMS Manager>>Work Structures>>Organization>>Description
Click on Other button at line Level and set the Business Group settings:
Next step is to set some of the system profile options.
Navigation: System Administrator>>Profile>>System
Profile options where set for
1. HR: Business Group,
2. HR: Security,
3. MO: operating Unit,
4. MO: security profile,
5. MO: Default Operating Unit Profile,
6. GL Ledger name
One might already know, If MO: Security profile is defined the MO: Operating unit profile becomes redundant.
In this part we will see about GL ,AR, AP, setups
Now our next step is to create Legal entities namely BCR Singapore legal entity and BCR Japan legal entity of which one will be Our Initiator and other will be Recipient for our Intercompany transactions.
In BCR General Ledger Super User Responsibility
*Note: When you create our business group HRMS security profile gets automatically created with the same name of our Business Group.
Navigation: Setup>>Financials>>Accounting Setup Manager>>Accounting Setup
Click on Legal Entity tab in Accounting Setup Manager page to create new legal entity. Fill in all the mandatory columns like Territory, Legal Entity Name, Organization name, RCB Number and Legal Address. The screen shot below shows the sample of legal entity creation. Values such as Place of Registration, Inspection date, Primary Activity, Secondary Activity, Type of Company, and Fiscal year end are optional fields.
Similarly Create BCR Japan Legal Entity. And query the names in Legal entity form for confirming the creation of legal entities.
Our next step in the process is to create a valid ledger. Here I have a valid ledger called Blink Ledger highlighted on the screen shot below. Now attach the legal entities we have created in the previous step to this valid ledger.
In the screen shot below you can see the legal entities attached to the Ledger. Then define the operating unit by clicking the Operating unit update icon as shown below.
Create Operating units Namely ‘Blink AGIS Singapore OU’ and ’Blink AGIS Japan OU’. While creating attach the business group we created in the initial steps. (Blink AGIS)
Query the operating Units as show below for confirming the creation. Here you can see your operating units, Short code, Business group to which they are attached and the corresponding legal entities they are assigned to
So far what is covered is assignment of Legal entities and Operating units to Ledger.
Next step would be to define Inter-company Balancing Rules. Options to define inter- company rules would be visible, If and only if the inter company option is enabled.
Clink on Update icon to define Intercompany balancing rule
Under Intercompany company accounts link, there is a link called ‘Define Relationships’ where one can create relationship between various legal entities. This is the place where GL is noticed of ‘from where’ and’ to where’ the transactions are going to flow.In case, define the relationships for the BCR Singapore Legal Entity to BCR Japan Legal entity. As of now reverse way transactions is not happening so only one way relationship (Singapore LE to Japan LE) would suffice.
Define the relationship here. There are two parties in a relationship. First one is the Transacting Entity and the second is Trading Partner Entity.
Note: The relationship can be defined individual / multiple Balancing segment values of the transacting and trading entity.
Now we have just finished the required setups in GL for AGIS. Before entering AR setup the prerequisite is to have a Inventory organization.
Below screen shots will tell you the creation of INV organization:
Complete the Accounting Information, Receiving Information, Inventory Information to complete the INV. Organization creation.
Now set the following system profile option at this responsibility level
Profile options where set for
1. HR: Business Group,
2. HR: Security,
3. MO: operating Unit,
4. MO: security profile,
5. MO: Default Operating Unit Profile,
6. GL Ledger name
*Note: When you create our business group HRMS security profile gets automatically created with the same name of our Business Group.
Now we will move on to Payables setups.
In AP Define Financial Options,Payable Option, and System profile Option.setting up of Financial & payables options are more are less similar to 11i.
Login to Intercompany Super user responsibility assigned to our user. The First step is defining organizations. These are the organizations which will be used by AGIS
Navigation: Intercompany Super user>>Setup>> Organization
Define Organization as shown below.
Similarly create organization for Japan legal entity also. And Query the same in organization form for confirming your creation. Note that in the above Screen while creating organization select ‘Yes’ for enabled column. This flag indicates that this organization is enabled for intercompany transactions. Without this processing of transactions in those organizations, through AGIS is not possible
Next Step is to security definition. Security is defined as, which user/person will have access to which and how many intercompany organizations
Navigation: Intercompany Super User>>Setup>>security
Query the Person name and the Respective organization on which the person should be given access. And enable “Yes” for the options as shown below
In the same way shown above give access for BCR_S to Singapore Org. and BCR_J to Japan Org.
Next set is to define Transaction types in AGIS.
Your transaction type will decide whether invoicing is required for the transaction and manual approval is required.
Our next step inthe process is to define AGIS system options
Next we will define invoicing options
Under invoicing option Define Receivable Assignment and Customer/Supplier association as shown in the below screen shots
Example setup of one of the operating unit is shown in figure.
Note that Receivables Transaction Type and Receivables Memo lines can be linked only id Receivable setups are complete.If those setups are not complete then trhe LOV will not appear.The values like “Intercompany” , “Global Intercompany” respectively are seeded values in Receivables. These have been specifically seeded in Receivables for AGIS
In the above step definition of Customer/ Supplier Association is done.There are two tabs in the setup.
1.Customer/Supplier association tab to define the Association
2.Trading partner tab to reviewthe earlier Created association.
The second step in the creation of customer supplier association is selection of customer and entering a “Bill To Site” for the customer
Note that both are mandatory.
With this we have completed AGIS setup required for processing AGIS transactions We will discuss on AGIS Transaction process in the next part.
AGIS – Transaction Processing
Now we are ready with the setups for processing AGIS transaction. Login using Initiator Account . In our example BCR_S (Singapore is the initiator) and select Outbound transaction
This is the first form for data entry. notice the Transaction type, Initiator fields entered at the top of the screen.
In the second half, Receipient Details are entered.
The next screen is to complete accounting from the initiator side. Click on Add line button and enter The second effect of transaction from initiator side.
Once the transaction entry is complete click On Submit button.
After submition you can see the status of the transaction appears as “Submitted” which is Shown below
Now Login as Recipient. in our example BCR_J (Japan is Our Recipient)
and click on Inbound transaction as shown below
Query for the same batch number. And you will find the Status of the trasaction appears as “Received” for the Recipient.
Click on update icon for entering Recipient side accounting information.

Mass Addition on FIxed Asset

AP to Fixed Asset flow

1.Asset Invoice Creation within AP
For assets to be transferred to Assets, it must be approved and posted in the GL and charged the distribution to a clearing account that is already assigned to an asset category or charge directly to the asset cost account.
The track as asset flag will be automatically checked if the accounts have been set up as Asset within the GL.
addition1Invoice can be posted either to the asset clearing account or directly to the asset cost account.
Having a clearing account provides more control particularly if an asset does not get added in the correct period. That would therefore make the reconciliation between GL and FA easier.
Typical steps are herewith:
1. Navigate to the Submit a New Request Window and select REQUEST SET.
2. Select the Mass Additions Create Request Set. This set contains two programs:
  • Mass Additions Create
  • Mass Additions Create Report

2.Mass Addition Create
Following the successful creation of invoice in AP,the Mass Addition Create program is ran from the Account Payables.
Mass Addition Create lets you send Mass Addition lines from Oracle Payables as cost adjustments or as potential new assets. Create Mass Additions sends valid invoice line distributions and associated discounts from Payables to an interface table in Oracle Assets.
The Mass Addition Create process generates a Mass Addition Execution Report which shows the number of records inserted, Invoice ID and the asset account.
We can download the Mass Addition Create Report , it shows assets that have been successfully created from the process which will aid the reconciliation between Asset created and Asset Purchased (entered in AP). The report contains such information as legal entity name, asset account(as indicated on AP) , cost centre (as indicated on AP), Supplier name, Invoice Number & Date, the asset description and the cost of the asset.
Also to ensure that assets created matches assets purchased, if the prepare mass addition form is queried for all assets, a queue name other than POSTED indicates that the asset invoice has not yet been successfully created as an asset on Fixed Asset.
3.Mass Addition Post
The posting process creates assets from mass addition lines in the POST queue using the data you entered. It also adds mass additions in the COST ADJUSTMENT queue to existing assets. You can run this program as often as you want during a period.
At this state, they become an asset and available on the Asset Workbench. The queue name at this point changes to POSTED .Mass Additions Posting Report FAS824 is the output of this process.
Navigation > Mass Additions > Post Mass Additions

4.Depreciation & Transfer to GL
Depreciation computations depend on such factors as the type of depreciation (Life, units of production, or flat rate), the depreciation life and the depreciation method.
The asset category specifies a default depreciation method to be used with an asset. You will usually want to set up categories in such a way that you do not need to override the defaults they establish.
Data Flow:
Here is underline data flow diagram based out of the above discussed sub processes.

PO Matching Setting in Purchase Order Shipment Line(2-way,3-way,4-way)

 PO Matching Setting in Purchase Order Shipment Line

Invoice matching can be set in five different areas of Oracle Purchasing:
In the list below, a setting at any level will override the settings above it.

1. Oracle Purchasing Options
a. Navigate to: Setup > Organizations > Purchasing Options
b. Select Default Alternative Region

2. Supplier Information
a. Navigate to: Supply Base > Suppliers
b. Query on specific supplier
c. Click on Open
d. Select Receiving Alternative Region

3. Line Types
a. Navigate to: Setup > Purchasing > Line Types
b. In the Receipt Required field: Yes = 3-way, No = 2-way

4. Items
a. Navigate to: Items > Master Items
b. Query on specific item
c. Select Purchasing Alternative Region
d. In the Invoice Matching section: Yes = 3-way, No = 2-way

5. Purchase Order Shipments
a. Navigate to: Purchase Orders > Purchase Orders
b. Enter (header and) line information
c. Click on Shipments button
d. Select More Alternative Region

Ramification of Invoice Match to PO and Invoice Match to Receipt

Oracle Payables shares purchase order information from your purchasing system to enable online matching with invoices. Invoiced or billed items are matched to the original purchase orders to ensure that you pay only for the goods or services you ordered and/or received. If you are billed for an item over the amount and quantity tolerances you define in the Invoice Tolerance window, during Approval, Oracle Payables applies a hold to the invoice, which prevents payment.
Oracle Payables supports three levels of matching which verify that purchase order and
invoice information match within defined tolerances.

Match Approval Level: 2-Way , 3-Way, 4-Way.

In 2-way: what ever you have ordered for the PO you will make the payment for the suppliers in 2way i.e we will compare two documents PO and Invoice.
2-way matching verifies that Purchase order and invoice information match within your tolerances:
Quantity billed <= Quantity Ordered
Invoice price <= Purchase order price
Eg:Suppose we Had given PO for 100 items ,for that we will receive invoice for 100 items. so that we will make payment for that 100 items.

In 3-Way you will compare 3 documents i.e PO+reciept+Invoice.
3-way matching verifies that the receipt and invoice information match with the quantity tolerances defined:
Quantity billed <= Quantity received.
Eg:Suppose we have ordered 100 items in PO. But we had received only 75 items ,But we had received invoice for 100 items. so, we will make payment for only 75 items.

In 4-Way you will compare 4 documents i.e PO+Receipt+Invoice+Inspection.
4-way matching verifies that acceptance documents and invoice information match within the quantity tolerances defined:
Quantity billed <= Quantity accepted.
Eg:Suppose we have 100 items in PO. Suppers send us 75 items We will do inspection on those items what ever we have received, If 15items got damaged. finally, we are going to make payment to the 60 items only.

When you match to a purchase order, Payables automatically checks that the total of PO_DISTRIBUTIONS.QUANTITY_ORDERED = AP_INVOICE_DISTRIBUTIONS.QUANTITY_INVOICED (2-way matching). Payables only checks QUANTITY_RECEIVED (3-way matching) if the RECEIPT_REQUIRED_FLAG is set to Y and only checks QUANTITY_ACCEPTED (4-way matching) if the INSPECTION_REQUIRED_FLAG is set to Y.
Invoice Match Option:
The Invoice Match Option determines whether or not you intend to match invoices for this supplier against purchase orders or receipts.
Invoice Match option to PO Match:
•Payables must match the invoice to the purchase order.
•If the Invoice is matched to a PO rather than to the Receipt when the AP team do a match they have the full PO available to match rather than just the specific lines on the PO that were received.
•There is a possibility someone in payables matching to the wrong distribution if they use Match to PO.

•The accrual is valued at the PO exchange rate date.

Invoice Match option to PO Match:----------------------------------------------
•Payables must match the invoice to the receipt.
•Receipt Match Option is recommended if you want accounting to use exchange rate information based on the receipt date or if you want to update exchange rate information on the receipt.
•If you use the match to receipt option AP team can't match until the goods are received. If the receiving doesn't happen there is no way to associate the invoice with the PO.
•Invoice processing will be on hold till a receipt is entered into the system.
•Receipt Match option determines the cost with more accuracy i.e. Match to Material item receipt and link other invoice charges to receipt and You can now also associate freight, tax, and miscellaneous charges from invoices to the related receipt.
•Run the Matching Detail Report from Other -> Request -> Run. This report will show you detail of how an invoice, purchase order, or receipt was matched. This report is especially helpful when an invoice is on hold and you are trying determine why the hold was placed.

The Invoice Match Option defaults from the Supplier Sites window. You can change the Invoice Match Option on the shipment until you receive against the shipment.

Financial Options - Invoice Match Option:
For purchase order shipments, indicate whether you want to match invoices to purchase orders or to purchase order receipts. If the supplier was created automatically during Expense Report Import, the default value is Purchase Order, and you can change it to Receipts as appropriate.

The decision to set the Invoice match option to Receipt or Purchase Order depends on Business Needs.
•If you are using Multi Currency Functionality for Purchase Order and if like to have the rate based on Receipt date you need to go with Receipt Match at the invoice match option.
•The main advantage is the Exchange Rate factor i.e. Receipt/Current Date instead of Purchaser Order date.
•Receipt Match gives much closer control of the matching process,Particularly where you have multiple receipts of large purchase order.

If a Business is using Invoice Match option Purhcase Order and like to change from Purchase Order to Receipt Match, then what would be the impact?

•All Supplier sites need to be updated with Invoice Match option to Receipt.
•Purchase orders which are already approved with Invoice Match Option of Purchase order should continue with the same existing process.
•All existing Open PO, which need a change from Purchase Order to Receipt, should be corrected by changing the invoice match option in the purchase order shipment to Receipt. Payables team should match invoices to Receipt for all Purchase Orders created after the cut-off date.
•Training to AP/PO users.

In order for the receipt to use the current exchange rate and not the PO exchange rate, the Invoice Match Option at the system level and on the suppliers should be Receipt, not Purchase Order.

How to find Trace File Names in Oracle apps based on request id

SELECT 'Request id: '||request_id 
,  'Trace id: '||oracle_Process_id
,  'Trace Flag: '||req.enable_trace, 
'Trace Name:  '||dest.value||'/'||lower(dbnm.value)||'_ora_'||oracle_process_id||'.trc', 
'Prog. Name: '||prog.user_concurrent_program_name, 
'File Name: '||execname.execution_file_name|| execname.subroutine_name , 
'Status : '||decode(phase_code,'R','Running')  ||'-'||decode(status_code,'R','Normal'),
'SID Serial: '||ses.sid||','|| ses.serial#,  
'Module : '||ses.module  
from fnd_concurrent_requests req, v$session ses,
v$process proc,  v$parameter dest, v$parameter dbnm, 
fnd_concurrent_programs_vl prog,  fnd_executables execname  
where req.request_id = req.request_id ---&request  
and req.oracle_process_id=proc.spid(+)  
and proc.addr = ses.paddr(+)  and'user_dump_dest''db_name'  and req.concurrent_program_id = prog.concurrent_program_id  and req.program_application_id = prog.application_id  and prog.application_id = execname.application_id  and prog.executable_id=execname.executable_id; 

Delete Cache memory in Oracle Apps R12

Delete Cache memory in Oracle Apps R12

Here is the Navigation for the same

1)Go to Functional Administrator
2)Click on Core Services Tab
3)Click on Caching Framework Tab
4)Within Caching framework click on Global configuration
5)Under Cache policy click on "Clear ALL Cache" Button
5) Click on Apply

Oracle Fixed Asset key tables


Tables of Fixed Assets


FA_DEPRN_PERIODS contains information about your depreciation periods. Oracle Assets uses this table to determine when each period in FA_CALENDARS was open for a depreciation book. PERIOD_OPEN_DATE and PERIOD_CLOSE_DATE are the dates when you opened and closed each book’s depreciation period. Each time you run the depreciation program, it closes the current period by setting PERIOD_CLOSE_DATE to the system date. It also opens the next period by inserting a new row into this table in which PERIOD_CLOSE_DATE is NULL and PERIOD_OPEN_DATE equals the PERIOD_CLOSE_DATE of the old row. CALENDAR_PERIOD_OPEN_DATE and CALENDAR_PERIOD_CLOSE_DATE correspond to your calendar as defined by the START_DATE and END_DATE columns in FA_CALENDAR_PERIODS.

FA_DEPRN_SUMMARY contains depreciation information for your assets. Each time you run the depreciation program, it inserts one row into thistable for each asset. PERIOD_COUNTER is the period for which you ran the depreciation program. DEPRN_AMOUNT is the depreciation expense for an asset in a depreciation period. It is the sum of DEPRN_AMOUNT in all the rows of FA_DEPRN_DETAIL for the asset and period. YTD_DEPRN is the accumulated depreciation of an asset for the current fiscal year as of the end of this period. DEPRN_RESERVE is the total accumulated depreciation for this asset. DEPRN_SOURCE_CODE tells you what program created the row BOOKS Created by the Depreciation Books form, Quick Additions form, or the post mass additions program when you enter a new asset. DEPRN Created by the depreciation program when you run depreciation. ADJUSTED_COST is the depreciable basis the depreciation program uses to calculate depreciation for an asset in a depreciation period. This value is the same as the asset’s recoverable cost, except for assets that use a diminishing value depreciation method, assets to which you have made an amortized adjustment, and assets you have revalued.
For assets that use a diminishing value method, the ADJUSTED_COST is the beginning of year net book value, which the depreciation program updates at the start of each fiscal year. When you perform an amortized adjustment on an asset or revalue it, the ADJUSTED_COST becomes the asset’s net book value at the time of the adjustment or revaluation. BONUS_RATE is the bonus rate that Oracle Assets adds to the adjusted rate to give you the flat rate for the fiscal year. The depreciation program uses this rate to calculate depreciation for an asset. This only applies to assets that use both a flat–rate depreciation method and bonus depreciation.

FA_ADDITIONS_B contains descriptive information to help you identify your assets. Oracle Assets does not use this table to calculate depreciation.When you add an asset, Oracle Assets inserts a row into this table and into FA_ASSET_HISTORY. When you change the asset information stored in this table, Oracle Assets updates it in this table. It also creates a new row in FA_ASSET_HISTORY. When you perform a unit retirement, Oracle Assets reduces the CURRENT_UNITS by the units retired. UNIT_ADJUSTMENT_FLAG is set to YES by the Additions form if you change the number of units for an asset. The Transfers form resets it to NO after you reassign the remaining units. FA_ADJUSTMENTS stores information that Oracle Assets needs to create journal entries for transactions. The posting program creates journal entries for regular depreciation expense from information in FA_DEPRN_DETAIL. Oracle Assets inserts a row in this table for the debit and credit sides of a financial transaction. All the rows for the same transaction have the same value in the TRANSACTION_HEADER_ID column. The SOURCE_TYPE_CODE column tells you which program created the adjustment:
- ADDITION Depreciation program
- ADJUSTMENT Expensed or Amortized Adjustment User Exit
- CIP ADDITION Depreciation program
- CIP ADJUSTMENT Expensed or Amortized Adjustment User Exit
- CIP RETIREMENT Gain/loss program
- DEPRECIATION Depreciation program (Retroactive transactions andexpensed depreciation adjustments)
- RETIREMENT Gain/loss program
- RECLASS Reclassification user exit
- TRANSFER Transfers form
- TAX Reserve Adjustments form
- REVALUATION Mass revaluation program
The ADJUSTMENT_TYPE column tells you which type of account Oracle Assets adjusts. DEBIT_CREDIT_FLAG is DR if the amount is a debit and CR if the amount is a credit. ADJUSTMENT_AMOUNT is the amount debited or credited to the account. ANNUALIZED_ADJUSTMENT is the adjustment amount for a period times the number of periods in a fiscal year. The depreciation program uses it to calculate the depreciation adjustment for an asset when you perform multiple retroactive transactions on the asset. Oracle Assets calculates ADJUSTMENT_PER_PERIOD by dividing the ADJUSTMENT_AMOUNT for a retroactive transaction by the numberof periods between the period you entered the transaction and the period that it was effective. For current period transactions, this columnis zero. PERIOD_COUNTER_CREATED IS the period that you entered the adjustment into Oracle Assets. PERIOD_COUNTER_ADJUSTED is the period to which the adjustment applies. It is the same as PERIOD_COUNTER_CREATED, unless you enter a reserve adjustment, in which case PERIOD_COUNTER_ADJUSTED is the last period of the fiscal year to which the adjustment applies. CODE_COMBINATION_ID indicates the Accounting Flexfield combination Oracle Assets debits or credits for all transactions except reclassifications and intercompany transfers. This CODE_COMBINATION_ID is generated using the Account Generator, and the posting program does not perform any further processing.

FA_BOOKS contains the information that Oracle Assets needs to calculate depreciation. When you initially add an asset, Oracle Assets inserts one row into the table. This becomes the ”active” row for the asset. Whenever you use the Depreciation Books form to change the asset’s depreciation information, or if you retire or reinstate it, Oracle Assets inserts another row into the table, which then becomes the new ”active” row, and marks the previous row as obsolete.
At any point in time, there is only one ”active” row in the table for an asset in any given depreciation book. Generally, Oracle Assets uses the active row, but if you run a report for a prior accounting period, Oracle Assets selects the row that was active during that period. You can identify the active row for anasset in a book because it is the only one whose DATE_INEFFECTIVE and TRANSACTION_HEADER_ID_OUT are NULL. When Oracle Assets terminates a row, the DATE_INEFFECTIVE and TRANSACTION_HEADER_OUT are set to the DATE_EFFECTIVE and TRANSACTION_HEADER_IN of the new row, respectively. This means that you can easily identify rows affected by the same transaction because they have the same DATE_EFFECTIVE / DATE_INEFFECTIVE and TRANSACTION_HEADER_ID_IN / TRANSACTION_HEADER_ID_OUT pairs.When Oracle Assets creates the new row, the value used for the TRANSACTION_HEADER_ID_IN column is the same as the TRANSACTION_HEADER_ID in the row inserted into FA_TRANSACTION_HEADERS, and the DATE_EFFECTIVE is the system date. When you retire an asset, Oracle Assets inserts a new row to reduce the COST by the amount retired. When you reinstate an asset, Oracle Assets inserts a new row to increase the COST by the COST_RETIRED in the corresponding row in FA_RETIREMENTS.RATE_ADJUSTMENT_FACTOR is originally 1. It is used to spread depreciation over the remaining life of an asset after an amortization or revaluation. If you perform a revaluation or an amortized adjustment, Oracle Assets resets the Rate Adjustment Factor to prorate the remaining recoverable net book value over the remaining life. This fraction is calculated as [Recoverable Cost – what Depreciation Reserve would be]/Recoverable Cost. The depreciation program uses this value to adjust the depreciation rate for an asset.

FA_CATEGORIES_B stores information about your asset categories. This table provides default information when you add an asset. The depreciation program does not use this information to calculate depreciation.The Asset Categories form inserts one row in this table for each asset category you define. The Application Object Library table

FND_ID_FLEX_SEGMENTS stores information about which column in this table is used for each segment.

FA_DEPRN_DETAIL contains the depreciation amounts that the depreciation program charges to the depreciation expense account in each distribution line.
Oracle Assets uses this information to create depreciation expense journal entries for your general ledger.The depreciation program inserts one row per distribution line for an asset each time you run depreciation.
For example, if you assign an asset to two different cost centers, the depreciation program inserts two rows in this table for the asset. DEPRN_AMOUNT is the amount of depreciation expense calculated forthis distribution line.YTD_DEPRN is the year–to–date depreciation allocated to thisdistribution line.When you add an asset, Oracle Assets inserts a row into this table for the period before the current period. This row has the asset cost in the ADDITION_COST_TO_CLEAR column and a DEPRN_SOURCE_CODE of ’B’. This column is used for reporting on new assets. When you run depreciation, Oracle Assets transfers the cost to the COST column in the current period row, this row has a DEPRN_SOURCE_CODE of ’D’.


SELECT DISTINCT a.segment1||'.'||a.segment2 CATEGORY,a.segment1 MAJOR_CATEGORY
,  a.segment2 MINOR_CATEGORY
,  gl1.segment1||'.'||gl1.SEGMENT2||'.'||gl1.SEGMENT3||'.'||gl1.SEGMENT4||'.'||gl1.SEGMENT5 ASSET_COST
,  gl2.segment1||'.'||gl2.SEGMENT2||'.'||gl2.SEGMENT3||'.'||gl2.SEGMENT4||'.'||gl2.SEGMENT5 ASSET_COST_CLEARING
,  gl3.segment1||'.'||gl3.SEGMENT2||'.'||gl3.SEGMENT3||'.'||gl3.SEGMENT4||'.'||gl3.SEGMENT5 DEPRN_RESERVE_ACCOUNT
,  deprn_method
,  life_in_months
,  (life_in_months/12) lIFE
,  prorate_convention_code
FROM fa_categories a
, fa_category_books c
, gl_code_combinations gl1
, gl_code_combinations gl2
, gl_code_combinations gl3
WHERE a.category_id = b.category_id
AND c.category_id = b.category_id
AND c.category_id = a.category_id
AND b.book_type_code = c.book_type_code
AND c.book_type_code = 'CORP BOOK'

FA YTD Depreciation

FA For getting YTD Depreciation..etc...
SELECT fbv.book_type_code
,fcb.segment1||'.'||fcb.segment2 asset_category
,fcb.segment1||'.'||fcb.segment2 asset_category1
,fbv.cost asset_cost
,fbv.original_cost original_asset_cost
,fbv.life_in_months asset_life
,'ACCUM') accum_depreciation
,'YTD') ytd_depreciation
,'RUN') dep_this_run
,gcc.segment2 department_no
,(SELECT ppx.full_name FROM per_people_x ppx WHERE ppx.person_id = fdh.assigned_to AND ROWNUM = 1) custodian
,(SELECT ppx.employee_number FROM per_people_x ppx WHERE ppx.person_id = fdh.assigned_to AND ROWNUM = 1) employee_number
,(SELECT po_number FROM fa_invoice_details_v WHERE asset_id = fbv.asset_id AND ROWNUM = 1) po_number
,(SELECT invoice_number FROM fa_invoice_details_v WHERE asset_id = fbv.asset_id AND ROWNUM = 1) invoice_number
,(SELECT vendor_number FROM fa_invoice_details_v WHERE asset_id = fbv.asset_id AND ROWNUM = 1) vendor_number
,(SELECT vendor_name FROM fa_invoice_details_v WHERE asset_id = fbv.asset_id AND ROWNUM = 1) vendor_name
,fl.segment3||'.'||fl.segment4 location_flexfield
,fab.attribute1 tax_major_category
,fab.attribute2 tax_minor_category
,(SELECT retirement_type_code FROM fa_retirements WHERE retirement_id = fdh.retirement_id AND ROWNUM = 1) retirement_type
,(SELECT segment1||'.'||segment2 FROM fa_asset_keywords WHERE code_combination_id = fab.asset_key_ccid AND ROWNUM = 1) asset_key
,fab.attribute3 acquisition_date
FROM apps.fa_additions_v fab
,apps.fa_books_v fbv
,apps.fa_categories_b fcb
,apps.fa_deprn_periods fdp
,apps.fa_distribution_history fdh
,apps.gl_code_combinations gcc
,apps.fa_locations fl
AND fab.asset_id = fbv.asset_id
AND fcb.category_id = fab.asset_category_id
AND fbv.transaction_header_id_out IS NULL
AND fdp.book_type_code = fbv.book_type_code
AND fdh.asset_id = fbv.asset_id
AND fdh.code_combination_id = gcc.code_combination_id
AND fdh.location_id=fl.location_id
AND fbv.transaction_header_id_out IS NULL
AND fdh.transaction_header_id_out IS NULL
SELECT fnd_id_flex_segments.application_column_name,
fnd_id_flex_segments.segment_name, fnd_id_flex_segments.segment_num,
fnd_flex_values.flex_value AS SEGMENT,
fnd_flex_values_tl.description, fnd_id_flex_segments.application_id, fnd_flex_values.PARENT_FLEX_VALUE_LOW as parent
FROM applsys.fnd_flex_values fnd_flex_values,
applsys.fnd_flex_values_tl fnd_flex_values_tl,
applsys.fnd_id_flex_segments fnd_id_flex_segments
WHERE fnd_flex_values.flex_value_id = fnd_flex_values_tl.flex_value_id
AND fnd_flex_values.flex_value_set_id =
AND fnd_id_flex_segments.flex_value_set_id = 1008035
--      AND fnd_flex_values.flex_value <> 'T'
AND fnd_id_flex_segments.application_id = '140'
AND fnd_id_flex_segments.segment_num = 3
SELECT fa_additions.asset_id, disc_gl_set_of_books.set_of_books_id,
disc_gl_set_of_books.description AS set_of_books,
fa_additions.asset_number, fa_additions.tag_number,
fa_additions.description, fa_additions.manufacturer_name,
fa_additions.serial_number, fa_additions.model_number,
fa_categories_b.segment1, fa_categories_b.segment2,
fa_categories_b.segment3, fa_books.book_type_code,
ROUND (  fa_books.COST
* fa_distribution_history.units_assigned
/ fa_additions.current_units,
fa_books.date_effective, fa_books.date_ineffective,
fa_books.date_placed_in_service, fa_books.deprn_start_date,
fa_books.original_cost, fa_additions.current_units,
fa_distribution_history.units_assigned, fa_books.life_in_months,
fa_employees.employee_number, fa_employees.NAME employee_name,
fa_locations.segment1 "STATE", fa_locations.segment2 "CITY",
fa_locations.segment3 "SITE", fa_locations.segment4 "LOCATOR",
fa_category_books.asset_cost_acct "ASSET_ACCOUNT_ID",
segment2.description AS "ASSET_ACCOUNT",
fa_book_controls.book_class, disc_ccid_dsc_mv.account_type,
disc_ccid_dsc_mv.code_combination_id, disc_ccid_dsc_mv.gl_seg1,
disc_ccid_dsc_mv.gl_seg2, disc_ccid_dsc_mv.gl_seg3,
disc_ccid_dsc_mv.gl_seg4, disc_ccid_dsc_mv.gl_seg5,
disc_ccid_dsc_mv.gl_seg6, disc_ccid_dsc_mv.gl_seg7,
disc_ccid_dsc_mv.gl_seg8, disc_ccid_dsc_mv.gl_seg9,
disc_ccid_dsc_mv.gl_seg10, disc_ccid_dsc_mv.gl_seg11,
disc_ccid_dsc_mv.gl_name_seg1, disc_ccid_dsc_mv.gl_name_seg2,
disc_ccid_dsc_mv.gl_name_seg3, disc_ccid_dsc_mv.gl_name_seg4,
disc_ccid_dsc_mv.gl_name_seg5, disc_ccid_dsc_mv.gl_name_seg6,
disc_ccid_dsc_mv.gl_name_seg7, disc_ccid_dsc_mv.gl_name_seg8,
disc_ccid_dsc_mv.gl_name_seg9, disc_ccid_dsc_mv.gl_name_seg10,
fa_books.date_placed_in_service "DATE_IN",
NULL "DATE_IN_MONTH", fa_deprn_summary.deprn_amount,
fa_deprn_summary.ytd_deprn, fa_deprn_summary.deprn_reserve,
fa_deprn_summary.addition_cost_to_clear adjusted_cost,
--      disc_fa_invoice_details.vendor_name,
--          disc_fa_invoice_details.invoice_number,
--          disc_fa_invoice_details.invoice_date,
--          disc_fa_invoice_details.fixed_assets_cost AS fa_cost_by_invoice
FROM   apps.fa_additions fa_additions,
fa.fa_book_controls fa_book_controls,
fa.fa_books fa_books,
fa.fa_categories_b fa_categories_b,
fa.fa_category_books fa_category_books,
fa.fa_distribution_history fa_distribution_history,
gl.gl_code_combinations gl_code_combinations,
apps.fa_employees fa_employees,
fa.fa_locations fa_locations,
apps.disc_ccid_dsc_mv disc_ccid_dsc_mv,
apps.disc_segment2 segment2,
apps.disc_gl_set_of_books disc_gl_set_of_books,
--          disc_gl_month in_month,
fa.fa_deprn_detail fa_deprn_summary,
fa.fa_deprn_periods fa_deprn_periods
--          disc_fa_invoice_details disc_fa_invoice_details
WHERE  fa_books.book_type_code = fa_book_controls.book_type_code
AND fa_books.asset_id = fa_additions.asset_id
AND fa_books.date_ineffective IS NULL
AND fa_distribution_history.book_type_code = fa_books.book_type_code
AND fa_distribution_history.asset_id = fa_additions.asset_id
AND fa_distribution_history.date_ineffective IS NULL
AND fa_categories_b.category_id = fa_additions.asset_category_id
AND fa_category_books.book_type_code =
AND fa_category_books.category_id = fa_additions.asset_category_id
AND gl_code_combinations.code_combination_id =
AND fa_employees.employee_id(+) = fa_distribution_history.assigned_to
AND fa_locations.location_id = fa_distribution_history.location_id
AND gl_code_combinations.code_combination_id =
AND segment2.SEGMENT = fa_category_books.asset_cost_acct
AND disc_gl_set_of_books.set_of_books_id =
--      AND fa_books.date_placed_in_service BETWEEN in_month.start_date AND in_month.end_date
AND fa_deprn_summary.asset_id = fa_distribution_history.asset_id
AND (    fa_deprn_periods.period_counter =
AND fa_deprn_periods.book_type_code =
AND fa_deprn_summary.distribution_id =
--      AND fa_books.asset_id = disc_fa_invoice_details.asset_id(+)
--      AND fa_deprn_summary.deprn_source_code = 'D'
--and fa_additions.asset_id = '10000767';