[Home] [Help]
PACKAGE BODY: APPS.OKL_LIKE_KIND_EXCHANGE_PVT_W
Source
1 package body okl_like_kind_exchange_pvt_w as
2 /* $Header: OKLELKXB.pls 120.1 2005/07/11 14:18:23 asawanka noship $ */
3 rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4 rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5
6 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7 function rosetta_g_miss_date_in_map(d date) return date as
8 begin
9 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10 return d;
11 end;
12
13 function rosetta_g_miss_num_map(n number) return number as
14 a number := fnd_api.g_miss_num;
15 b number := 0-1962.0724;
16 begin
17 if n=a then return b; end if;
18 if n=b then return a; end if;
19 return n;
20 end;
21
22 procedure rosetta_table_copy_in_p3(t out nocopy okl_like_kind_exchange_pvt.rep_asset_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_VARCHAR2_TABLE_2000
24 , a2 JTF_VARCHAR2_TABLE_2000
25 , a3 JTF_NUMBER_TABLE
26 , a4 JTF_NUMBER_TABLE
27 , a5 JTF_NUMBER_TABLE
28 , a6 JTF_DATE_TABLE
29 , a7 JTF_VARCHAR2_TABLE_2000
30 , a8 JTF_NUMBER_TABLE
31 ) as
32 ddindx binary_integer; indx binary_integer;
33 begin
34 if a0 is not null and a0.count > 0 then
35 if a0.count > 0 then
36 indx := a0.first;
37 ddindx := 1;
38 while true loop
39 t(ddindx).rep_asset_id := rosetta_g_miss_num_map(a0(indx));
40 t(ddindx).rep_asset_number := a1(indx);
41 t(ddindx).book_type_code := a2(indx);
42 t(ddindx).asset_category_id := rosetta_g_miss_num_map(a3(indx));
43 t(ddindx).original_cost := rosetta_g_miss_num_map(a4(indx));
44 t(ddindx).current_cost := rosetta_g_miss_num_map(a5(indx));
45 t(ddindx).date_placed_in_service := rosetta_g_miss_date_in_map(a6(indx));
46 t(ddindx).deprn_method := a7(indx);
47 t(ddindx).life_in_months := rosetta_g_miss_num_map(a8(indx));
48 ddindx := ddindx+1;
49 if a0.last =indx
50 then exit;
51 end if;
52 indx := a0.next(indx);
53 end loop;
54 end if;
55 end if;
56 end rosetta_table_copy_in_p3;
57 procedure rosetta_table_copy_out_p3(t okl_like_kind_exchange_pvt.rep_asset_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
58 , a1 out nocopy JTF_VARCHAR2_TABLE_2000
59 , a2 out nocopy JTF_VARCHAR2_TABLE_2000
60 , a3 out nocopy JTF_NUMBER_TABLE
61 , a4 out nocopy JTF_NUMBER_TABLE
62 , a5 out nocopy JTF_NUMBER_TABLE
63 , a6 out nocopy JTF_DATE_TABLE
64 , a7 out nocopy JTF_VARCHAR2_TABLE_2000
65 , a8 out nocopy JTF_NUMBER_TABLE
66 ) as
67 ddindx binary_integer; indx binary_integer;
68 begin
69 if t is null or t.count = 0 then
70 a0 := JTF_NUMBER_TABLE();
71 a1 := JTF_VARCHAR2_TABLE_2000();
72 a2 := JTF_VARCHAR2_TABLE_2000();
73 a3 := JTF_NUMBER_TABLE();
74 a4 := JTF_NUMBER_TABLE();
75 a5 := JTF_NUMBER_TABLE();
76 a6 := JTF_DATE_TABLE();
77 a7 := JTF_VARCHAR2_TABLE_2000();
78 a8 := JTF_NUMBER_TABLE();
79 else
80 a0 := JTF_NUMBER_TABLE();
81 a1 := JTF_VARCHAR2_TABLE_2000();
82 a2 := JTF_VARCHAR2_TABLE_2000();
83 a3 := JTF_NUMBER_TABLE();
84 a4 := JTF_NUMBER_TABLE();
85 a5 := JTF_NUMBER_TABLE();
86 a6 := JTF_DATE_TABLE();
87 a7 := JTF_VARCHAR2_TABLE_2000();
88 a8 := JTF_NUMBER_TABLE();
89 if t.count > 0 then
90 a0.extend(t.count);
91 a1.extend(t.count);
92 a2.extend(t.count);
93 a3.extend(t.count);
94 a4.extend(t.count);
95 a5.extend(t.count);
96 a6.extend(t.count);
97 a7.extend(t.count);
98 a8.extend(t.count);
99 ddindx := t.first;
100 indx := 1;
101 while true loop
102 a0(indx) := rosetta_g_miss_num_map(t(ddindx).rep_asset_id);
103 a1(indx) := t(ddindx).rep_asset_number;
104 a2(indx) := t(ddindx).book_type_code;
105 a3(indx) := rosetta_g_miss_num_map(t(ddindx).asset_category_id);
106 a4(indx) := rosetta_g_miss_num_map(t(ddindx).original_cost);
107 a5(indx) := rosetta_g_miss_num_map(t(ddindx).current_cost);
108 a6(indx) := t(ddindx).date_placed_in_service;
109 a7(indx) := t(ddindx).deprn_method;
110 a8(indx) := rosetta_g_miss_num_map(t(ddindx).life_in_months);
111 indx := indx+1;
112 if t.last =ddindx
113 then exit;
114 end if;
115 ddindx := t.next(ddindx);
116 end loop;
117 end if;
118 end if;
119 end rosetta_table_copy_out_p3;
120
121 procedure rosetta_table_copy_in_p4(t out nocopy okl_like_kind_exchange_pvt.req_asset_tbl_type, a0 JTF_NUMBER_TABLE
122 , a1 JTF_VARCHAR2_TABLE_2000
123 , a2 JTF_VARCHAR2_TABLE_2000
124 , a3 JTF_NUMBER_TABLE
125 , a4 JTF_NUMBER_TABLE
126 , a5 JTF_DATE_TABLE
127 , a6 JTF_NUMBER_TABLE
128 , a7 JTF_NUMBER_TABLE
129 , a8 JTF_NUMBER_TABLE
130 , a9 JTF_NUMBER_TABLE
131 , a10 JTF_NUMBER_TABLE
132 ) as
133 ddindx binary_integer; indx binary_integer;
134 begin
135 if a0 is not null and a0.count > 0 then
136 if a0.count > 0 then
137 indx := a0.first;
138 ddindx := 1;
139 while true loop
140 t(ddindx).req_asset_id := rosetta_g_miss_num_map(a0(indx));
141 t(ddindx).req_asset_number := a1(indx);
142 t(ddindx).book_type_code := a2(indx);
143 t(ddindx).asset_category_id := rosetta_g_miss_num_map(a3(indx));
144 t(ddindx).original_cost := rosetta_g_miss_num_map(a4(indx));
145 t(ddindx).date_retired := rosetta_g_miss_date_in_map(a5(indx));
146 t(ddindx).proceeds_of_sale := rosetta_g_miss_num_map(a6(indx));
147 t(ddindx).gain_loss_amount := rosetta_g_miss_num_map(a7(indx));
148 t(ddindx).balance_sale_proceeds := rosetta_g_miss_num_map(a8(indx));
149 t(ddindx).balance_gain_loss := rosetta_g_miss_num_map(a9(indx));
150 t(ddindx).match_amount := rosetta_g_miss_num_map(a10(indx));
151 ddindx := ddindx+1;
152 if a0.last =indx
153 then exit;
154 end if;
155 indx := a0.next(indx);
156 end loop;
157 end if;
158 end if;
159 end rosetta_table_copy_in_p4;
160 procedure rosetta_table_copy_out_p4(t okl_like_kind_exchange_pvt.req_asset_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
161 , a1 out nocopy JTF_VARCHAR2_TABLE_2000
162 , a2 out nocopy JTF_VARCHAR2_TABLE_2000
163 , a3 out nocopy JTF_NUMBER_TABLE
164 , a4 out nocopy JTF_NUMBER_TABLE
165 , a5 out nocopy JTF_DATE_TABLE
166 , a6 out nocopy JTF_NUMBER_TABLE
167 , a7 out nocopy JTF_NUMBER_TABLE
168 , a8 out nocopy JTF_NUMBER_TABLE
169 , a9 out nocopy JTF_NUMBER_TABLE
170 , a10 out nocopy JTF_NUMBER_TABLE
171 ) as
172 ddindx binary_integer; indx binary_integer;
173 begin
174 if t is null or t.count = 0 then
175 a0 := JTF_NUMBER_TABLE();
176 a1 := JTF_VARCHAR2_TABLE_2000();
177 a2 := JTF_VARCHAR2_TABLE_2000();
178 a3 := JTF_NUMBER_TABLE();
179 a4 := JTF_NUMBER_TABLE();
180 a5 := JTF_DATE_TABLE();
181 a6 := JTF_NUMBER_TABLE();
182 a7 := JTF_NUMBER_TABLE();
183 a8 := JTF_NUMBER_TABLE();
184 a9 := JTF_NUMBER_TABLE();
185 a10 := JTF_NUMBER_TABLE();
186 else
187 a0 := JTF_NUMBER_TABLE();
188 a1 := JTF_VARCHAR2_TABLE_2000();
189 a2 := JTF_VARCHAR2_TABLE_2000();
190 a3 := JTF_NUMBER_TABLE();
191 a4 := JTF_NUMBER_TABLE();
192 a5 := JTF_DATE_TABLE();
193 a6 := JTF_NUMBER_TABLE();
194 a7 := JTF_NUMBER_TABLE();
195 a8 := JTF_NUMBER_TABLE();
196 a9 := JTF_NUMBER_TABLE();
197 a10 := JTF_NUMBER_TABLE();
198 if t.count > 0 then
199 a0.extend(t.count);
200 a1.extend(t.count);
201 a2.extend(t.count);
202 a3.extend(t.count);
203 a4.extend(t.count);
204 a5.extend(t.count);
205 a6.extend(t.count);
206 a7.extend(t.count);
207 a8.extend(t.count);
208 a9.extend(t.count);
209 a10.extend(t.count);
210 ddindx := t.first;
211 indx := 1;
212 while true loop
213 a0(indx) := rosetta_g_miss_num_map(t(ddindx).req_asset_id);
214 a1(indx) := t(ddindx).req_asset_number;
215 a2(indx) := t(ddindx).book_type_code;
216 a3(indx) := rosetta_g_miss_num_map(t(ddindx).asset_category_id);
217 a4(indx) := rosetta_g_miss_num_map(t(ddindx).original_cost);
218 a5(indx) := t(ddindx).date_retired;
219 a6(indx) := rosetta_g_miss_num_map(t(ddindx).proceeds_of_sale);
220 a7(indx) := rosetta_g_miss_num_map(t(ddindx).gain_loss_amount);
221 a8(indx) := rosetta_g_miss_num_map(t(ddindx).balance_sale_proceeds);
222 a9(indx) := rosetta_g_miss_num_map(t(ddindx).balance_gain_loss);
223 a10(indx) := rosetta_g_miss_num_map(t(ddindx).match_amount);
224 indx := indx+1;
225 if t.last =ddindx
226 then exit;
227 end if;
228 ddindx := t.next(ddindx);
229 end loop;
230 end if;
231 end if;
232 end rosetta_table_copy_out_p4;
233
234 procedure create_like_kind_exchange(p_api_version NUMBER
235 , p_init_msg_list VARCHAR2
236 , x_return_status out nocopy VARCHAR2
237 , x_msg_count out nocopy NUMBER
238 , x_msg_data out nocopy VARCHAR2
239 , p_corporate_book VARCHAR2
240 , p_tax_book VARCHAR2
241 , p_comments VARCHAR2
242 , p9_a0 JTF_NUMBER_TABLE
243 , p9_a1 JTF_VARCHAR2_TABLE_2000
244 , p9_a2 JTF_VARCHAR2_TABLE_2000
245 , p9_a3 JTF_NUMBER_TABLE
246 , p9_a4 JTF_NUMBER_TABLE
247 , p9_a5 JTF_DATE_TABLE
248 , p9_a6 JTF_NUMBER_TABLE
249 , p9_a7 JTF_NUMBER_TABLE
250 , p9_a8 JTF_NUMBER_TABLE
251 , p9_a9 JTF_NUMBER_TABLE
252 , p9_a10 JTF_NUMBER_TABLE
253 , p8_a0 NUMBER := 0-1962.0724
254 , p8_a1 VARCHAR2 := fnd_api.g_miss_char
255 , p8_a2 VARCHAR2 := fnd_api.g_miss_char
256 , p8_a3 NUMBER := 0-1962.0724
257 , p8_a4 NUMBER := 0-1962.0724
258 , p8_a5 NUMBER := 0-1962.0724
259 , p8_a6 DATE := fnd_api.g_miss_date
260 , p8_a7 VARCHAR2 := fnd_api.g_miss_char
261 , p8_a8 NUMBER := 0-1962.0724
262 )
263
264 as
265 ddp_rep_asset_rec okl_like_kind_exchange_pvt.rep_asset_rec_type;
266 ddp_req_asset_tbl okl_like_kind_exchange_pvt.req_asset_tbl_type;
267 ddindx binary_integer; indx binary_integer;
268 begin
269
270 -- copy data to the local IN or IN-OUT args, if any
271
272
273
274
275
276
277
278
279 ddp_rep_asset_rec.rep_asset_id := rosetta_g_miss_num_map(p8_a0);
280 ddp_rep_asset_rec.rep_asset_number := p8_a1;
281 ddp_rep_asset_rec.book_type_code := p8_a2;
282 ddp_rep_asset_rec.asset_category_id := rosetta_g_miss_num_map(p8_a3);
283 ddp_rep_asset_rec.original_cost := rosetta_g_miss_num_map(p8_a4);
284 ddp_rep_asset_rec.current_cost := rosetta_g_miss_num_map(p8_a5);
285 ddp_rep_asset_rec.date_placed_in_service := rosetta_g_miss_date_in_map(p8_a6);
286 ddp_rep_asset_rec.deprn_method := p8_a7;
287 ddp_rep_asset_rec.life_in_months := rosetta_g_miss_num_map(p8_a8);
288
289 okl_like_kind_exchange_pvt_w.rosetta_table_copy_in_p4(ddp_req_asset_tbl, p9_a0
290 , p9_a1
291 , p9_a2
292 , p9_a3
293 , p9_a4
294 , p9_a5
295 , p9_a6
296 , p9_a7
297 , p9_a8
298 , p9_a9
299 , p9_a10
300 );
301
302 -- here's the delegated call to the old PL/SQL routine
303 okl_like_kind_exchange_pvt.create_like_kind_exchange(p_api_version,
304 p_init_msg_list,
305 x_return_status,
306 x_msg_count,
307 x_msg_data,
308 p_corporate_book,
309 p_tax_book,
310 p_comments,
311 ddp_rep_asset_rec,
312 ddp_req_asset_tbl);
313
314 -- copy data back from the local variables to OUT or IN-OUT args, if any
315
316
317
318
319
320
321
322
323
324 end;
325
326 end okl_like_kind_exchange_pvt_w;