固定資産の調整分配インターフェース
4293 ワード
huang.guのコラムから回転します。http://blog.csdn.net/gh320/article/details/17059863
01./*( :1:
02.2: , )*/
03.DECLARE
04. l_return_status VARCHAR2(1);
05. l_msg_count NUMBER := 0;
06. l_msg_data VARCHAR2(4000);
07. l_trans_rec fa_api_types.trans_rec_type;
08. l_asset_hdr_rec fa_api_types.asset_hdr_rec_type;
09. l_asset_dist_tbl fa_api_types.asset_dist_tbl_type;
10. temp_str VARCHAR2(512);
11.BEGIN
12. --
13. fnd_profile.put('PRINT_DEBUG', 'Y');
14. dbms_output.enable(1000000);
15. fa_srvr_msg.init_server_message;
16. fa_debug_pkg.initialize;
17. -- fill in asset information
18. -- id
19. l_asset_hdr_rec.asset_id := 418;
20. --
21. l_asset_hdr_rec.book_type_code := 'FA_BOOK_01';
22.
23. -- transaction date must be filled in if performing
24. -- prior period transfer
25. --l_trans_rec.transaction_date_entered := to_date('01-JAN-1999 10:54:22', 'dd-mon-yyyy hh24:mi:ss');
26.
27. --
28. l_asset_dist_tbl.delete;
29. /*
30. fill in distribution data for existing distribution lines
31. affected by this transfer txn. Note: You need to fill in
32. only affected distribution lines.
33. For source distribution, you must fill in either existing
34. distribution id or 2 columns(expense_ccid,location_ccid) or
35. 3-tuple columns(assigned_to,expense_ccid,and location_ccid)
36. depending on the makeup of the particular distribution
37. of the asset.
38. */
39. l_asset_dist_tbl(1).distribution_id := 22001; ----- ID
40. l_asset_dist_tbl(1).transaction_units := -1; ----
41. /*
42. either above 2 lines or below 4 lines must be provided
43. for source distribution:
44. --
45. l_asset_dist_tbl(1).transaction_units := -2;
46. -- id
47. l_asset_dist_tbl(1).assigned_to := 11;
48. -- id
49. l_asset_dist_tbl(1).expense_ccid :=15338;
50. -- id
51. l_asset_dist_tbl(1).location_ccid := 3; */
52. -- fill in dist info for destination distribution
53. l_asset_dist_tbl(2).transaction_units := 2; ----
54. l_asset_dist_tbl(2).assigned_to := 61; ---
55. l_asset_dist_tbl(2).expense_ccid := 14001; --CODE_COMBINATION_ID; ----
56. l_asset_dist_tbl(2).location_ccid := 1; --LOCATION_ID; -----
57.
58. l_trans_rec.who_info.last_updated_by := 1330; --FND_GLOBAL.USER_ID;
59. l_trans_rec.who_info.last_update_login := 14001; --FND_GLOBAL.LOGIN_ID;
60.
61. fa_transfer_pub.do_transfer(1.0,
62. fnd_api.g_false,
63. fnd_api.g_false,
64. fnd_api.g_valid_level_full,
65. NULL,
66. l_return_status,
67. l_msg_count,
68. l_msg_data,
69. l_trans_rec,
70. l_asset_hdr_rec,
71. l_asset_dist_tbl);
72. IF (l_return_status != fnd_api.g_ret_sts_success) THEN
73.
74. dbms_output.put_line('TRANSFER failed!.');
75. l_msg_count := fnd_msg_pub.count_msg;
76.
77. IF (l_msg_count > 0) THEN
78. temp_str := substr(fnd_msg_pub.get(fnd_msg_pub.g_first,
79. fnd_api.g_false),
80. 1,
81. 512);
82. dbms_output.put_line('Error: ' || temp_str);
83. FOR i IN 1 .. (l_msg_count - 1) LOOP
84. temp_str := substr(fnd_msg_pub.get(fnd_msg_pub.g_next,
85. fnd_api.g_false),
86. 1,
87. 512);
88. dbms_output.put_line('Error: ' || temp_str);
89. END LOOP;
90. END IF;
91. ELSE
92. dbms_output.put_line('TRANSFER completed successfully!');
93. dbms_output.put_line('THID = ' ||
94. to_char(l_trans_rec.transaction_header_id));
95. END IF;
96. fnd_msg_pub.delete_msg();
97.
98.END;