classifications asset transfer fa

10
Though Reclassification of Financial assets is just a function in Oracle asset, but have larger impact in reporting side for disclosure requirement. Reclassification and mass reclassification Reclassification of an asset is simply changing the category of an asset. Mass Reclassification is a feature that allows you to reclassify a group of assets from one asset category to another based on flexible selection criteria. Your flexiable flexible selection criteria may be either inherit the depreciation rules of the new category or retain depreciation rules of the old asset category. Also you have an option for an option to choose to amortize or expense any depreciation adjustment resulting from the reclassification. sounds Good:) Why its needed In Fixed asset module majority of time all assets are tracked for long-term assets. Time to time certain information needs to be changed as asset level thus reclassification serves the purpose of asset maintenance by enabling managers of the asset system to change asset details efficiently. so far i can figure out only two major reason which make qualifying for reclassification: Change asset accounting information Change asset depreciation information How many way you can do reclass: Oracle Assets also allows you to reclassify assets using any of the following methods: Asset Workbench: This option you can use the Asset Workbench to manually reclassify individual assets( it is just fliping the category).

Upload: yramesh77

Post on 18-Apr-2015

114 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Classifications Asset Transfer FA

Though Reclassification of Financial assets is just a function in Oracle asset, but have larger impact in reporting side for disclosure requirement.

Reclassification and mass reclassification

Reclassification of an asset is simply changing the category of an asset.

Mass Reclassification is a feature that allows you to reclassify a group of assets from one asset category to another based on flexible selection criteria. Your flexiable flexible selection criteria may be either inherit the depreciation rules of the new category or retain depreciation rules of the old asset category. Also you have an option for an option to choose to amortize or expense any depreciation adjustment resulting from the reclassification. sounds Good:)

Why its needed

In Fixed asset module majority of time all assets are tracked for long-term assets. Time to time certain information needs to be changed as asset level thus reclassification serves the purpose of asset maintenance by enabling managers of the asset system to change asset details efficiently. so far i can figure out only two major reason which make qualifying for reclassification:

Change asset accounting information Change asset depreciation information

How many way you can do reclass:

Oracle Assets also allows you to reclassify assets using any of the following methods:

Asset Workbench: This option you can use the Asset Workbench to manually reclassify individual assets( it is just fliping the category).

Mass Change: You can use the Mass Change process to reclassifying groups of assets selected by one or more ranges.

Reclassification API : If you have large number of asset,you can use API, see the details in following discussion.

Limitation

You cannot reclass an asset in a prior period and future period. You cannot reclass fully retired assets You cannot reclass asset associated with inactive employee.

Applicable

This is applicable for both CIP and capitalize asset

The Process of Reclassify of Financial Assets

Page 2: Classifications Asset Transfer FA

Navigation: Asset -> Asset WorkbenchFrom the Asset form, click on the Open option in the bottom of the form. From the Asset Details form ,place cursor in the category field andproceed to change the category or you can mass reclassification.

 

Reclassification Changes that Affect Accounts

Oracle Assets updates the depreciation expense account and transfers the cost and accumulated depreciation and reserve associated with the asset to the new category. In this process the depreciation rules which consist of Method , EUL and convention nothing get changed.

Depreciation expense already taken remains in the account associated with the old category. The system will charge current depreciation expense according to the newly defined category.

Accounting Treatment

Oracle Assets creates journal entries for the asset by using the accounts associated with the new category, including the depreciation expense account only in subsequent period, where no accounting entry get created in the period when it was added and reclassified

Original CategoryAsset Cost CRAccumulated Depreciation DR

Page 3: Classifications Asset Transfer FA

New CategoryAsset Cost DRAccumulated Depreciation CR

Example:

You reclassify an asset from office equipment to computers in Year 1, Quarter 3. The asset cost is $4,000, the life is 4 years, and you are using straight-line depreciation

Underline Reports

Oracle have two major report for Reclassification.

Asset Reclassification Report o Mass Reclassification Preview Report :The Mass Reclassification Preview Report

shows you the effect of the mass reclassification criteria you specified will have on your assets.

Asset Reclassification Reconciliation Report

Technical insight

These Oracle tables directly or indirectly involved with Reclassification or mass reclassification.

Page 4: Classifications Asset Transfer FA

1. The FA_MASS_RECLASS table stores asset selection and reclass criteria for mass reclassification requests.

2. The FA_MASS_RECLASS_ITF stores report results for Mass Reclass Preview3. FA_BOOK_CONTROLS table stores the depreciation book information

assigned to assets to be reclassed.4. FA_ADDITIONS table stores parameters for additions created by mass

reclassification process.5. FA_TRANSACTION_HEADERS & FA_DISTRIBUTION_HISTORY6. FA_CATEGORIES table is referenced for asset category information.7. FA_ASSET_KEYWORDS stores asset information classified by

FA_MASS_RECLASS.

What happen during the Reclassification

When you re-class an asset in the same period it was added, the following tables get updated

When you re-class an asset after the period it was added, Oracle Assets updates the following tables:

When you next run depreciation, the following tables are updated:

Page 5: Classifications Asset Transfer FA

Last article you have seen some insight functionlity for Fixed asset Reclass functionality and Business need.

Majority of time whenever there is merger/acquisitions or Instance consolidation exercise reclassification plays an important role specially when you as project team not allow any new category . Mapping all assets and aligning with Parent's company existing Category is major challenge depending volume of assets. The more challenge come to IT when you did not find right fitment for Mass reclassification native screen to cater the requirement quickly thus Reclass via API's Programmatically is good options indeed.

API availability for Reclass

You can use Reclass API that uses the FA_RECLASS_PUB.DO_RECLASS procedure

You can achieve

This API can also be used to automatically reclassify assets in all the tax books that are associated with the corporate book where the reclassification originated.

You can automatically reclassify assets to all of the reporting books when MRC is enabled and without generating any rounding issues.

Let take a quick look the API details and Usage part.

API Usage

Use this script :

1.   2. DECLARE 3.   4. l_count NUMBER;5. l_return_status VARCHAR2(100);6. l_msg_count NUMBER:= 0;7. l_msg_data VARCHAR2(4000);8. l_request_id NUMBER;9. reclass_err EXCEPTION;

Page 6: Classifications Asset Transfer FA

10. temp_str VARCHAR2(640);11. i NUMBER := 0;12. l_api_version CONSTANT NUMBER := 1.0;13. l_msg_list VARCHAR2(5) := FND_API.G_FALSE;14. l_commit_flag VARCHAR2(5) := FND_API.G_FALSE;15. l_validation_level VARCHAR2(5) := FND_API.G_VALID_LEVEL_FULL;16. l_debug_flag VARCHAR2(5) := FND_API.G_FALSE;17. l_calling_fn VARCHAR2(20) := 'Reclass Script';18. l_trans_rec FA_API_TYPES.trans_rec_type;19. l_asset_hdr_rec FA_API_TYPES.asset_hdr_rec_type;20. l_asset_cat_rec_new FA_API_TYPES.asset_cat_rec_type;21. l_recl_opt_rec FA_API_TYPES.reclass_options_rec_type;22.   23. ---- fetch and pass the asset id for asset which you want to

reclassify24.   25. l_asset_id NUMBER := TO_NUMBER(<asset_id>); 26.   27. ---- fetch and pass the target category id for asset which you want to

reclassify28.   29. l_category_id NUMBER := TO_NUMBER('<new_category_id>');30. -- select the options YES or NO and flag depending upon how you want

to copy the DFF's31.   32. l_copy_desc_flag VARCHAR2(3) :=

UPPER(SUBSTR('copy_category_desc_YES_NO',1,3));33. l_redefault_flag VARCHAR2(3) :=

UPPER(SUBSTR('redef_deprn_rule_YES_NO',1,3));34.   35. BEGIN 36. DBMS_OUTPUT .disable;37. DBMS_OUTPUT .enable(1000000);38. DBMS_OUTPUT .put_line('------***begin*****------');39. fa_srvr_msg.init_server_message;40. fa_debug_pkg.set_debug_flag(debug_flag => 'YES');41. DBMS_OUTPUT .put_line('.');42.   43. -- Get standard who info...use APP INITIALIZATION44.   45. l_request_id := fnd_global.conc_request_id;46. fnd_profile.get('LOGIN_ID', l_trans_rec.who_info.last_update_login);47. fnd_profile.get('USER_ID', l_trans_rec.who_info.last_updated_by);48.   49. IF (l_trans_rec.who_info.last_updated_by IS NULL) THEN50. l_trans_rec.who_info.last_updated_by := -1;51. END IF;52. IF (l_trans_rec.who_info.last_update_login IS NULL) THEN53. l_trans_rec.who_info.last_update_login := -1;54. END IF;55.   56. l_trans_rec.who_info.last_update_date := SYSDATE;57. l_trans_rec.who_info.creation_date :=

l_trans_rec.who_info.last_update_date;58. l_trans_rec.who_info.created_by :=

l_trans_rec.who_info.last_updated_by;59. l_asset_hdr_rec.asset_id := l_asset_id;

Page 7: Classifications Asset Transfer FA

60. l_asset_cat_rec_new.category_id := l_category_id;61. l_recl_opt_rec.copy_cat_desc_flag := l_copy_desc_flag;62. l_recl_opt_rec.redefault_flag := l_redefault_flag;63.   64. DBMS_OUTPUT .put_line('calling FA_RECLASS_PUB.do_reclass');65.   66. FA_RECLASS_PUB.do_reclass (67. -- std parameters68. p_api_version => l_api_version,69. p_init_msg_list => l_msg_list,70. p_commit => l_commit_flag,71. p_validation_level => l_validation_level,72. p_calling_fn => l_calling_fn,73. x_return_status => l_return_status,74. x_msg_count => l_msg_count,75. x_msg_data => l_msg_data,76. -- api parameters77. px_trans_rec => l_trans_rec,78. px_asset_hdr_rec => l_asset_hdr_rec,79. px_asset_cat_rec_new => l_asset_cat_rec_new,80. p_recl_opt_rec => l_recl_opt_rec );81.   82. DBMS_OUTPUT .put_line('l_return_status '||l_return_status);83.   84. IF l_return_status = 'E' THEN l_msg_count := fnd_msg_pub.count_msg;85.   86. IF (l_msg_count > 0) THEN87.   88. DBMS_OUTPUT .put_line('l_msg_count '||to_char(l_msg_count));89.   90. temp_str := SUBSTR(fnd_msg_pub.get(fnd_msg_pub.G_FIRST,

fnd_api.G_FALSE), 1, 230);91.   92. DBMS_OUTPUT .put_line(temp_str);93.   94. temp_str:= NULL;95.   96. FOR I IN 1..(l_msg_count -1) LOOP97. temp_str := fnd_msg_pub.get(fnd_msg_pub.G_NEXT, fnd_api.G_FALSE);98. DBMS_OUTPUT .put_line(temp_str);99. END LOOP;100.   101. ELSE 102.   103. DBMS_OUTPUT .put_line('dump: NO MESSAGE !');104.   105. END IF;106.   107. RETURN ;108.   109. END IF;110. fa_srvr_msg.add_message111. ( calling_fn => 'TOAD SCRIPT',112. name => 'FA_SHARED_END_SUCCESS',113. token1 => 'PROGRAM',114. value1 => 'FA_RECLASS_PUB.do_reclass');115. EXCEPTION

Page 8: Classifications Asset Transfer FA

116. WHEN reclass_err THEN117. ROLLBACK WORK;118. fa_srvr_msg.add_message(119. calling_fn => 'TOAD SCRIPT',120. name => 'FA_SHARED_PROGRAM_FAILED',121. token1 => 'PROGRAM',122. value1 => 'FA_RECLASS_PUB.do_reclass');123.   124. l_msg_count := fnd_msg_pub.count_msg;125. IF (l_msg_count > 0) THEN126. temp_str := fnd_msg_pub.get(fnd_msg_pub.G_FIRST, fnd_api.G_FALSE);127. DBMS_OUTPUT .put_line('dump: ' || temp_str);128. FOR I IN 1..(l_msg_count -1) LOOP129. temp_str := fnd_msg_pub.get(fnd_msg_pub.G_NEXT, fnd_api.G_FALSE);130. DBMS_OUTPUT .put_line('dump: ' || temp_str);131. END LOOP;132. ELSE 133. DBMS_OUTPUT .put_line('dump: NO MESSAGE !');134. END IF;135. END ;136.