固定资产新增接口
转自huan.gu专栏:http://blog.csdn.net/gh320/article/details/17059661
01.DECLARE 02. 03. l_trans_rec fa_api_types.trans_rec_type; 04. l_dist_trans_rec fa_api_types.trans_rec_type; 05. l_asset_hdr_rec fa_api_types.asset_hdr_rec_type; 06. l_asset_desc_rec fa_api_types.asset_desc_rec_type; 07. l_asset_cat_rec fa_api_types.asset_cat_rec_type; 08. l_asset_type_rec fa_api_types.asset_type_rec_type; 09. l_asset_hierarchy_rec fa_api_types.asset_hierarchy_rec_type; 10. l_asset_fin_rec fa_api_types.asset_fin_rec_type; 11. l_asset_deprn_rec fa_api_types.asset_deprn_rec_type; 12. l_asset_dist_rec fa_api_types.asset_dist_rec_type; 13. l_asset_dist_tbl fa_api_types.asset_dist_tbl_type; 14. l_inv_tbl fa_api_types.inv_tbl_type; 15. l_inv_rate_tbl fa_api_types.inv_rate_tbl_type; 16. 17. l_return_status VARCHAR2(1); 18. l_mesg_count NUMBER; 19. l_mesg VARCHAR2(4000); 20. 21.BEGIN 22. --初始化 23. dbms_output.enable(10000000); 24. 25. fa_srvr_msg.init_server_message; 26. 27. --资产基础信息 28. -- desc info 29. --资产编号(不传值系统会自动将asset_id赋过来) 30. l_asset_desc_rec.asset_number := 'GH_TEST004'; 31. --资产说明 32. l_asset_desc_rec.description := 'TEST'; 33. --资产关键字组合代码标识 34. l_asset_desc_rec.asset_key_ccid := 1; 35. 36. --资产类别信息 37. -- cat info 38. --资产类别代码组合标识 39. l_asset_cat_rec.category_id := 1; 40. 41. --资产类型信息 42. --type info 43. --资产类型 44. l_asset_type_rec.asset_type := 'CAPITALIZED'; 45. 46. --财务信息 47. -- fin info 48. --资产成本 49. l_asset_fin_rec.cost := 1; 50. --资产新增日期 51. l_asset_fin_rec.date_placed_in_service := to_date('2013-03-13', 52. 'YYYY/MM/DD'); 53. 54. l_asset_fin_rec.depreciate_flag := 'YES'; 55. 56. --折旧信息 57. -- deprn info 58. --折旧信息 59. l_asset_deprn_rec.ytd_deprn := 0; 60. l_asset_deprn_rec.deprn_reserve := 0; 61. l_asset_deprn_rec.bonus_ytd_deprn := 0; 62. l_asset_deprn_rec.bonus_deprn_reserve := 0; 63. 64. --账簿及分配信息 65. -- book / trans info 66. --账簿 67. l_asset_hdr_rec.book_type_code := 'FA_BOOK_01'; 68. --分配日期 69. l_trans_rec.transaction_date_entered := l_asset_fin_rec.date_placed_in_service; 70. -- distribution info 71. --分配数量 72. l_asset_dist_rec.units_assigned := 1; 73. --费用账户id 74. l_asset_dist_rec.expense_ccid := 14001; 75. --地点组合代码标识id 76. l_asset_dist_rec.location_ccid := 1; 77. --员工id 78. l_asset_dist_rec.assigned_to := 61; 79. --调整数量 80. l_asset_dist_rec.transaction_units := l_asset_dist_rec.units_assigned; 81. l_asset_dist_tbl(1) := l_asset_dist_rec; 82. 83. -- call the api 84. fa_addition_pub.do_addition( 85. -- std parameters 86. p_api_version => 1.0, 87. p_init_msg_list => fnd_api.g_false, 88. p_commit => fnd_api.g_false, 89. p_validation_level => fnd_api.g_valid_level_full, 90. p_calling_fn => NULL, 91. x_return_status => l_return_status, 92. x_msg_count => l_mesg_count, 93. x_msg_data => l_mesg, 94. -- api parameters 95. px_trans_rec => l_trans_rec, 96. px_dist_trans_rec => l_dist_trans_rec, 97. px_asset_hdr_rec => l_asset_hdr_rec, 98. px_asset_desc_rec => l_asset_desc_rec, 99. px_asset_type_rec => l_asset_type_rec, 100. px_asset_cat_rec => l_asset_cat_rec, 101. px_asset_hierarchy_rec => l_asset_hierarchy_rec, 102. px_asset_fin_rec => l_asset_fin_rec, 103. px_asset_deprn_rec => l_asset_deprn_rec, 104. px_asset_dist_tbl => l_asset_dist_tbl, 105. px_inv_tbl => l_inv_tbl); 106. --dump messages 107. l_mesg_count := fnd_msg_pub.count_msg; 108. 109. IF l_mesg_count > 0 THEN 110. 111. l_mesg := chr(10) || 112. substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false), 113. 1, 114. 250); 115. dbms_output.put_line(l_mesg); 116. 117. FOR i IN 1 .. (l_mesg_count - 1) LOOP 118. l_mesg := substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false), 119. 1, 120. 250); 121. 122. dbms_output.put_line(l_mesg); 123. END LOOP; 124. 125. fnd_msg_pub.delete_msg(); 126. 127. END IF; 128. 129. IF (l_return_status <> fnd_api.g_ret_sts_success) THEN 130. dbms_output.put_line('FAILURE'); 131. ELSE 132. dbms_output.put_line('SUCCESS'); 133. dbms_output.put_line('THID:' || 134. to_char(l_trans_rec.transaction_header_id)); 135. dbms_output.put_line('ASSET_ID:' || to_char(l_asset_hdr_rec.asset_id)); 136. dbms_output.put_line('ASSET_NUMBER:' || l_asset_desc_rec.asset_number); 137. END IF; 138. 139.END;