0% found this document useful (0 votes)
82 views18 pages

Fixed Asset BO Universe For Oracle EBS (12.1.x) : by Ishaq Baig

Uploaded by

Subhan Fazal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views18 pages

Fixed Asset BO Universe For Oracle EBS (12.1.x) : by Ishaq Baig

Uploaded by

Subhan Fazal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 18

Fixed Asset BO Universe

For Oracle EBS (12.1.x)

1 Introduction............................................................................................................................................................2
2 Fixed Asset Universe Details....................................................................................................................................2
3 Filters Used in the Universe...................................................................................................................................11
4 Oracle Views..........................................................................................................................................................13
5 Oracle Packages.....................................................................................................................................................13
6 Tables to be created..............................................................................................................................................13
7 Oracle Asset Register Query..................................................................................................................................14
8 BO Asset Register Query........................................................................................................................................17
9 BO Reports and Their Description.........................................................................................................................17
10 References.........................................................................................................................................................18
11 Files in the Document........................................................................................................................................18

By Ishaq Baig

[email protected]
1 Introduction

Fixed Asset Universe is based on Oracle EBS (E-Business Suite) version 12.1.3.

The universe was created to create ad-hoc reports from the fixed assets module. It is directly based on Oracle EBS
tables. The universe extensively uses Functions to get the descriptions and calculations. The scripts provided can be
created in a separate user/schema which have rights to view APPS tables and views or they can be created in the
APPS schema. As I have created the packages and views in a schema called develop which has rights to view the
APPS Objects. The user qualifier is preceded for some objects in the universe. (Like Develop.
Apps_FA_Util_API.Get_Category_Segments)

Access to the Fixed Asset data is restricted by FA Books, using a security table SAV_FA_BOOK_ACCESS. If a Business
Objects user needs to be given access to a particular FA Book, a record needs to be inserted into this table. Example
HQ Book, IBAIG
XYZ Book, IBAIG
Which means IBAIG has access to 2 Fixed Asset Books.

Universe Parameters

Technologies Used –
Business Objects XI 3.1 Sp5
Business Objects Universe designer
Web Intelligence 3.1
Oracle Database 11.2.0.1
PL/SQL

2 Fixed Asset Universe Details


Assets Class /Folder The Asset class Gets the asset details From the
FA_ADDITIONS_B table.

Description  Function used to get Description based on


asset id

Category  Function based on asset_category_id

Asset Workbench\Additions
Asset Details

Asset History shows the asset type during a point of


time. Gives the account, category of the asset, at
particular time in history. Filters take care in the getting
the record which was active during an FA period.
Associated Table FA_BOOKS
Book – Fiscal year
Book – Period Entered
Book – Period Effective

The fields are based on the below oracle screen


Oracle Workbench\Financial Inquiry ,
View  fa_financial_inquiry_cost_v
Asset Workbench\Financial Inquiry

GL Segment Current, Location Segment Current is


fetched from the FA_Distribution_History (The active
record is fetched)
Asset Workbench\Assignments

Books Measures are taken from this screen


Asset Workbench\Books
Depreciation Information is taken from the
FA_DEPRN_SUMMARY and FA_DEPRN_DETAIL

Asset Workbench\Financial Inquiry (Depreciation Tab)

Note – Almost all Reports are based on the


Depreciation Detail, Summary class is included just for
information.
Objects based on FA_DEPRN_DETAIL table

Detail Cost  Cost from cost field where the


deprn_source_code = ‘B’ decode used to achieve this.

Explained in detail in Other section.

All reports are based on this table, functions are used to


calculate the Detail – Deprn Amount and YTD Deprn
Amount measures based on the report period.

Detail - Deprn Reserve/Accumulated Deprn  direct


from table

Distribution details based on


FA_DISTRIBUTION_HISTORY table
Asset Workbench\Assignments

Distribution Segments are got from the


GL_CODE_COMBINATIONS table. And Segment names
are fetched based on the Fnd_Flex_Values tables and
flex_value_set_id

NOTE – Each company may have a different flex_value_set_id


for different segments. Please change the flex_value_set_id
values hard coded in the APPS_GL_CODE_COMB_UTIL_API
package to reflect your company Information.
Financial Inquiry gives the financial information of the
asset.

Current Measures - Gives information as of the report


date. Values are got based on Current date when the
report is run.

Measures By Month – Values are calculated based on


the report month. It reflects the values at a particular
point of time. All measures have a prompt embedded in
their select clause.

Invoice Details based on FA_INVOICE_DETAILS_V view,


Gives Invoice information of an asset.
Retirement details of an asset Based on View
SAV_FA_RETIREMENTS_V
View Based on query in  Asset Retirement Report

SELECT ret.retirement_id, ret.book_type_code,


ret.asset_id, ret.transaction_header_id_in,
ret.date_retired, ret.date_effective,
ret.cost_retired, ret.status,
ret.last_update_date, ret.last_updated_by,
ret.retirement_prorate_convention,
ret.transaction_header_id_out,
ret.units, ret.cost_of_removal,
ret.nbv_retired, ret.gain_loss_amount,
ret.proceeds_of_sale, ret.gain_loss_type_code,
FROM fa_retirements ret,
fa_additions_b ad,
fa_books bks,
fa_book_controls bc,
fa_fiscal_year fy,
fa_asset_history ah,
fa_additions_b trade_in,
fa_additions_tl adt,
fa_transaction_headers th
WHERE ad.asset_id = ret.asset_id
AND bks.book_type_code = ret.book_type_code
AND bks.asset_id = ret.asset_id
AND bks.transaction_header_id_out =
ret.transaction_header_id_in
AND bks.date_ineffective > ah.date_effective
AND bks.date_ineffective <= NVL (ah.date_ineffective,
SYSDATE)
AND ah.asset_id = ret.asset_id
AND trade_in.asset_id(+) = ret.trade_in_asset_id
AND th.transaction_header_id =
ret.transaction_header_id_in
AND bc.book_type_code = ret.book_type_code
AND fy.fiscal_year_name = bc.fiscal_year_name
AND fy.fiscal_year = bc.current_fiscal_year
AND adt.asset_id(+) = trade_in.asset_id
AND adt.language(+) = USERENV ('LANG');
Asset Transfers based on View
sav_fa_asset_transfers_v, which in-turn is based on Oracle
Report “Asset Transfers Report”

Asset Reclassification based on View 


sav_fa_asset_reclassify_v, which in-turn is based on Oracle
Report “Asset Reclassification Report”

Summary By Category based on Table


SAV_FA_BO_RECONCILE_BY_CAT  Table stores pre-
calculated values of Cost, Depreciation, Accumulated
Depreciation, Net Book Value by asset category and
period
Objects based on FA_ADJUSTMENTS table
Adjustment Transaction Period Name  is based on the
transaction date from the FA_TRANSACTION_HEADERS
table.

Based on SAV_FA_FINTRANS_INQUIRY_V View


3 Filters Used in the Universe
Asset Book Type Filter  APPS_APPL.FA_BOOKS.BOOK_TYPE_CODE IN
(SELECT SAV_FA_BOOK_ACCESS.book_type_code
FROM SAV_FA_BOOK_ACCESS
WHERE SAV_FA_BOOK_ACCESS.user_id = (SELECT
UPPER(@Variable('BOUSER')) FROM DUAL))

This filter is mandatory and is being applied on the Universe as a whole.


The FA_BOOKS table is always bought in the where clause of the query
due to this filter

Filter is used to assign security. Users will only be able to see data from
FA books which they are assigned to see. Filter is only to secure the
different asset books.

Asset History Rows 


APPS_APPL.FA_ASSET_HISTORY.DATE_INEFFECTIVE IS NULL
Filter to get active history records.

Asset History Row of The Report Month 


Filter to get rows active at a particular point of time
Get_Deprn_End_Date (Book_type_code of asset, Period_Prompt)
Between date_effective and date_ineffective

Apps_FA_Util_Api.Get_Deprn_Period_End_Date
( Apps_FA_Util_API.Get_Asset_Book_Type_Code
( APPS_APPL.FA_ASSET_HISTORY.asset_id ), @Prompt('Enter Period
Name:','A','Depreciation\Period Name',mono,free,persistent) )
BETWEEN APPS_APPL.FA_ASSET_HISTORY.DATE_EFFECTIVE AND
Nvl(APPS_APPL.FA_ASSET_HISTORY.DATE_INEFFECTIVE,SYSDATE+1)

Active Asset Rows  APPS_APPL.FA_BOOKS.DATE_INEFFECTIVE IS


NULL
Filter to get active records from Book

Active Book Row of The Report Month 


Filter to get rows active at a particular point of time from FA_BOOKS
Get_Deprn_End_Date (Book_type_code of asset, Period_Prompt)
Between date_effective and date_ineffective

Apps_FA_Util_Api.Get_Deprn_Period_End_Date
( APPS_APPL.FA_BOOKS.book_type_code, @Prompt('Enter Period
Name:','A','Depreciation\Period Name',mono,free,persistent) )
BETWEEN APPS_APPL.FA_BOOKS.DATE_EFFECTIVE AND
Nvl(APPS_APPL.FA_BOOKS.DATE_INEFFECTIVE,SYSDATE+1)

Get All Assets Included in the Report Month 


Filter to get rows from FA_BOOKS for those assets whose entered
/addition period counter is less than the Report Period counter.
Get_Asset_Entered_Period function returns the period name in which
the asset was added to the system.

Apps_FA_Util_Api.Get_Deprn_Period_Counter (
APPS_APPL.FA_BOOKS.book_type_code,
Apps_FA_Util_Api.Get_Asset_Entered_Period
( APPS_APPL.FA_BOOKS.asset_id,
APPS_APPL.FA_BOOKS.book_type_code ) ) <=
Apps_FA_Util_Api.Get_Deprn_Period_Counter(APPS_APPL.FA_BOOKS.b
ook_type_code, @Prompt('Enter Period Name:','A','Depreciation\Period
Name',mono,free,persistent) )

Skip Retired Rows Whose Retired Period is Greater Than Report


Month 
Filter to get rows from FA_BOOKS which are not retired at a particular
point of time.
Where is Based on the Oracle Asset Register query as explained below

NVL (APPS_APPL.FA_BOOKS.period_counter_fully_retired,
To_NUMBER(Ltrim(Rtrim(Apps_FA_Util_API.Get_Deprn_Period_Param
(APPS_APPL.FA_DISTRIBUTION_HISTORY.book_type_code,
@Prompt('Enter Period Name:','A','Depreciation\Period
Name',mono,free,persistent), 'UPC'))))) >=
To_NUMBER(Ltrim(Rtrim(Apps_FA_Util_API.Get_Deprn_Period_Param
(APPS_APPL.FA_DISTRIBUTION_HISTORY.book_type_code,
@Prompt('Enter Period Name:','A','Depreciation\Period
Name',mono,free,persistent), 'TPC'))))
Asset Distribution History Record 
APPS_APPL.FA_DISTRIBUTION_HISTORY.DATE_INEFFECTIVE IS NULL
Filter to get active history records from distribution history

Asset Distribution Row of The Report Month 


Filter to get rows active at a particular point of time
Get_Deprn_End_Date (Book_type_code of asset, Period_Prompt)
Between date_effective and date_ineffective

Where is Based on the Oracle Asset Register query as explained below

(Apps_FA_Util_Api.Get_Deprn_Period_End_Date
( APPS_APPL.FA_DISTRIBUTION_HISTORY.book_type_code,
@Prompt('Enter Period Name:','A','Depreciation\Period
Name',mono,free,persistent) )
BETWEEN APPS_APPL.FA_DISTRIBUTION_HISTORY.DATE_EFFECTIVE
AND
NVL(APPS_APPL.FA_DISTRIBUTION_HISTORY.DATE_INEFFECTIVE,SYSDA
TE+1)
OR
(Apps_FA_Util_Api.Get_Deprn_Period_Start_Date
( APPS_APPL.FA_DISTRIBUTION_HISTORY.book_type_code,
@Prompt('Enter Period Name:','A','Depreciation\Period
Name',mono,free,persistent) ) BETWEEN
APPS_APPL.FA_DISTRIBUTION_HISTORY.DATE_EFFECTIVE AND
APPS_APPL.FA_DISTRIBUTION_HISTORY.DATE_INEFFECTIVE AND
APPS_APPL.FA_DISTRIBUTION_HISTORY.DATE_INEFFECTIVE is not null ))

Active Distribution Rows Less Than and Equal to The Report Date 
Filter to get rows active at a particular point of time based on Upper
Period Counter (UPC) of the Report Period from the distribution hist

APPS_APPL.FA_DEPRN_DETAIL.distribution_id =
APPS_APPL.FA_DISTRIBUTION_HISTORY.distribution_id AND
APPS_APPL.FA_DEPRN_DETAIL.period_counter =
(SELECT MAX (dd_sub.period_counter)
FROM APPS_APPL.fa_deprn_detail dd_sub
WHERE dd_sub.book_type_code =
APPS_APPL.FA_DISTRIBUTION_HISTORY.book_type_code
AND dd_sub.asset_id =
APPS_APPL.FA_DISTRIBUTION_HISTORY.asset_id
AND dd_sub.distribution_id =
APPS_APPL.FA_DISTRIBUTION_HISTORY.distribution_id
AND dd_sub.period_counter <=
To_NUMBER(Ltrim(Rtrim(Apps_FA_Util_API.Get_Deprn_Period_Param
(APPS_APPL.FA_DISTRIBUTION_HISTORY.book_type_code,
@Prompt('Enter Period Name:','A','Depreciation\Period
Name',mono,free,persistent), 'UPC')))) )

Get Retirements Between a Period Range 


Filter gets the retirement done between a Period Range

Apps_FA_Util_Api.Get_Deprn_Period_Counter (
SAV_FA_RETIREMENTS_V.book_type_code,
Apps_FA_Util_API.Get_Deprn_Period_Name_By_Date
(SAV_FA_RETIREMENTS_V.BOOK_TYPE_CODE,
SAV_FA_RETIREMENTS_V.TRANSACTION_DATE_EFFECTIVE) ) Between
Apps_FA_Util_Api.Get_Deprn_Period_Counter(SAV_FA_RETIREMENTS_
V.BOOK_TYPE_CODE, @Prompt('Enter Start Period
Name:','A','Depreciation\Period Name',mono,free,persistent) ) AND
Apps_FA_Util_Api.Get_Deprn_Period_Counter(SAV_FA_RETIREMENTS_
V.BOOK_TYPE_CODE, @Prompt('Enter End Period
Name:','A','Depreciation\Period Name',mono,free,persistent) )
Get Transfers Between a Period Range 
Filter gets the FA transfers done between a Period Range

Get Reclassification Between a Period Range 


Filter gets the FA Reclassifications done between a Period Range

Get Adjustments Between a Period Range 


Filter gets the FA Adjustments done between a Period Range

Apps_FA_Util_Api.Get_Deprn_Period_Counter (
APPS_APPL.FA_ADJUSTMENTS.book_type_code,
Apps_FA_Util_API.Get_Deprn_Period_Name_By_Date
(APPS_APPL.FA_ADJUSTMENTS.BOOK_TYPE_CODE,
FA_TRANSACTION_HEADERS2.DATE_EFFECTIVE) ) Between
Apps_FA_Util_Api.Get_Deprn_Period_Counter(APPS_APPL.FA_ADJUST
MENTS.book_type_code, @Prompt('Enter Start Period
Name:','A','Depreciation\Period Name',mono,free,persistent) ) AND
Apps_FA_Util_Api.Get_Deprn_Period_Counter(APPS_APPL.FA_ADJUST
MENTS.book_type_code, @Prompt('Enter End Period
Name:','A','Depreciation\Period Name',mono,free,persistent) )
Get Transactions Between a Period Range 
Filter gets the FA transactions done between a Period Range

SAV_FA_FINTRANS_INQUIRY_V.PERIOD_COUNTER Between
Apps_FA_Util_Api.Get_Deprn_Period_Counter(SAV_FA_FINTRANS_INQ
UIRY_V.book_type_code, @Prompt('Enter Start Period
Name:','A','Depreciation\Period Name',mono,free,persistent) ) AND
Apps_FA_Util_Api.Get_Deprn_Period_Counter(SAV_FA_FINTRANS_INQ
UIRY_V.book_type_code, @Prompt('Enter End Period
Name:','A','Depreciation\Period Name',mono,free,persistent) )

4 Oracle Views
View for Reclassifications, Transfers, Retirements,
Financial Inquiry. (View Scripts Enclosed)

5 Oracle Packages
The package scripts are available in the FA_Packages.rar file

Apps_FA_Util_API Has all the Functions and procedures associated to Fixed


Assets Area.
APPS_GL_CODE_COMB_UTIL_API Functions for Code String/Segments descriptions etc.
NOTE – The value_set_id is hard coded. It needs to be
changed based on the GL segments in use at your
company/organization.
In our Organization
Segment1 is used for Company,
Segment2 is used for Cost Center,
Segment3 is used for Main Account
Segment4 is used for Sub Account,
Segment5 is used for Project,
Segment6 is used for Region
Apps_HR_Util_Api.Get_Person_Name HR Related Functions
Apps_INV_Util_Api.Get_User_Name Inventory Related Functions

6 Tables to be created
SAV_FA_BOOK_ACCESS Table to grant access to the BO user to a particular FA
BOOK_TYPE_CODE VARCHAR2(15 BYTE), Book. Insert records into this table to grant access to FA
USER_ID VARCHAR2(30 BYTE)
books to a BO user.
Example HQ Book, IBAIG
XYZ Book, IBAIG
Which means IBAIG has access to 2 Fixed Asset Books.
SAV_FA_BO_RECONCILE_BY_CAT BEGIN
Table to populate data using a procedure. The table is --Apps_FA_Util_API.Calc_BO_EBS_Tot_For_CatGrp (
populated with data by category and year. book_type_code_, year_ );
--Populated the SAV_FA_BO_RECONCILE_BY_CAT
In the code given here the procedure populates data for table with Data for trend purpose in the reports
HQ BOOK for year 2012. Apps_FA_Util_API.Calc_BO_EBS_Tot_For_CatGrp (
'HQ BOOK', 2012 );
END
SAV_FA_BO_RECONCILE

7 Oracle Asset Register Query


---Below is a query used to Get Asset Register Values based at a particular point of Time. This is the query based on
which Filters were designed in the universe to get records from respective tables to get the cots, depreciation,
accumulated depreciation, ytd depreciation, net book value for reports like asset register etc.

Before proceeding further we need to understand the below query

SELECT bc.distribution_source_book dbk,


NVL (dp.period_close_date, SYSDATE) ucd,
dp.period_counter upc,
MIN (dp_fy.period_open_date) tod,
MIN (dp_fy.period_counter) tpc,
dp.period_num
FROM fa_deprn_periods dp, fa_deprn_periods dp_fy, fa_book_controls bc
WHERE dp.book_type_code = :book_type_code_
AND dp.period_name = :period_name_
AND dp_fy.book_type_code = :book_type_code_
AND dp_fy.fiscal_year = dp.fiscal_year
AND bc.book_type_code = :book_type_code_
GROUP BY bc.distribution_source_book, dp.period_close_date, dp.period_counter, dp.period_num;

The Query Returns


Book Name
Upper Period Counter DATE (UCD) is the period close
date from the fa_deprn_periods table. For the requested
query period.
Upper Period Counter (UPC) is period close counter
from fa_deprn_periods table. For the requested query
period.
Minimum period open Date of the year.
Minimum Period Counter of the year. Of the requested
query period

In the above Query the requested query period is – Nov-12

The Table taken into consideration for the asset register report are

FA_ASSET_HSTORY  to get the FA category and Asset account at a particular point of time based on the report
month.
FA_DISTRIBUTION_HIST  gets the location and GL segment associated with the distribution record at a particular
point of time.
FA_DEPRN_DETAIL  to get the Cost, period depreciation amount, accumulated depreciation, ytd depreciation.

Cost  cost

deprn_amount  DECODE (period_counter, :upc_, deprn_amount - bonus_deprn_amount, 0) based on the period


close counter (UPC) of the requested query/report period.

ytd_deprn  DECODE (SIGN (:tpc_ - period_counter), 1, 0, ytd_deprn - bonus_ytd_deprn) based on the


minimum period open counter of the year (UPC) of the requested query/report period.

deprn_reserve  deprn_reserve - bonus_deprn_reserve,

---------------------------------------------------------
---ORACLE ASSET REGISTER QUERY
--Parameters to the Query
--:UPC Upper period counter of the report/query month - period close date counter of the report/query Month
--:UCD Upper period date of the report/query month - period close date of the report/query Month
--:TPC Minimum Period open date counter of the year
--:TOD Minimum Period open date of the year.
---------------------------------------------------------
SELECT dh.asset_id asset_id,
dh.code_combination_id dh_ccid,
APPS_GL_CODE_COMB_UTIL_API.Get_Segment2(dh.code_combination_id) segment2,
cb.deprn_reserve_acct rsv_account,
books.date_placed_in_service start_date,
books.deprn_method_code method,
books.life_in_months life,
books.adjusted_rate rate,
books.production_capacity capacity,
dd_bonus.cost cost,
DECODE (dd_bonus.period_counter, :upc_, dd_bonus.deprn_amount - dd_bonus.bonus_deprn_amount, 0)
deprn_amount,
DECODE (SIGN (:tpc_ - dd_bonus.period_counter), 1, 0, dd_bonus.ytd_deprn - dd_bonus.bonus_ytd_deprn)
ytd_deprn,
dd_bonus.deprn_reserve - dd_bonus.bonus_deprn_reserve deprn_reserve,
DECODE (th.transaction_type_code, NULL, dh.units_assigned / ah.units * 100) percent,
DECODE (th.transaction_type_code,
NULL, DECODE (th_rt.transaction_type_code, 'FULL RETIREMENT', 'F', DECODE (books.depreciate_flag,
'NO', 'N')),
'TRANSFER', 'T',
'TRANSFER OUT', 'P',
'RECLASS', 'R')
t_type,
dd_bonus.period_counter,
NVL (th.date_effective, :ucd_),
''
FROM fa_deprn_detail dd_bonus,
fa_asset_history ah,
fa_transaction_headers th,
fa_transaction_headers th_rt,
fa_books books,
fa_distribution_history dh,
fa_category_books cb
WHERE cb.book_type_code = :book_
AND cb.category_id = ah.category_id
AND ah.asset_id = dh.asset_id
AND ah.date_effective < NVL (th.date_effective, :ucd_)
AND NVL (ah.date_ineffective, SYSDATE) >= NVL (th.date_effective, :ucd_)
AND -- AH.ASSET_TYPE = 'CAPITALIZED'
--AND
dd_bonus.book_type_code = :book_
AND dd_bonus.distribution_id = dh.distribution_id
AND dd_bonus.period_counter =
(SELECT MAX (dd_sub.period_counter)
FROM fa_deprn_detail dd_sub
WHERE dd_sub.book_type_code = :book_
AND dd_sub.asset_id = dh.asset_id
AND dd_sub.distribution_id = dh.distribution_id
AND dd_sub.period_counter <= :upc_)
AND th_rt.book_type_code = :book_
AND th_rt.transaction_header_id = books.transaction_header_id_in
AND books.book_type_code = :book_
AND books.asset_id = dh.asset_id
AND NVL (books.period_counter_fully_retired, :upc_) >= :tpc_
AND books.date_effective <= NVL (th.date_effective, :ucd_)
AND NVL (books.date_ineffective, SYSDATE + 1) > NVL (th.date_effective, :ucd_)
AND th.book_type_code(+) = :book_
AND th.transaction_header_id(+) = dh.transaction_header_id_out
AND th.date_effective(+) BETWEEN :tod_ AND :ucd_
AND dh.book_type_code = :book_
AND dh.date_effective <= :ucd_
AND NVL (dh.date_ineffective, SYSDATE) > :tod_
UNION ALL
SELECT dh.asset_id asset_id,
dh.code_combination_id dh_ccid,
APPS_GL_CODE_COMB_UTIL_API.Get_Segment2(dh.code_combination_id) segment2,
cb.bonus_deprn_reserve_acct rsv_account,
books.date_placed_in_service start_date,
books.deprn_method_code method,
books.life_in_months life,
books.adjusted_rate rate,
books.production_capacity capacity,
0 cost,
DECODE (dd.period_counter, :upc_, dd.bonus_deprn_amount, 0) deprn_amount,
DECODE (SIGN (:tpc_ - dd.period_counter), 1, 0, dd.bonus_ytd_deprn) ytd_deprn,
dd.bonus_deprn_reserve deprn_reserve,
0 percent,
'B' t_type,
dd.period_counter,
NVL (th.date_effective, :ucd_),
cb.bonus_deprn_expense_acct
FROM fa_deprn_detail dd,
fa_asset_history ah,
fa_transaction_headers th,
fa_transaction_headers th_rt,
fa_books books,
fa_distribution_history dh,
fa_category_books cb
WHERE cb.book_type_code = :book_
AND cb.category_id = ah.category_id
AND ah.asset_id = dh.asset_id
AND ah.date_effective < NVL (th.date_effective, :ucd_)
AND NVL (ah.date_ineffective, SYSDATE) >= NVL (th.date_effective, :ucd_)
AND --AH.ASSET_TYPE = 'CAPITALIZED'
--AND
dd.book_type_code = :book_
AND dd.distribution_id = dh.distribution_id
AND dd.period_counter =
(SELECT MAX (dd_sub.period_counter)
FROM fa_deprn_detail dd_sub
WHERE dd_sub.book_type_code = :book_
AND dd_sub.asset_id = dh.asset_id
AND dd_sub.distribution_id = dh.distribution_id
AND dd_sub.period_counter <= :upc_)
AND th_rt.book_type_code = :book_
AND th_rt.transaction_header_id = books.transaction_header_id_in
AND books.book_type_code = :book_
AND books.asset_id = dh.asset_id
AND NVL (books.period_counter_fully_retired, :upc_) >= :tpc_
AND books.date_effective <= NVL (th.date_effective, :ucd_)
AND NVL (books.date_ineffective, SYSDATE + 1) > NVL (th.date_effective, :ucd_)
AND books.bonus_rule IS NOT NULL
AND th.book_type_code(+) = :book_
AND th.transaction_header_id(+) = dh.transaction_header_id_out
AND th.date_effective(+) BETWEEN :tod_ AND :ucd_
AND dh.book_type_code = :book_
AND dh.date_effective <= :ucd_
AND NVL (dh.date_ineffective, SYSDATE) > :tod_
8 BO Asset Register Query

The filters in the above BO report are derived/based on the Oracle Asset Register query as explained above.

9 BO Reports and Their Description


FA Asset List By Location List of Assets by location and category
FA Asset Monthly Snapshot – Using Asset register, The values are calculated using data from the
DeprnDetnHist depreciation detail, asset history and distribution history Report gives
values at a point of time.

FA Asset Monthly Snapshot – Using Function Asset register, The values are calculated using oracle functions.
Depreciation Detail is not used here.
FA Asset Register – Using DeprnDetnHist Detail Asset information

FA Asset Register – Using Function


FA Invoice Details
FA Monthly Cost Summary – Using Report is for a Range of Period
DeprnDetnHist

FA Reclassification Asset Reclassification Report


FA Retirements Report FA Retirements Report
FA Transfers FA Retirements Report

10 References

www.apps2fusion.com

http://knoworacle.wordpress.com/2010/03/08/oracle-fixed-assets-useful-tables/

11 Files in the Document

 FA_universe_Doc (Word Document explaining the Universe)


 FA_Packages.rar (File containing the package scripts)

 FA_Views.sql (View Scripts)

 User.sql
 Fa_Temp_Tables.SQL

 FA_BIAR.BIAR (File has the universe and Reports)

You might also like