[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;