转自huan.gu专栏:http://blog.csdn.net/gh320/article/details/17059893
01.--完全报废
02.DECLARE
03.
04. l_trans_rec fa_api_types.trans_rec_type;
05. l_dist_trans_rec fa_api_types.trans_rec_type;
06. l_asset_hdr_rec fa_api_types.asset_hdr_rec_type;
07. l_asset_retire_rec fa_api_types.asset_retire_rec_type;
08. l_asset_dist_tbl fa_api_types.asset_dist_tbl_type;
09. l_subcomp_tbl fa_api_types.subcomp_tbl_type;
10. l_inv_tbl fa_api_types.inv_tbl_type;
11.
12. l_return_status VARCHAR2(1);
13. l_mesg_count NUMBER;
14. l_mesg VARCHAR2(4000);
15.
16.BEGIN
17. --初始化
18. dbms_output.enable(1000000);
19.
20. fa_srvr_msg.init_server_message;
21.
22. -- Get standard who info
23. --资产id
24. l_asset_hdr_rec.asset_id := 418;
25. --账簿
26. l_asset_hdr_rec.book_type_code := 'FA_BOOK_01';
27. --报废成本
28. l_asset_retire_rec.cost_retired := 1;
29. l_asset_retire_rec.calculate_gain_loss := fnd_api.g_false;
30.
31. fa_retirement_pub.do_retirement(
32. -- std parameters
33. p_api_version => 1.0,
34. p_init_msg_list => fnd_api.g_false,
35. p_commit => fnd_api.g_false,
36. p_validation_level => fnd_api.g_valid_level_full,
37. p_calling_fn => NULL,
38. x_return_status => l_return_status,
39. x_msg_count => l_mesg_count,
40. x_msg_data => l_mesg,
41. -- api parameters
42. px_trans_rec => l_trans_rec,
43. px_dist_trans_rec => l_dist_trans_rec,
44. px_asset_hdr_rec => l_asset_hdr_rec,
45. px_asset_retire_rec => l_asset_retire_rec,
46. p_asset_dist_tbl => l_asset_dist_tbl,
47. p_subcomp_tbl => l_subcomp_tbl,
48. p_inv_tbl => l_inv_tbl);
49. --dump messages
50. l_mesg_count := fnd_msg_pub.count_msg;
51.
52. IF l_mesg_count > 0 THEN
53.
54. l_mesg := chr(10) ||
55. substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false),
56. 1,
57. 250);
58. dbms_output.put_line(l_mesg);
59.
60. FOR i IN 1 .. (l_mesg_count - 1) LOOP
61. l_mesg := substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false),
62. 1,
63. 250);
64.
65. dbms_output.put_line(l_mesg);
66. END LOOP;
67.
68. fnd_msg_pub.delete_msg();
69.
70. END IF;
71.
72. IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
73. dbms_output.put_line('FAILURE');
74. ROLLBACK;
75. ELSE
76. dbms_output.put_line('SUCCESS');
77. dbms_output.put_line('RETIREMENT_ID' ||
78. to_char(l_asset_retire_rec.retirement_id));
79. END IF;
80.
81.END;