DBA Data[Home] [Help]
Skip to content

PACKAGE BODY: APPS.OKL_MASS_REBOOK_PUB_W

Source


1 package body okl_mass_rebook_pub_w as
2   /* $Header: OKLUMRPB.pls 115.2 2004/02/27 19:05:11 dedey 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_p16(t out nocopy okl_mass_rebook_pub.crit_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_VARCHAR2_TABLE_100
24     , a2 JTF_VARCHAR2_TABLE_200
25     , a3 JTF_VARCHAR2_TABLE_200
26     , a4 JTF_VARCHAR2_TABLE_200
27     , a5 JTF_VARCHAR2_TABLE_200
28     ) as
29     ddindx binary_integer; indx binary_integer;
30   begin
31   if a0 is not null and a0.count > 0 then
32       if a0.count > 0 then
33         indx := a0.first;
34         ddindx := 1;
35         while true loop
36           t(ddindx).line_number := rosetta_g_miss_num_map(a0(indx));
37           t(ddindx).criteria_code := a1(indx);
38           t(ddindx).operand := a2(indx);
39           t(ddindx).criteria_value1 := a3(indx);
40           t(ddindx).criteria_value2 := a4(indx);
41           t(ddindx).set_value := a5(indx);
42           ddindx := ddindx+1;
43           if a0.last =indx
44             then exit;
45           end if;
46           indx := a0.next(indx);
47         end loop;
48       end if;
49    end if;
50   end rosetta_table_copy_in_p16;
51   procedure rosetta_table_copy_out_p16(t okl_mass_rebook_pub.crit_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
52     , a1 out nocopy JTF_VARCHAR2_TABLE_100
53     , a2 out nocopy JTF_VARCHAR2_TABLE_200
54     , a3 out nocopy JTF_VARCHAR2_TABLE_200
55     , a4 out nocopy JTF_VARCHAR2_TABLE_200
56     , a5 out nocopy JTF_VARCHAR2_TABLE_200
57     ) as
58     ddindx binary_integer; indx binary_integer;
59   begin
60   if t is null or t.count = 0 then
61     a0 := JTF_NUMBER_TABLE();
62     a1 := JTF_VARCHAR2_TABLE_100();
63     a2 := JTF_VARCHAR2_TABLE_200();
64     a3 := JTF_VARCHAR2_TABLE_200();
65     a4 := JTF_VARCHAR2_TABLE_200();
66     a5 := JTF_VARCHAR2_TABLE_200();
67   else
68       a0 := JTF_NUMBER_TABLE();
69       a1 := JTF_VARCHAR2_TABLE_100();
70       a2 := JTF_VARCHAR2_TABLE_200();
71       a3 := JTF_VARCHAR2_TABLE_200();
72       a4 := JTF_VARCHAR2_TABLE_200();
73       a5 := JTF_VARCHAR2_TABLE_200();
74       if t.count > 0 then
75         a0.extend(t.count);
76         a1.extend(t.count);
77         a2.extend(t.count);
78         a3.extend(t.count);
79         a4.extend(t.count);
80         a5.extend(t.count);
81         ddindx := t.first;
82         indx := 1;
83         while true loop
84           a0(indx) := rosetta_g_miss_num_map(t(ddindx).line_number);
85           a1(indx) := t(ddindx).criteria_code;
86           a2(indx) := t(ddindx).operand;
87           a3(indx) := t(ddindx).criteria_value1;
88           a4(indx) := t(ddindx).criteria_value2;
89           a5(indx) := t(ddindx).set_value;
90           indx := indx+1;
91           if t.last =ddindx
92             then exit;
93           end if;
94           ddindx := t.next(ddindx);
95         end loop;
96       end if;
97    end if;
98   end rosetta_table_copy_out_p16;
99 
100   procedure build_and_get_contracts(p_api_version  NUMBER
101     , p_init_msg_list  VARCHAR2
102     , x_return_status out nocopy  VARCHAR2
103     , x_msg_count out nocopy  NUMBER
104     , x_msg_data out nocopy  VARCHAR2
105     , p_request_name  VARCHAR2
106     , p6_a0 JTF_NUMBER_TABLE
107     , p6_a1 JTF_VARCHAR2_TABLE_600
108     , p6_a2 JTF_NUMBER_TABLE
109     , p6_a3 JTF_VARCHAR2_TABLE_100
110     , p6_a4 JTF_VARCHAR2_TABLE_100
111     , p6_a5 JTF_VARCHAR2_TABLE_100
112     , p6_a6 JTF_VARCHAR2_TABLE_600
113     , p6_a7 JTF_VARCHAR2_TABLE_600
114     , p6_a8 JTF_VARCHAR2_TABLE_600
115     , p6_a9 JTF_VARCHAR2_TABLE_2000
116     , p6_a10 JTF_VARCHAR2_TABLE_100
117     , p6_a11 JTF_VARCHAR2_TABLE_100
118     , p6_a12 JTF_VARCHAR2_TABLE_500
119     , p6_a13 JTF_VARCHAR2_TABLE_500
120     , p6_a14 JTF_VARCHAR2_TABLE_500
121     , p6_a15 JTF_VARCHAR2_TABLE_500
122     , p6_a16 JTF_VARCHAR2_TABLE_500
123     , p6_a17 JTF_VARCHAR2_TABLE_500
124     , p6_a18 JTF_VARCHAR2_TABLE_500
125     , p6_a19 JTF_VARCHAR2_TABLE_500
126     , p6_a20 JTF_VARCHAR2_TABLE_500
127     , p6_a21 JTF_VARCHAR2_TABLE_500
128     , p6_a22 JTF_VARCHAR2_TABLE_500
129     , p6_a23 JTF_VARCHAR2_TABLE_500
130     , p6_a24 JTF_VARCHAR2_TABLE_500
131     , p6_a25 JTF_VARCHAR2_TABLE_500
132     , p6_a26 JTF_VARCHAR2_TABLE_500
133     , p6_a27 JTF_NUMBER_TABLE
134     , p6_a28 JTF_DATE_TABLE
135     , p6_a29 JTF_NUMBER_TABLE
136     , p6_a30 JTF_DATE_TABLE
137     , p6_a31 JTF_NUMBER_TABLE
138     , p7_a0 out nocopy JTF_NUMBER_TABLE
139     , p7_a1 out nocopy JTF_VARCHAR2_TABLE_200
140     , p7_a2 out nocopy JTF_NUMBER_TABLE
141     , p7_a3 out nocopy JTF_VARCHAR2_TABLE_200
142     , p7_a4 out nocopy JTF_VARCHAR2_TABLE_600
143     , p7_a5 out nocopy JTF_NUMBER_TABLE
144     , p7_a6 out nocopy JTF_NUMBER_TABLE
145     , p7_a7 out nocopy JTF_VARCHAR2_TABLE_100
146     , p7_a8 out nocopy JTF_VARCHAR2_TABLE_100
147     , p7_a9 out nocopy JTF_VARCHAR2_TABLE_100
148     , p7_a10 out nocopy JTF_VARCHAR2_TABLE_500
149     , p7_a11 out nocopy JTF_VARCHAR2_TABLE_500
150     , p7_a12 out nocopy JTF_VARCHAR2_TABLE_500
151     , p7_a13 out nocopy JTF_VARCHAR2_TABLE_500
152     , p7_a14 out nocopy JTF_VARCHAR2_TABLE_500
153     , p7_a15 out nocopy JTF_VARCHAR2_TABLE_500
154     , p7_a16 out nocopy JTF_VARCHAR2_TABLE_500
155     , p7_a17 out nocopy JTF_VARCHAR2_TABLE_500
156     , p7_a18 out nocopy JTF_VARCHAR2_TABLE_500
157     , p7_a19 out nocopy JTF_VARCHAR2_TABLE_500
158     , p7_a20 out nocopy JTF_VARCHAR2_TABLE_500
159     , p7_a21 out nocopy JTF_VARCHAR2_TABLE_500
160     , p7_a22 out nocopy JTF_VARCHAR2_TABLE_500
161     , p7_a23 out nocopy JTF_VARCHAR2_TABLE_500
162     , p7_a24 out nocopy JTF_VARCHAR2_TABLE_500
163     , p7_a25 out nocopy JTF_NUMBER_TABLE
164     , p7_a26 out nocopy JTF_DATE_TABLE
165     , p7_a27 out nocopy JTF_NUMBER_TABLE
166     , p7_a28 out nocopy JTF_DATE_TABLE
167     , p7_a29 out nocopy JTF_NUMBER_TABLE
168     , p7_a30 out nocopy JTF_DATE_TABLE
169     , x_rbk_count out nocopy  NUMBER
170   )
171 
172   as
173     ddp_mrbv_tbl okl_mass_rebook_pub.mrbv_tbl_type;
174     ddx_mstv_tbl okl_mass_rebook_pub.mstv_tbl_type;
175     ddindx binary_integer; indx binary_integer;
176   begin
177 
178     -- copy data to the local IN or IN-OUT args, if any
179 
180 
181 
182 
183 
184 
185     okl_mrb_pvt_w.rosetta_table_copy_in_p2(ddp_mrbv_tbl, p6_a0
186       , p6_a1
187       , p6_a2
188       , p6_a3
189       , p6_a4
190       , p6_a5
191       , p6_a6
192       , p6_a7
193       , p6_a8
194       , p6_a9
195       , p6_a10
196       , p6_a11
197       , p6_a12
198       , p6_a13
199       , p6_a14
200       , p6_a15
201       , p6_a16
202       , p6_a17
203       , p6_a18
204       , p6_a19
205       , p6_a20
206       , p6_a21
207       , p6_a22
208       , p6_a23
209       , p6_a24
210       , p6_a25
211       , p6_a26
212       , p6_a27
213       , p6_a28
214       , p6_a29
215       , p6_a30
216       , p6_a31
217       );
218 
219 
220 
221     -- here's the delegated call to the old PL/SQL routine
222     okl_mass_rebook_pub.build_and_get_contracts(p_api_version,
223       p_init_msg_list,
224       x_return_status,
225       x_msg_count,
226       x_msg_data,
227       p_request_name,
228       ddp_mrbv_tbl,
229       ddx_mstv_tbl,
230       x_rbk_count);
231 
232     -- copy data back from the local variables to OUT or IN-OUT args, if any
233 
234 
235 
236 
237 
238 
239 
240     okl_mst_pvt_w.rosetta_table_copy_out_p2(ddx_mstv_tbl, p7_a0
241       , p7_a1
242       , p7_a2
243       , p7_a3
244       , p7_a4
245       , p7_a5
246       , p7_a6
247       , p7_a7
248       , p7_a8
249       , p7_a9
250       , p7_a10
251       , p7_a11
252       , p7_a12
253       , p7_a13
254       , p7_a14
255       , p7_a15
256       , p7_a16
257       , p7_a17
258       , p7_a18
259       , p7_a19
260       , p7_a20
261       , p7_a21
262       , p7_a22
263       , p7_a23
264       , p7_a24
265       , p7_a25
266       , p7_a26
267       , p7_a27
268       , p7_a28
269       , p7_a29
270       , p7_a30
271       );
272 
273   end;
274 
275   procedure apply_mass_rebook(p_api_version  NUMBER
276     , p_init_msg_list  VARCHAR2
277     , x_return_status out nocopy  VARCHAR2
278     , x_msg_count out nocopy  NUMBER
279     , x_msg_data out nocopy  VARCHAR2
280     , p5_a0 JTF_NUMBER_TABLE
281     , p5_a1 JTF_VARCHAR2_TABLE_200
282     , p5_a2 JTF_NUMBER_TABLE
283     , p5_a3 JTF_VARCHAR2_TABLE_600
284     , p_deprn_method_code  VARCHAR2
285     , p_in_service_date  date
286     , p_life_in_months  NUMBER
287     , p_basic_rate  NUMBER
288     , p_adjusted_rate  NUMBER
289     , p_residual_value  NUMBER
290     , p12_a0 JTF_NUMBER_TABLE
291     , p12_a1 JTF_NUMBER_TABLE
292     , p12_a2 JTF_VARCHAR2_TABLE_500
293     , p12_a3 JTF_VARCHAR2_TABLE_500
294     , p12_a4 JTF_VARCHAR2_TABLE_500
295     , p12_a5 JTF_VARCHAR2_TABLE_500
296     , p12_a6 JTF_VARCHAR2_TABLE_500
297     , p12_a7 JTF_VARCHAR2_TABLE_500
298     , p12_a8 JTF_VARCHAR2_TABLE_500
299     , p12_a9 JTF_VARCHAR2_TABLE_500
300     , p12_a10 JTF_VARCHAR2_TABLE_500
301     , p12_a11 JTF_VARCHAR2_TABLE_500
302     , p12_a12 JTF_VARCHAR2_TABLE_500
303     , p12_a13 JTF_VARCHAR2_TABLE_500
304     , p12_a14 JTF_VARCHAR2_TABLE_500
305     , p12_a15 JTF_VARCHAR2_TABLE_500
306     , p12_a16 JTF_VARCHAR2_TABLE_500
307     , p12_a17 JTF_VARCHAR2_TABLE_100
308     , p12_a18 JTF_VARCHAR2_TABLE_100
309     , p12_a19 JTF_VARCHAR2_TABLE_200
310     , p12_a20 JTF_VARCHAR2_TABLE_100
311     , p12_a21 JTF_VARCHAR2_TABLE_200
312     , p12_a22 JTF_VARCHAR2_TABLE_100
313     , p12_a23 JTF_VARCHAR2_TABLE_200
314     , p12_a24 JTF_VARCHAR2_TABLE_100
315     , p12_a25 JTF_VARCHAR2_TABLE_100
316     , p12_a26 JTF_VARCHAR2_TABLE_100
317   )
318 
319   as
320     ddp_rbk_tbl okl_mass_rebook_pub.rbk_tbl_type;
321     ddp_in_service_date date;
322     ddp_strm_lalevl_tbl okl_mass_rebook_pub.strm_lalevl_tbl_type;
323     ddindx binary_integer; indx binary_integer;
324   begin
325 
326     -- copy data to the local IN or IN-OUT args, if any
327 
328 
329 
330 
331 
332     okl_mass_rebook_pvt_w.rosetta_table_copy_in_p33(ddp_rbk_tbl, p5_a0
333       , p5_a1
334       , p5_a2
335       , p5_a3
336       );
337 
338 
339     ddp_in_service_date := rosetta_g_miss_date_in_map(p_in_service_date);
340 
341 
342 
343 
344 
345     okl_mass_rebook_pvt_w.rosetta_table_copy_in_p35(ddp_strm_lalevl_tbl, p12_a0
346       , p12_a1
347       , p12_a2
348       , p12_a3
349       , p12_a4
350       , p12_a5
351       , p12_a6
352       , p12_a7
353       , p12_a8
354       , p12_a9
355       , p12_a10
356       , p12_a11
357       , p12_a12
358       , p12_a13
359       , p12_a14
360       , p12_a15
361       , p12_a16
362       , p12_a17
363       , p12_a18
364       , p12_a19
365       , p12_a20
366       , p12_a21
367       , p12_a22
368       , p12_a23
369       , p12_a24
370       , p12_a25
371       , p12_a26
372       );
373 
374     -- here's the delegated call to the old PL/SQL routine
375     okl_mass_rebook_pub.apply_mass_rebook(p_api_version,
376       p_init_msg_list,
377       x_return_status,
378       x_msg_count,
379       x_msg_data,
380       ddp_rbk_tbl,
381       p_deprn_method_code,
382       ddp_in_service_date,
383       p_life_in_months,
384       p_basic_rate,
385       p_adjusted_rate,
386       p_residual_value,
387       ddp_strm_lalevl_tbl);
388 
389     -- copy data back from the local variables to OUT or IN-OUT args, if any
390 
391 
392 
393 
394 
395 
396 
397 
398 
399 
400 
401 
402   end;
403 
404   procedure update_mass_rbk_contract(p_api_version  NUMBER
405     , p_init_msg_list  VARCHAR2
406     , x_return_status out nocopy  VARCHAR2
407     , x_msg_count out nocopy  NUMBER
408     , x_msg_data out nocopy  VARCHAR2
409     , p5_a0 JTF_NUMBER_TABLE
410     , p5_a1 JTF_VARCHAR2_TABLE_200
411     , p5_a2 JTF_NUMBER_TABLE
412     , p5_a3 JTF_VARCHAR2_TABLE_200
413     , p5_a4 JTF_VARCHAR2_TABLE_600
414     , p5_a5 JTF_NUMBER_TABLE
415     , p5_a6 JTF_NUMBER_TABLE
416     , p5_a7 JTF_VARCHAR2_TABLE_100
417     , p5_a8 JTF_VARCHAR2_TABLE_100
418     , p5_a9 JTF_VARCHAR2_TABLE_100
419     , p5_a10 JTF_VARCHAR2_TABLE_500
420     , p5_a11 JTF_VARCHAR2_TABLE_500
421     , p5_a12 JTF_VARCHAR2_TABLE_500
422     , p5_a13 JTF_VARCHAR2_TABLE_500
423     , p5_a14 JTF_VARCHAR2_TABLE_500
424     , p5_a15 JTF_VARCHAR2_TABLE_500
425     , p5_a16 JTF_VARCHAR2_TABLE_500
426     , p5_a17 JTF_VARCHAR2_TABLE_500
427     , p5_a18 JTF_VARCHAR2_TABLE_500
428     , p5_a19 JTF_VARCHAR2_TABLE_500
429     , p5_a20 JTF_VARCHAR2_TABLE_500
430     , p5_a21 JTF_VARCHAR2_TABLE_500
431     , p5_a22 JTF_VARCHAR2_TABLE_500
432     , p5_a23 JTF_VARCHAR2_TABLE_500
433     , p5_a24 JTF_VARCHAR2_TABLE_500
434     , p5_a25 JTF_NUMBER_TABLE
435     , p5_a26 JTF_DATE_TABLE
436     , p5_a27 JTF_NUMBER_TABLE
437     , p5_a28 JTF_DATE_TABLE
438     , p5_a29 JTF_NUMBER_TABLE
439     , p5_a30 JTF_DATE_TABLE
440     , p6_a0 out nocopy JTF_NUMBER_TABLE
441     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_200
442     , p6_a2 out nocopy JTF_NUMBER_TABLE
443     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_200
444     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_600
445     , p6_a5 out nocopy JTF_NUMBER_TABLE
446     , p6_a6 out nocopy JTF_NUMBER_TABLE
447     , p6_a7 out nocopy JTF_VARCHAR2_TABLE_100
448     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_100
449     , p6_a9 out nocopy JTF_VARCHAR2_TABLE_100
450     , p6_a10 out nocopy JTF_VARCHAR2_TABLE_500
451     , p6_a11 out nocopy JTF_VARCHAR2_TABLE_500
452     , p6_a12 out nocopy JTF_VARCHAR2_TABLE_500
453     , p6_a13 out nocopy JTF_VARCHAR2_TABLE_500
454     , p6_a14 out nocopy JTF_VARCHAR2_TABLE_500
455     , p6_a15 out nocopy JTF_VARCHAR2_TABLE_500
456     , p6_a16 out nocopy JTF_VARCHAR2_TABLE_500
457     , p6_a17 out nocopy JTF_VARCHAR2_TABLE_500
458     , p6_a18 out nocopy JTF_VARCHAR2_TABLE_500
459     , p6_a19 out nocopy JTF_VARCHAR2_TABLE_500
460     , p6_a20 out nocopy JTF_VARCHAR2_TABLE_500
461     , p6_a21 out nocopy JTF_VARCHAR2_TABLE_500
462     , p6_a22 out nocopy JTF_VARCHAR2_TABLE_500
463     , p6_a23 out nocopy JTF_VARCHAR2_TABLE_500
464     , p6_a24 out nocopy JTF_VARCHAR2_TABLE_500
465     , p6_a25 out nocopy JTF_NUMBER_TABLE
466     , p6_a26 out nocopy JTF_DATE_TABLE
467     , p6_a27 out nocopy JTF_NUMBER_TABLE
468     , p6_a28 out nocopy JTF_DATE_TABLE
469     , p6_a29 out nocopy JTF_NUMBER_TABLE
470     , p6_a30 out nocopy JTF_DATE_TABLE
471   )
472 
473   as
474     ddp_mstv_tbl okl_mass_rebook_pub.mstv_tbl_type;
475     ddx_mstv_tbl okl_mass_rebook_pub.mstv_tbl_type;
476     ddindx binary_integer; indx binary_integer;
477   begin
478 
479     -- copy data to the local IN or IN-OUT args, if any
480 
481 
482 
483 
484 
485     okl_mst_pvt_w.rosetta_table_copy_in_p2(ddp_mstv_tbl, p5_a0
486       , p5_a1
487       , p5_a2
488       , p5_a3
489       , p5_a4
490       , p5_a5
491       , p5_a6
492       , p5_a7
493       , p5_a8
494       , p5_a9
495       , p5_a10
496       , p5_a11
497       , p5_a12
498       , p5_a13
499       , p5_a14
500       , p5_a15
501       , p5_a16
502       , p5_a17
503       , p5_a18
504       , p5_a19
505       , p5_a20
506       , p5_a21
507       , p5_a22
508       , p5_a23
509       , p5_a24
510       , p5_a25
511       , p5_a26
512       , p5_a27
513       , p5_a28
514       , p5_a29
515       , p5_a30
516       );
517 
518 
519     -- here's the delegated call to the old PL/SQL routine
520     okl_mass_rebook_pub.update_mass_rbk_contract(p_api_version,
521       p_init_msg_list,
522       x_return_status,
523       x_msg_count,
524       x_msg_data,
525       ddp_mstv_tbl,
526       ddx_mstv_tbl);
527 
528     -- copy data back from the local variables to OUT or IN-OUT args, if any
529 
530 
531 
532 
533 
534 
535     okl_mst_pvt_w.rosetta_table_copy_out_p2(ddx_mstv_tbl, p6_a0
536       , p6_a1
537       , p6_a2
538       , p6_a3
539       , p6_a4
540       , p6_a5
541       , p6_a6
542       , p6_a7
543       , p6_a8
544       , p6_a9
545       , p6_a10
546       , p6_a11
547       , p6_a12
548       , p6_a13
549       , p6_a14
550       , p6_a15
551       , p6_a16
552       , p6_a17
553       , p6_a18
554       , p6_a19
555       , p6_a20
556       , p6_a21
557       , p6_a22
558       , p6_a23
559       , p6_a24
560       , p6_a25
561       , p6_a26
562       , p6_a27
563       , p6_a28
564       , p6_a29
565       , p6_a30
566       );
567   end;
568 
569 end okl_mass_rebook_pub_w;