[Home] [Help]
PACKAGE BODY: APPS.OKL_BTCH_CASH_APPLIC_W
Source
1 package body okl_btch_cash_applic_w as
2 /* $Header: OKLEBAPB.pls 120.4 2007/09/28 06:48:21 varangan ship $ */
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 rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6 rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7
8 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9 function rosetta_g_miss_date_in_map(d date) return date as
10 begin
11 if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12 if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13 return d;
14 end;
15
16 function rosetta_g_miss_num_map(n number) return number as
17 a number := fnd_api.g_miss_num;
18 b number := 0-1962.0724;
19 begin
20 if n=a then return b; end if;
21 if n=b then return a; end if;
22 return n;
23 end;
24
25 procedure rosetta_table_copy_in_p13(t out nocopy okl_btch_cash_applic.okl_btch_dtls_tbl_type, a0 JTF_NUMBER_TABLE
26 , a1 JTF_NUMBER_TABLE
27 , a2 JTF_NUMBER_TABLE
28 , a3 JTF_VARCHAR2_TABLE_100
29 , a4 JTF_VARCHAR2_TABLE_100
30 , a5 JTF_VARCHAR2_TABLE_100
31 , a6 JTF_VARCHAR2_TABLE_100
32 , a7 JTF_DATE_TABLE
33 , a8 JTF_NUMBER_TABLE
34 , a9 JTF_NUMBER_TABLE
35 , a10 JTF_NUMBER_TABLE
36 , a11 JTF_NUMBER_TABLE
37 , a12 JTF_VARCHAR2_TABLE_200
38 , a13 JTF_NUMBER_TABLE
39 , a14 JTF_VARCHAR2_TABLE_100
40 , a15 JTF_VARCHAR2_TABLE_100
41 , a16 JTF_VARCHAR2_TABLE_200
42 , a17 JTF_VARCHAR2_TABLE_200
43 , a18 JTF_VARCHAR2_TABLE_200
44 , a19 JTF_VARCHAR2_TABLE_200
45 , a20 JTF_VARCHAR2_TABLE_200
46 , a21 JTF_VARCHAR2_TABLE_200
47 , a22 JTF_VARCHAR2_TABLE_200
48 , a23 JTF_VARCHAR2_TABLE_200
49 , a24 JTF_VARCHAR2_TABLE_200
50 , a25 JTF_VARCHAR2_TABLE_200
51 , a26 JTF_VARCHAR2_TABLE_200
52 , a27 JTF_VARCHAR2_TABLE_200
53 , a28 JTF_VARCHAR2_TABLE_200
54 , a29 JTF_VARCHAR2_TABLE_200
55 , a30 JTF_VARCHAR2_TABLE_200
56 ) as
57 ddindx binary_integer; indx binary_integer;
58 begin
59 if a0 is not null and a0.count > 0 then
60 if a0.count > 0 then
61 indx := a0.first;
62 ddindx := 1;
63 while true loop
64 t(ddindx).id := rosetta_g_miss_num_map(a0(indx));
65 t(ddindx).irm_id := rosetta_g_miss_num_map(a1(indx));
66 t(ddindx).btc_id := rosetta_g_miss_num_map(a2(indx));
67 t(ddindx).btc_status := a3(indx);
68 t(ddindx).consolidated_invoice_number := a4(indx);
69 t(ddindx).currency_code := a5(indx);
70 t(ddindx).check_number := a6(indx);
71 t(ddindx).receipt_date := rosetta_g_miss_date_in_map(a7(indx));
72 t(ddindx).amount := rosetta_g_miss_num_map(a8(indx));
73 t(ddindx).ile_id := rosetta_g_miss_num_map(a9(indx));
74 t(ddindx).consolidated_invoice_id := rosetta_g_miss_num_map(a10(indx));
78 t(ddindx).customer_number := a14(indx);
75 t(ddindx).khr_id := rosetta_g_miss_num_map(a11(indx));
76 t(ddindx).contract_number := a12(indx);
77 t(ddindx).ar_invoice_id := rosetta_g_miss_num_map(a13(indx));
79 t(ddindx).dff_attribute_category := a15(indx);
80 t(ddindx).dff_attribute1 := a16(indx);
81 t(ddindx).dff_attribute2 := a17(indx);
82 t(ddindx).dff_attribute3 := a18(indx);
83 t(ddindx).dff_attribute4 := a19(indx);
84 t(ddindx).dff_attribute5 := a20(indx);
85 t(ddindx).dff_attribute6 := a21(indx);
86 t(ddindx).dff_attribute7 := a22(indx);
87 t(ddindx).dff_attribute8 := a23(indx);
88 t(ddindx).dff_attribute9 := a24(indx);
89 t(ddindx).dff_attribute10 := a25(indx);
90 t(ddindx).dff_attribute11 := a26(indx);
91 t(ddindx).dff_attribute12 := a27(indx);
92 t(ddindx).dff_attribute13 := a28(indx);
93 t(ddindx).dff_attribute14 := a29(indx);
94 t(ddindx).dff_attribute15 := a30(indx);
95 ddindx := ddindx+1;
96 if a0.last =indx
97 then exit;
98 end if;
99 indx := a0.next(indx);
100 end loop;
101 end if;
102 end if;
103 end rosetta_table_copy_in_p13;
104 procedure rosetta_table_copy_out_p13(t okl_btch_cash_applic.okl_btch_dtls_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
105 , a1 out nocopy JTF_NUMBER_TABLE
106 , a2 out nocopy JTF_NUMBER_TABLE
107 , a3 out nocopy JTF_VARCHAR2_TABLE_100
108 , a4 out nocopy JTF_VARCHAR2_TABLE_100
109 , a5 out nocopy JTF_VARCHAR2_TABLE_100
110 , a6 out nocopy JTF_VARCHAR2_TABLE_100
111 , a7 out nocopy JTF_DATE_TABLE
112 , a8 out nocopy JTF_NUMBER_TABLE
113 , a9 out nocopy JTF_NUMBER_TABLE
114 , a10 out nocopy JTF_NUMBER_TABLE
115 , a11 out nocopy JTF_NUMBER_TABLE
116 , a12 out nocopy JTF_VARCHAR2_TABLE_200
117 , a13 out nocopy JTF_NUMBER_TABLE
118 , a14 out nocopy JTF_VARCHAR2_TABLE_100
119 , a15 out nocopy JTF_VARCHAR2_TABLE_100
120 , a16 out nocopy JTF_VARCHAR2_TABLE_200
121 , a17 out nocopy JTF_VARCHAR2_TABLE_200
122 , a18 out nocopy JTF_VARCHAR2_TABLE_200
123 , a19 out nocopy JTF_VARCHAR2_TABLE_200
124 , a20 out nocopy JTF_VARCHAR2_TABLE_200
125 , a21 out nocopy JTF_VARCHAR2_TABLE_200
126 , a22 out nocopy JTF_VARCHAR2_TABLE_200
127 , a23 out nocopy JTF_VARCHAR2_TABLE_200
128 , a24 out nocopy JTF_VARCHAR2_TABLE_200
129 , a25 out nocopy JTF_VARCHAR2_TABLE_200
130 , a26 out nocopy JTF_VARCHAR2_TABLE_200
131 , a27 out nocopy JTF_VARCHAR2_TABLE_200
132 , a28 out nocopy JTF_VARCHAR2_TABLE_200
133 , a29 out nocopy JTF_VARCHAR2_TABLE_200
134 , a30 out nocopy JTF_VARCHAR2_TABLE_200
135 ) as
136 ddindx binary_integer; indx binary_integer;
137 begin
138 if t is null or t.count = 0 then
139 a0 := JTF_NUMBER_TABLE();
140 a1 := JTF_NUMBER_TABLE();
141 a2 := JTF_NUMBER_TABLE();
142 a3 := JTF_VARCHAR2_TABLE_100();
143 a4 := JTF_VARCHAR2_TABLE_100();
144 a5 := JTF_VARCHAR2_TABLE_100();
145 a6 := JTF_VARCHAR2_TABLE_100();
146 a7 := JTF_DATE_TABLE();
147 a8 := JTF_NUMBER_TABLE();
148 a9 := JTF_NUMBER_TABLE();
149 a10 := JTF_NUMBER_TABLE();
150 a11 := JTF_NUMBER_TABLE();
151 a12 := JTF_VARCHAR2_TABLE_200();
152 a13 := JTF_NUMBER_TABLE();
153 a14 := JTF_VARCHAR2_TABLE_100();
154 a15 := JTF_VARCHAR2_TABLE_100();
155 a16 := JTF_VARCHAR2_TABLE_200();
156 a17 := JTF_VARCHAR2_TABLE_200();
157 a18 := JTF_VARCHAR2_TABLE_200();
158 a19 := JTF_VARCHAR2_TABLE_200();
159 a20 := JTF_VARCHAR2_TABLE_200();
160 a21 := JTF_VARCHAR2_TABLE_200();
161 a22 := JTF_VARCHAR2_TABLE_200();
162 a23 := JTF_VARCHAR2_TABLE_200();
163 a24 := JTF_VARCHAR2_TABLE_200();
164 a25 := JTF_VARCHAR2_TABLE_200();
165 a26 := JTF_VARCHAR2_TABLE_200();
166 a27 := JTF_VARCHAR2_TABLE_200();
167 a28 := JTF_VARCHAR2_TABLE_200();
168 a29 := JTF_VARCHAR2_TABLE_200();
169 a30 := JTF_VARCHAR2_TABLE_200();
170 else
171 a0 := JTF_NUMBER_TABLE();
172 a1 := JTF_NUMBER_TABLE();
173 a2 := JTF_NUMBER_TABLE();
174 a3 := JTF_VARCHAR2_TABLE_100();
175 a4 := JTF_VARCHAR2_TABLE_100();
176 a5 := JTF_VARCHAR2_TABLE_100();
177 a6 := JTF_VARCHAR2_TABLE_100();
178 a7 := JTF_DATE_TABLE();
179 a8 := JTF_NUMBER_TABLE();
180 a9 := JTF_NUMBER_TABLE();
181 a10 := JTF_NUMBER_TABLE();
182 a11 := JTF_NUMBER_TABLE();
183 a12 := JTF_VARCHAR2_TABLE_200();
184 a13 := JTF_NUMBER_TABLE();
185 a14 := JTF_VARCHAR2_TABLE_100();
186 a15 := JTF_VARCHAR2_TABLE_100();
187 a16 := JTF_VARCHAR2_TABLE_200();
188 a17 := JTF_VARCHAR2_TABLE_200();
189 a18 := JTF_VARCHAR2_TABLE_200();
190 a19 := JTF_VARCHAR2_TABLE_200();
191 a20 := JTF_VARCHAR2_TABLE_200();
192 a21 := JTF_VARCHAR2_TABLE_200();
193 a22 := JTF_VARCHAR2_TABLE_200();
194 a23 := JTF_VARCHAR2_TABLE_200();
195 a24 := JTF_VARCHAR2_TABLE_200();
196 a25 := JTF_VARCHAR2_TABLE_200();
197 a26 := JTF_VARCHAR2_TABLE_200();
198 a27 := JTF_VARCHAR2_TABLE_200();
199 a28 := JTF_VARCHAR2_TABLE_200();
200 a29 := JTF_VARCHAR2_TABLE_200();
201 a30 := JTF_VARCHAR2_TABLE_200();
202 if t.count > 0 then
203 a0.extend(t.count);
204 a1.extend(t.count);
205 a2.extend(t.count);
206 a3.extend(t.count);
207 a4.extend(t.count);
208 a5.extend(t.count);
209 a6.extend(t.count);
213 a10.extend(t.count);
210 a7.extend(t.count);
211 a8.extend(t.count);
212 a9.extend(t.count);
214 a11.extend(t.count);
215 a12.extend(t.count);
216 a13.extend(t.count);
217 a14.extend(t.count);
218 a15.extend(t.count);
219 a16.extend(t.count);
220 a17.extend(t.count);
221 a18.extend(t.count);
222 a19.extend(t.count);
223 a20.extend(t.count);
224 a21.extend(t.count);
225 a22.extend(t.count);
226 a23.extend(t.count);
227 a24.extend(t.count);
228 a25.extend(t.count);
229 a26.extend(t.count);
230 a27.extend(t.count);
231 a28.extend(t.count);
232 a29.extend(t.count);
233 a30.extend(t.count);
234 ddindx := t.first;
235 indx := 1;
236 while true loop
237 a0(indx) := rosetta_g_miss_num_map(t(ddindx).id);
238 a1(indx) := rosetta_g_miss_num_map(t(ddindx).irm_id);
239 a2(indx) := rosetta_g_miss_num_map(t(ddindx).btc_id);
240 a3(indx) := t(ddindx).btc_status;
241 a4(indx) := t(ddindx).consolidated_invoice_number;
242 a5(indx) := t(ddindx).currency_code;
243 a6(indx) := t(ddindx).check_number;
244 a7(indx) := t(ddindx).receipt_date;
245 a8(indx) := rosetta_g_miss_num_map(t(ddindx).amount);
246 a9(indx) := rosetta_g_miss_num_map(t(ddindx).ile_id);
247 a10(indx) := rosetta_g_miss_num_map(t(ddindx).consolidated_invoice_id);
248 a11(indx) := rosetta_g_miss_num_map(t(ddindx).khr_id);
249 a12(indx) := t(ddindx).contract_number;
250 a13(indx) := rosetta_g_miss_num_map(t(ddindx).ar_invoice_id);
251 a14(indx) := t(ddindx).customer_number;
252 a15(indx) := t(ddindx).dff_attribute_category;
253 a16(indx) := t(ddindx).dff_attribute1;
254 a17(indx) := t(ddindx).dff_attribute2;
255 a18(indx) := t(ddindx).dff_attribute3;
256 a19(indx) := t(ddindx).dff_attribute4;
257 a20(indx) := t(ddindx).dff_attribute5;
258 a21(indx) := t(ddindx).dff_attribute6;
259 a22(indx) := t(ddindx).dff_attribute7;
260 a23(indx) := t(ddindx).dff_attribute8;
261 a24(indx) := t(ddindx).dff_attribute9;
262 a25(indx) := t(ddindx).dff_attribute10;
263 a26(indx) := t(ddindx).dff_attribute11;
264 a27(indx) := t(ddindx).dff_attribute12;
265 a28(indx) := t(ddindx).dff_attribute13;
266 a29(indx) := t(ddindx).dff_attribute14;
267 a30(indx) := t(ddindx).dff_attribute15;
268 indx := indx+1;
269 if t.last =ddindx
270 then exit;
271 end if;
272 ddindx := t.next(ddindx);
273 end loop;
274 end if;
275 end if;
276 end rosetta_table_copy_out_p13;
277
278 procedure handle_batch_pay(p_api_version NUMBER
279 , p_init_msg_list VARCHAR2
280 , x_return_status out nocopy VARCHAR2
281 , x_msg_count out nocopy NUMBER
282 , x_msg_data out nocopy VARCHAR2
283 , p5_a0 JTF_NUMBER_TABLE
284 , p5_a1 JTF_NUMBER_TABLE
285 , p5_a2 JTF_NUMBER_TABLE
286 , p5_a3 JTF_VARCHAR2_TABLE_100
287 , p5_a4 JTF_VARCHAR2_TABLE_100
288 , p5_a5 JTF_VARCHAR2_TABLE_100
289 , p5_a6 JTF_VARCHAR2_TABLE_100
290 , p5_a7 JTF_DATE_TABLE
291 , p5_a8 JTF_NUMBER_TABLE
292 , p5_a9 JTF_NUMBER_TABLE
293 , p5_a10 JTF_NUMBER_TABLE
294 , p5_a11 JTF_NUMBER_TABLE
295 , p5_a12 JTF_VARCHAR2_TABLE_200
296 , p5_a13 JTF_NUMBER_TABLE
297 , p5_a14 JTF_VARCHAR2_TABLE_100
298 , p5_a15 JTF_VARCHAR2_TABLE_100
299 , p5_a16 JTF_VARCHAR2_TABLE_200
300 , p5_a17 JTF_VARCHAR2_TABLE_200
301 , p5_a18 JTF_VARCHAR2_TABLE_200
302 , p5_a19 JTF_VARCHAR2_TABLE_200
303 , p5_a20 JTF_VARCHAR2_TABLE_200
304 , p5_a21 JTF_VARCHAR2_TABLE_200
305 , p5_a22 JTF_VARCHAR2_TABLE_200
306 , p5_a23 JTF_VARCHAR2_TABLE_200
307 , p5_a24 JTF_VARCHAR2_TABLE_200
308 , p5_a25 JTF_VARCHAR2_TABLE_200
309 , p5_a26 JTF_VARCHAR2_TABLE_200
310 , p5_a27 JTF_VARCHAR2_TABLE_200
311 , p5_a28 JTF_VARCHAR2_TABLE_200
312 , p5_a29 JTF_VARCHAR2_TABLE_200
313 , p5_a30 JTF_VARCHAR2_TABLE_200
314 , p6_a0 out nocopy JTF_NUMBER_TABLE
315 , p6_a1 out nocopy JTF_NUMBER_TABLE
316 , p6_a2 out nocopy JTF_NUMBER_TABLE
317 , p6_a3 out nocopy JTF_VARCHAR2_TABLE_100
318 , p6_a4 out nocopy JTF_VARCHAR2_TABLE_100
319 , p6_a5 out nocopy JTF_VARCHAR2_TABLE_100
320 , p6_a6 out nocopy JTF_VARCHAR2_TABLE_100
321 , p6_a7 out nocopy JTF_DATE_TABLE
322 , p6_a8 out nocopy JTF_NUMBER_TABLE
323 , p6_a9 out nocopy JTF_NUMBER_TABLE
324 , p6_a10 out nocopy JTF_NUMBER_TABLE
325 , p6_a11 out nocopy JTF_NUMBER_TABLE
326 , p6_a12 out nocopy JTF_VARCHAR2_TABLE_200
327 , p6_a13 out nocopy JTF_NUMBER_TABLE
328 , p6_a14 out nocopy JTF_VARCHAR2_TABLE_100
329 , p6_a15 out nocopy JTF_VARCHAR2_TABLE_100
330 , p6_a16 out nocopy JTF_VARCHAR2_TABLE_200
331 , p6_a17 out nocopy JTF_VARCHAR2_TABLE_200
332 , p6_a18 out nocopy JTF_VARCHAR2_TABLE_200
333 , p6_a19 out nocopy JTF_VARCHAR2_TABLE_200
334 , p6_a20 out nocopy JTF_VARCHAR2_TABLE_200
335 , p6_a21 out nocopy JTF_VARCHAR2_TABLE_200
336 , p6_a22 out nocopy JTF_VARCHAR2_TABLE_200
337 , p6_a23 out nocopy JTF_VARCHAR2_TABLE_200
338 , p6_a24 out nocopy JTF_VARCHAR2_TABLE_200
339 , p6_a25 out nocopy JTF_VARCHAR2_TABLE_200
340 , p6_a26 out nocopy JTF_VARCHAR2_TABLE_200
341 , p6_a27 out nocopy JTF_VARCHAR2_TABLE_200
342 , p6_a28 out nocopy JTF_VARCHAR2_TABLE_200
343 , p6_a29 out nocopy JTF_VARCHAR2_TABLE_200
344 , p6_a30 out nocopy JTF_VARCHAR2_TABLE_200
345 )
346
347 as
348 ddp_btch_tbl okl_btch_cash_applic.okl_btch_dtls_tbl_type;
349 ddx_btch_tbl okl_btch_cash_applic.okl_btch_dtls_tbl_type;
350 ddindx binary_integer; indx binary_integer;
351 begin
352
353 -- copy data to the local IN or IN-OUT args, if any
354
355
356
357
358
359 okl_btch_cash_applic_w.rosetta_table_copy_in_p13(ddp_btch_tbl, p5_a0
360 , p5_a1
361 , p5_a2
362 , p5_a3
363 , p5_a4
364 , p5_a5
365 , p5_a6
366 , p5_a7
367 , p5_a8
368 , p5_a9
369 , p5_a10
370 , p5_a11
371 , p5_a12
372 , p5_a13
373 , p5_a14
374 , p5_a15
375 , p5_a16
376 , p5_a17
377 , p5_a18
378 , p5_a19
379 , p5_a20
380 , p5_a21
381 , p5_a22
382 , p5_a23
383 , p5_a24
384 , p5_a25
385 , p5_a26
386 , p5_a27
387 , p5_a28
388 , p5_a29
389 , p5_a30
390 );
391
392
393 -- here's the delegated call to the old PL/SQL routine
394 okl_btch_cash_applic.handle_batch_pay(p_api_version,
395 p_init_msg_list,
396 x_return_status,
397 x_msg_count,
398 x_msg_data,
399 ddp_btch_tbl,
400 ddx_btch_tbl);
401
402 -- copy data back from the local variables to OUT or IN-OUT args, if any
403
404
405
406
407
408
409 okl_btch_cash_applic_w.rosetta_table_copy_out_p13(ddx_btch_tbl, p6_a0
410 , p6_a1
411 , p6_a2
412 , p6_a3
413 , p6_a4
414 , p6_a5
415 , p6_a6
416 , p6_a7
417 , p6_a8
418 , p6_a9
419 , p6_a10
420 , p6_a11
421 , p6_a12
422 , p6_a13
423 , p6_a14
424 , p6_a15
425 , p6_a16
426 , p6_a17
427 , p6_a18
428 , p6_a19
429 , p6_a20
430 , p6_a21
431 , p6_a22
432 , p6_a23
433 , p6_a24
434 , p6_a25
435 , p6_a26
436 , p6_a27
437 , p6_a28
438 , p6_a29
439 , p6_a30
440 );
441 end;
442
443 end okl_btch_cash_applic_w;