DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_CALENDAR_PUB_24HR_W

Source


1 package body jtf_calendar_pub_24hr_w as
2   /* $Header: JTFPC24B.pls 120.2 2005/07/07 12:29:54 abraina 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 
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_p1(t out nocopy jtf_calendar_pub_24hr.shift_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_DATE_TABLE
24     , a2 JTF_DATE_TABLE
25     , a3 JTF_VARCHAR2_TABLE_100
26     ) as
27     ddindx binary_integer; indx binary_integer;
28   begin
29   if a0 is not null and a0.count > 0 then
30       if a0.count > 0 then
31         indx := a0.first;
32         ddindx := 1;
33         while true loop
34           t(ddindx).shift_construct_id := rosetta_g_miss_num_map(a0(indx));
35           t(ddindx).start_time := rosetta_g_miss_date_in_map(a1(indx));
36           t(ddindx).end_time := rosetta_g_miss_date_in_map(a2(indx));
37           t(ddindx).availability_type := a3(indx);
38           ddindx := ddindx+1;
39           if a0.last =indx
40             then exit;
41           end if;
42           indx := a0.next(indx);
43         end loop;
44       end if;
45    end if;
46   end rosetta_table_copy_in_p1;
47   procedure rosetta_table_copy_out_p1(t jtf_calendar_pub_24hr.shift_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
48     , a1 out nocopy JTF_DATE_TABLE
49     , a2 out nocopy JTF_DATE_TABLE
50     , a3 out nocopy JTF_VARCHAR2_TABLE_100
51     ) as
52     ddindx binary_integer; indx binary_integer;
53   begin
54   if t is null or t.count = 0 then
55     a0 := JTF_NUMBER_TABLE();
56     a1 := JTF_DATE_TABLE();
57     a2 := JTF_DATE_TABLE();
58     a3 := JTF_VARCHAR2_TABLE_100();
59   else
60       a0 := JTF_NUMBER_TABLE();
61       a1 := JTF_DATE_TABLE();
62       a2 := JTF_DATE_TABLE();
63       a3 := JTF_VARCHAR2_TABLE_100();
64       if t.count > 0 then
65         a0.extend(t.count);
66         a1.extend(t.count);
67         a2.extend(t.count);
68         a3.extend(t.count);
69         ddindx := t.first;
70         indx := 1;
71         while true loop
72           a0(indx) := rosetta_g_miss_num_map(t(ddindx).shift_construct_id);
73           a1(indx) := t(ddindx).start_time;
74           a2(indx) := t(ddindx).end_time;
75           a3(indx) := t(ddindx).availability_type;
76           indx := indx+1;
77           if t.last =ddindx
78             then exit;
79           end if;
80           ddindx := t.next(ddindx);
81         end loop;
82       end if;
83    end if;
84   end rosetta_table_copy_out_p1;
85 
86   procedure rosetta_table_copy_in_p3(t out nocopy jtf_calendar_pub_24hr.shift_tbl_attributes_type, a0 JTF_NUMBER_TABLE
87     , a1 JTF_DATE_TABLE
88     , a2 JTF_DATE_TABLE
89     , a3 JTF_VARCHAR2_TABLE_100
90     , a4 JTF_VARCHAR2_TABLE_200
91     , a5 JTF_VARCHAR2_TABLE_200
92     , a6 JTF_VARCHAR2_TABLE_200
93     , a7 JTF_VARCHAR2_TABLE_200
94     , a8 JTF_VARCHAR2_TABLE_200
95     , a9 JTF_VARCHAR2_TABLE_200
96     , a10 JTF_VARCHAR2_TABLE_200
97     , a11 JTF_VARCHAR2_TABLE_200
98     , a12 JTF_VARCHAR2_TABLE_200
99     , a13 JTF_VARCHAR2_TABLE_200
100     , a14 JTF_VARCHAR2_TABLE_200
101     , a15 JTF_VARCHAR2_TABLE_200
102     , a16 JTF_VARCHAR2_TABLE_200
103     , a17 JTF_VARCHAR2_TABLE_200
104     , a18 JTF_VARCHAR2_TABLE_200
105     ) as
106     ddindx binary_integer; indx binary_integer;
107   begin
108   if a0 is not null and a0.count > 0 then
109       if a0.count > 0 then
110         indx := a0.first;
111         ddindx := 1;
112         while true loop
113           t(ddindx).shift_construct_id := rosetta_g_miss_num_map(a0(indx));
114           t(ddindx).start_time := rosetta_g_miss_date_in_map(a1(indx));
115           t(ddindx).end_time := rosetta_g_miss_date_in_map(a2(indx));
116           t(ddindx).availability_type := a3(indx);
117           t(ddindx).attribute1 := a4(indx);
118           t(ddindx).attribute2 := a5(indx);
119           t(ddindx).attribute3 := a6(indx);
120           t(ddindx).attribute4 := a7(indx);
121           t(ddindx).attribute5 := a8(indx);
122           t(ddindx).attribute6 := a9(indx);
123           t(ddindx).attribute7 := a10(indx);
124           t(ddindx).attribute8 := a11(indx);
125           t(ddindx).attribute9 := a12(indx);
126           t(ddindx).attribute10 := a13(indx);
127           t(ddindx).attribute11 := a14(indx);
128           t(ddindx).attribute12 := a15(indx);
129           t(ddindx).attribute13 := a16(indx);
130           t(ddindx).attribute14 := a17(indx);
131           t(ddindx).attribute15 := a18(indx);
132           ddindx := ddindx+1;
133           if a0.last =indx
134             then exit;
135           end if;
136           indx := a0.next(indx);
137         end loop;
138       end if;
139    end if;
140   end rosetta_table_copy_in_p3;
141   procedure rosetta_table_copy_out_p3(t jtf_calendar_pub_24hr.shift_tbl_attributes_type, a0 out nocopy JTF_NUMBER_TABLE
142     , a1 out nocopy JTF_DATE_TABLE
143     , a2 out nocopy JTF_DATE_TABLE
144     , a3 out nocopy JTF_VARCHAR2_TABLE_100
145     , a4 out nocopy JTF_VARCHAR2_TABLE_200
146     , a5 out nocopy JTF_VARCHAR2_TABLE_200
147     , a6 out nocopy JTF_VARCHAR2_TABLE_200
148     , a7 out nocopy JTF_VARCHAR2_TABLE_200
149     , a8 out nocopy JTF_VARCHAR2_TABLE_200
150     , a9 out nocopy JTF_VARCHAR2_TABLE_200
151     , a10 out nocopy JTF_VARCHAR2_TABLE_200
152     , a11 out nocopy JTF_VARCHAR2_TABLE_200
153     , a12 out nocopy JTF_VARCHAR2_TABLE_200
154     , a13 out nocopy JTF_VARCHAR2_TABLE_200
155     , a14 out nocopy JTF_VARCHAR2_TABLE_200
156     , a15 out nocopy JTF_VARCHAR2_TABLE_200
157     , a16 out nocopy JTF_VARCHAR2_TABLE_200
158     , a17 out nocopy JTF_VARCHAR2_TABLE_200
159     , a18 out nocopy JTF_VARCHAR2_TABLE_200
160     ) as
161     ddindx binary_integer; indx binary_integer;
162   begin
163   if t is null or t.count = 0 then
164     a0 := JTF_NUMBER_TABLE();
165     a1 := JTF_DATE_TABLE();
166     a2 := JTF_DATE_TABLE();
167     a3 := JTF_VARCHAR2_TABLE_100();
168     a4 := JTF_VARCHAR2_TABLE_200();
169     a5 := JTF_VARCHAR2_TABLE_200();
170     a6 := JTF_VARCHAR2_TABLE_200();
171     a7 := JTF_VARCHAR2_TABLE_200();
172     a8 := JTF_VARCHAR2_TABLE_200();
173     a9 := JTF_VARCHAR2_TABLE_200();
174     a10 := JTF_VARCHAR2_TABLE_200();
175     a11 := JTF_VARCHAR2_TABLE_200();
176     a12 := JTF_VARCHAR2_TABLE_200();
177     a13 := JTF_VARCHAR2_TABLE_200();
178     a14 := JTF_VARCHAR2_TABLE_200();
179     a15 := JTF_VARCHAR2_TABLE_200();
180     a16 := JTF_VARCHAR2_TABLE_200();
181     a17 := JTF_VARCHAR2_TABLE_200();
182     a18 := JTF_VARCHAR2_TABLE_200();
183   else
184       a0 := JTF_NUMBER_TABLE();
185       a1 := JTF_DATE_TABLE();
186       a2 := JTF_DATE_TABLE();
187       a3 := JTF_VARCHAR2_TABLE_100();
188       a4 := JTF_VARCHAR2_TABLE_200();
189       a5 := JTF_VARCHAR2_TABLE_200();
190       a6 := JTF_VARCHAR2_TABLE_200();
191       a7 := JTF_VARCHAR2_TABLE_200();
192       a8 := JTF_VARCHAR2_TABLE_200();
193       a9 := JTF_VARCHAR2_TABLE_200();
194       a10 := JTF_VARCHAR2_TABLE_200();
195       a11 := JTF_VARCHAR2_TABLE_200();
196       a12 := JTF_VARCHAR2_TABLE_200();
197       a13 := JTF_VARCHAR2_TABLE_200();
198       a14 := JTF_VARCHAR2_TABLE_200();
199       a15 := JTF_VARCHAR2_TABLE_200();
200       a16 := JTF_VARCHAR2_TABLE_200();
201       a17 := JTF_VARCHAR2_TABLE_200();
202       a18 := JTF_VARCHAR2_TABLE_200();
203       if t.count > 0 then
204         a0.extend(t.count);
205         a1.extend(t.count);
206         a2.extend(t.count);
207         a3.extend(t.count);
208         a4.extend(t.count);
209         a5.extend(t.count);
210         a6.extend(t.count);
211         a7.extend(t.count);
212         a8.extend(t.count);
213         a9.extend(t.count);
214         a10.extend(t.count);
215         a11.extend(t.count);
216         a12.extend(t.count);
217         a13.extend(t.count);
218         a14.extend(t.count);
219         a15.extend(t.count);
220         a16.extend(t.count);
221         a17.extend(t.count);
222         a18.extend(t.count);
223         ddindx := t.first;
224         indx := 1;
225         while true loop
226           a0(indx) := rosetta_g_miss_num_map(t(ddindx).shift_construct_id);
227           a1(indx) := t(ddindx).start_time;
228           a2(indx) := t(ddindx).end_time;
229           a3(indx) := t(ddindx).availability_type;
230           a4(indx) := t(ddindx).attribute1;
231           a5(indx) := t(ddindx).attribute2;
232           a6(indx) := t(ddindx).attribute3;
233           a7(indx) := t(ddindx).attribute4;
234           a8(indx) := t(ddindx).attribute5;
235           a9(indx) := t(ddindx).attribute6;
236           a10(indx) := t(ddindx).attribute7;
237           a11(indx) := t(ddindx).attribute8;
238           a12(indx) := t(ddindx).attribute9;
239           a13(indx) := t(ddindx).attribute10;
240           a14(indx) := t(ddindx).attribute11;
241           a15(indx) := t(ddindx).attribute12;
242           a16(indx) := t(ddindx).attribute13;
243           a17(indx) := t(ddindx).attribute14;
244           a18(indx) := t(ddindx).attribute15;
245           indx := indx+1;
246           if t.last =ddindx
247             then exit;
248           end if;
249           ddindx := t.next(ddindx);
250         end loop;
251       end if;
252    end if;
253   end rosetta_table_copy_out_p3;
254 
255   procedure get_available_time(p_api_version  NUMBER
256     , p_init_msg_list  VARCHAR2
257     , p_resource_id  NUMBER
258     , p_resource_type  VARCHAR2
259     , p_start_date  date
260     , p_end_date  date
261     , x_return_status out nocopy  VARCHAR2
262     , x_msg_count out nocopy  NUMBER
263     , x_msg_data out nocopy  VARCHAR2
264     , p9_a0 out nocopy JTF_NUMBER_TABLE
265     , p9_a1 out nocopy JTF_DATE_TABLE
266     , p9_a2 out nocopy JTF_DATE_TABLE
267     , p9_a3 out nocopy JTF_VARCHAR2_TABLE_100
268   )
269 
270   as
271     ddp_start_date date;
272     ddp_end_date date;
273     ddx_shift jtf_calendar_pub_24hr.shift_tbl_type;
274     ddindx binary_integer; indx binary_integer;
275   begin
276 
277     -- copy data to the local IN or IN-OUT args, if any
278 
279 
280 
281 
282     ddp_start_date := rosetta_g_miss_date_in_map(p_start_date);
283 
284     ddp_end_date := rosetta_g_miss_date_in_map(p_end_date);
285 
286 
287 
288 
289 
290     -- here's the delegated call to the old PL/SQL routine
291     jtf_calendar_pub_24hr.get_available_time(p_api_version,
292       p_init_msg_list,
293       p_resource_id,
294       p_resource_type,
295       ddp_start_date,
296       ddp_end_date,
297       x_return_status,
298       x_msg_count,
299       x_msg_data,
300       ddx_shift);
301 
302     -- copy data back from the local variables to OUT or IN-OUT args, if any
303 
304 
305 
306 
307 
308 
309 
310 
311 
312     jtf_calendar_pub_24hr_w.rosetta_table_copy_out_p1(ddx_shift, p9_a0
313       , p9_a1
314       , p9_a2
318 
315       , p9_a3
316       );
317   end;
319   procedure get_available_slot(p_api_version  NUMBER
320     , p_init_msg_list  VARCHAR2
321     , p_resource_id  NUMBER
322     , p_resource_type  VARCHAR2
323     , p_start_date_time  date
324     , p_end_date_time  date
325     , p_duration  NUMBER
326     , x_return_status out nocopy  VARCHAR2
327     , x_msg_count out nocopy  NUMBER
328     , x_msg_data out nocopy  VARCHAR2
329     , x_slot_start_date out nocopy  DATE
330     , x_slot_end_date out nocopy  DATE
331     , x_shift_construct_id out nocopy  NUMBER
332     , x_availability_type out nocopy  VARCHAR2
333   )
334 
335   as
336     ddp_start_date_time date;
337     ddp_end_date_time date;
338     ddindx binary_integer; indx binary_integer;
339   begin
340 
341     -- copy data to the local IN or IN-OUT args, if any
342 
343 
344 
345 
346     ddp_start_date_time := rosetta_g_miss_date_in_map(p_start_date_time);
347 
348     ddp_end_date_time := rosetta_g_miss_date_in_map(p_end_date_time);
349 
350 
351 
352 
353 
354 
355 
356 
357 
358     -- here's the delegated call to the old PL/SQL routine
359     jtf_calendar_pub_24hr.get_available_slot(p_api_version,
360       p_init_msg_list,
361       p_resource_id,
362       p_resource_type,
363       ddp_start_date_time,
364       ddp_end_date_time,
365       p_duration,
366       x_return_status,
367       x_msg_count,
368       x_msg_data,
369       x_slot_start_date,
370       x_slot_end_date,
371       x_shift_construct_id,
372       x_availability_type);
373 
374     -- copy data back from the local variables to OUT or IN-OUT args, if any
375 
376 
377 
378 
379 
380 
381 
382 
383 
384 
385 
386 
387 
388   end;
389 
390   procedure get_resource_shifts(p_api_version  NUMBER
391     , p_init_msg_list  VARCHAR2
392     , p_resource_id  NUMBER
393     , p_resource_type  VARCHAR2
394     , p_start_date  date
395     , p_end_date  date
396     , x_return_status out nocopy  VARCHAR2
397     , x_msg_count out nocopy  NUMBER
398     , x_msg_data out nocopy  VARCHAR2
399     , p9_a0 out nocopy JTF_NUMBER_TABLE
400     , p9_a1 out nocopy JTF_DATE_TABLE
401     , p9_a2 out nocopy JTF_DATE_TABLE
402     , p9_a3 out nocopy JTF_VARCHAR2_TABLE_100
403   )
404 
405   as
406     ddp_start_date date;
407     ddp_end_date date;
408     ddx_shift jtf_calendar_pub_24hr.shift_tbl_type;
409     ddindx binary_integer; indx binary_integer;
410   begin
411 
412     -- copy data to the local IN or IN-OUT args, if any
413 
414 
415 
416 
417     ddp_start_date := rosetta_g_miss_date_in_map(p_start_date);
418 
419     ddp_end_date := rosetta_g_miss_date_in_map(p_end_date);
420 
421 
422 
423 
424 
425     -- here's the delegated call to the old PL/SQL routine
426     jtf_calendar_pub_24hr.get_resource_shifts(p_api_version,
427       p_init_msg_list,
428       p_resource_id,
429       p_resource_type,
430       ddp_start_date,
431       ddp_end_date,
432       x_return_status,
433       x_msg_count,
434       x_msg_data,
435       ddx_shift);
436 
437     -- copy data back from the local variables to OUT or IN-OUT args, if any
438 
439 
440 
441 
442 
443 
444 
445 
446 
447     jtf_calendar_pub_24hr_w.rosetta_table_copy_out_p1(ddx_shift, p9_a0
448       , p9_a1
449       , p9_a2
450       , p9_a3
451       );
452   end;
453 
454   procedure get_resource_shifts(p_api_version  NUMBER
455     , p_init_msg_list  VARCHAR2
456     , p_resource_id  NUMBER
457     , p_resource_type  VARCHAR2
458     , p_start_date  date
459     , p_end_date  date
460     , x_return_status out nocopy  VARCHAR2
461     , x_msg_count out nocopy  NUMBER
462     , x_msg_data out nocopy  VARCHAR2
463     , p9_a0 out nocopy JTF_NUMBER_TABLE
464     , p9_a1 out nocopy JTF_DATE_TABLE
465     , p9_a2 out nocopy JTF_DATE_TABLE
466     , p9_a3 out nocopy JTF_VARCHAR2_TABLE_100
467     , p9_a4 out nocopy JTF_VARCHAR2_TABLE_200
468     , p9_a5 out nocopy JTF_VARCHAR2_TABLE_200
469     , p9_a6 out nocopy JTF_VARCHAR2_TABLE_200
470     , p9_a7 out nocopy JTF_VARCHAR2_TABLE_200
471     , p9_a8 out nocopy JTF_VARCHAR2_TABLE_200
472     , p9_a9 out nocopy JTF_VARCHAR2_TABLE_200
473     , p9_a10 out nocopy JTF_VARCHAR2_TABLE_200
474     , p9_a11 out nocopy JTF_VARCHAR2_TABLE_200
475     , p9_a12 out nocopy JTF_VARCHAR2_TABLE_200
476     , p9_a13 out nocopy JTF_VARCHAR2_TABLE_200
477     , p9_a14 out nocopy JTF_VARCHAR2_TABLE_200
478     , p9_a15 out nocopy JTF_VARCHAR2_TABLE_200
479     , p9_a16 out nocopy JTF_VARCHAR2_TABLE_200
480     , p9_a17 out nocopy JTF_VARCHAR2_TABLE_200
481     , p9_a18 out nocopy JTF_VARCHAR2_TABLE_200
482   )
483 
484   as
485     ddp_start_date date;
486     ddp_end_date date;
487     ddx_shift jtf_calendar_pub_24hr.shift_tbl_attributes_type;
488     ddindx binary_integer; indx binary_integer;
492 
489   begin
490 
491     -- copy data to the local IN or IN-OUT args, if any
493 
494 
495 
496     ddp_start_date := rosetta_g_miss_date_in_map(p_start_date);
497 
498     ddp_end_date := rosetta_g_miss_date_in_map(p_end_date);
499 
500 
501 
502 
503 
504     -- here's the delegated call to the old PL/SQL routine
505     jtf_calendar_pub_24hr.get_resource_shifts(p_api_version,
506       p_init_msg_list,
507       p_resource_id,
508       p_resource_type,
509       ddp_start_date,
510       ddp_end_date,
511       x_return_status,
512       x_msg_count,
513       x_msg_data,
514       ddx_shift);
515 
516     -- copy data back from the local variables to OUT or IN-OUT args, if any
517 
518 
519 
520 
521 
522 
523 
524 
525 
526     jtf_calendar_pub_24hr_w.rosetta_table_copy_out_p3(ddx_shift, p9_a0
527       , p9_a1
528       , p9_a2
529       , p9_a3
530       , p9_a4
531       , p9_a5
532       , p9_a6
533       , p9_a7
534       , p9_a8
535       , p9_a9
536       , p9_a10
537       , p9_a11
538       , p9_a12
539       , p9_a13
540       , p9_a14
541       , p9_a15
542       , p9_a16
543       , p9_a17
544       , p9_a18
545       );
546   end;
547 
548   procedure is_res_available(p_api_version  NUMBER
549     , p_init_msg_list  VARCHAR2
550     , p_resource_id  NUMBER
551     , p_resource_type  VARCHAR2
552     , p_start_date_time  date
553     , p_duration  NUMBER
554     , x_return_status out nocopy  VARCHAR2
555     , x_msg_count out nocopy  NUMBER
556     , x_msg_data out nocopy  VARCHAR2
557     , x_avail out nocopy  VARCHAR2
558   )
559 
560   as
561     ddp_start_date_time date;
562     ddindx binary_integer; indx binary_integer;
563   begin
564 
565     -- copy data to the local IN or IN-OUT args, if any
566 
567 
568 
569 
570     ddp_start_date_time := rosetta_g_miss_date_in_map(p_start_date_time);
571 
572 
573 
574 
575 
576 
577     -- here's the delegated call to the old PL/SQL routine
578     jtf_calendar_pub_24hr.is_res_available(p_api_version,
579       p_init_msg_list,
580       p_resource_id,
581       p_resource_type,
582       ddp_start_date_time,
583       p_duration,
584       x_return_status,
585       x_msg_count,
586       x_msg_data,
587       x_avail);
588 
589     -- copy data back from the local variables to OUT or IN-OUT args, if any
590 
591 
592 
593 
594 
595 
596 
597 
598 
599   end;
600 
601   procedure get_res_schedule(p_api_version  NUMBER
602     , p_init_msg_list  VARCHAR2
603     , p_resource_id  NUMBER
604     , p_resource_type  VARCHAR2
605     , p_start_date  date
606     , p_end_date  date
607     , x_return_status out nocopy  VARCHAR2
608     , x_msg_count out nocopy  NUMBER
609     , x_msg_data out nocopy  VARCHAR2
610     , p9_a0 out nocopy JTF_NUMBER_TABLE
611     , p9_a1 out nocopy JTF_DATE_TABLE
612     , p9_a2 out nocopy JTF_DATE_TABLE
613     , p9_a3 out nocopy JTF_VARCHAR2_TABLE_100
614   )
615 
616   as
617     ddp_start_date date;
618     ddp_end_date date;
619     ddx_shift jtf_calendar_pub_24hr.shift_tbl_type;
620     ddindx binary_integer; indx binary_integer;
621   begin
622 
623     -- copy data to the local IN or IN-OUT args, if any
624 
625 
626 
627 
628     ddp_start_date := rosetta_g_miss_date_in_map(p_start_date);
629 
630     ddp_end_date := rosetta_g_miss_date_in_map(p_end_date);
631 
632 
633 
634 
635 
636     -- here's the delegated call to the old PL/SQL routine
637     jtf_calendar_pub_24hr.get_res_schedule(p_api_version,
638       p_init_msg_list,
639       p_resource_id,
640       p_resource_type,
641       ddp_start_date,
642       ddp_end_date,
643       x_return_status,
644       x_msg_count,
645       x_msg_data,
646       ddx_shift);
647 
648     -- copy data back from the local variables to OUT or IN-OUT args, if any
649 
650 
651 
652 
653 
654 
655 
656 
657 
658     jtf_calendar_pub_24hr_w.rosetta_table_copy_out_p1(ddx_shift, p9_a0
659       , p9_a1
660       , p9_a2
661       , p9_a3
662       );
663   end;
664 
665   function resourcedt_to_serverdt(p_resource_dttime  date
666     , p_resource_tz_id  NUMBER
667     , p_server_tz_id  NUMBER
668   ) return date
669 
670   as
671     ddp_resource_dttime date;
672     ddindx binary_integer; indx binary_integer;
673     ddrosetta_retval date;
674   begin
675 
676     -- copy data to the local IN or IN-OUT args, if any
677     ddp_resource_dttime := rosetta_g_miss_date_in_map(p_resource_dttime);
678 
679 
680 
681     -- here's the delegated call to the old PL/SQL routine
682     ddrosetta_retval := jtf_calendar_pub_24hr.resourcedt_to_serverdt(ddp_resource_dttime,
683       p_resource_tz_id,
684       p_server_tz_id);
685 
686     -- copy data back from the local variables to OUT or IN-OUT args, if any
687 
688 
689 
690     return ddrosetta_retval;
691   end;
692 
693   procedure validate_cal_date(p_calendar_id  NUMBER
694     , p_shift_date  date
695     , ddrosetta_retval_bool OUT NOCOPY NUMBER
696   )
697 
698   as
699     ddp_shift_date date;
700     ddindx binary_integer; indx binary_integer;
701     ddrosetta_retval boolean;
702   begin
703 
704     -- copy data to the local IN or IN-OUT args, if any
705 
706     ddp_shift_date := rosetta_g_miss_date_in_map(p_shift_date);
707 
708     -- here's the delegated call to the old PL/SQL routine
709     ddrosetta_retval := jtf_calendar_pub_24hr.validate_cal_date(p_calendar_id,
710       ddp_shift_date);
711 
712     -- copy data back from the local variables to OUT or IN-OUT args, if any
713     if ddrosetta_retval is null
714       then ddrosetta_retval_bool := null;
715     elsif ddrosetta_retval
716       then ddrosetta_retval_bool := 1;
717     else ddrosetta_retval_bool := 0;
718     end if;
719 
720   end;
721 
722 end jtf_calendar_pub_24hr_w;