DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_CAL_PVT_W

Source


1 package body jtf_cal_pvt_w as
2   /* $Header: jtfwhcb.pls 120.2 2006/04/28 01:33 deeprao 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   procedure rosetta_table_copy_in_p1(t out nocopy jtf_cal_pvt.callsttbltype, a0 JTF_NUMBER_TABLE
17     , a1 JTF_VARCHAR2_TABLE_100
18     , a2 JTF_VARCHAR2_TABLE_400
19     , a3 JTF_VARCHAR2_TABLE_100
20     ) as
21     ddindx binary_integer; indx binary_integer;
22   begin
23   if a0 is not null and a0.count > 0 then
24       if a0.count > 0 then
25         indx := a0.first;
26         ddindx := 1;
27         while true loop
28           t(ddindx).resourceid := a0(indx);
29           t(ddindx).resourcetype := a1(indx);
30           t(ddindx).calendarname := a2(indx);
31           t(ddindx).accesslevel := a3(indx);
32           ddindx := ddindx+1;
33           if a0.last =indx
34             then exit;
35           end if;
36           indx := a0.next(indx);
37         end loop;
38       end if;
39    end if;
40   end rosetta_table_copy_in_p1;
41   procedure rosetta_table_copy_out_p1(t jtf_cal_pvt.callsttbltype, a0 out nocopy JTF_NUMBER_TABLE
42     , a1 out nocopy JTF_VARCHAR2_TABLE_100
43     , a2 out nocopy JTF_VARCHAR2_TABLE_400
44     , a3 out nocopy JTF_VARCHAR2_TABLE_100
45     ) as
46     ddindx binary_integer; indx binary_integer;
47   begin
48   if t is null or t.count = 0 then
49     a0 := JTF_NUMBER_TABLE();
50     a1 := JTF_VARCHAR2_TABLE_100();
51     a2 := JTF_VARCHAR2_TABLE_400();
52     a3 := JTF_VARCHAR2_TABLE_100();
53   else
54       a0 := JTF_NUMBER_TABLE();
55       a1 := JTF_VARCHAR2_TABLE_100();
56       a2 := JTF_VARCHAR2_TABLE_400();
57       a3 := JTF_VARCHAR2_TABLE_100();
58       if t.count > 0 then
59         a0.extend(t.count);
60         a1.extend(t.count);
61         a2.extend(t.count);
62         a3.extend(t.count);
63         ddindx := t.first;
64         indx := 1;
65         while true loop
66           a0(indx) := t(ddindx).resourceid;
67           a1(indx) := t(ddindx).resourcetype;
68           a2(indx) := t(ddindx).calendarname;
69           a3(indx) := t(ddindx).accesslevel;
70           indx := indx+1;
71           if t.last =ddindx
72             then exit;
73           end if;
74           ddindx := t.next(ddindx);
75         end loop;
76       end if;
77    end if;
78   end rosetta_table_copy_out_p1;
79 
80   procedure rosetta_table_copy_in_p3(t out nocopy jtf_cal_pvt.weektimepreftbltype, a0 JTF_NUMBER_TABLE
81     , a1 JTF_NUMBER_TABLE
82     ) as
83     ddindx binary_integer; indx binary_integer;
84   begin
85   if a0 is not null and a0.count > 0 then
86       if a0.count > 0 then
87         indx := a0.first;
88         ddindx := 1;
89         while true loop
90           t(ddindx).daystart := a0(indx);
91           t(ddindx).dayend := a1(indx);
92           ddindx := ddindx+1;
93           if a0.last =indx
94             then exit;
95           end if;
96           indx := a0.next(indx);
97         end loop;
98       end if;
99    end if;
100   end rosetta_table_copy_in_p3;
101   procedure rosetta_table_copy_out_p3(t jtf_cal_pvt.weektimepreftbltype, a0 out nocopy JTF_NUMBER_TABLE
102     , a1 out nocopy JTF_NUMBER_TABLE
103     ) as
104     ddindx binary_integer; indx binary_integer;
105   begin
106   if t is null or t.count = 0 then
107     a0 := JTF_NUMBER_TABLE();
108     a1 := JTF_NUMBER_TABLE();
109   else
110       a0 := JTF_NUMBER_TABLE();
111       a1 := JTF_NUMBER_TABLE();
112       if t.count > 0 then
113         a0.extend(t.count);
114         a1.extend(t.count);
115         ddindx := t.first;
116         indx := 1;
117         while true loop
118           a0(indx) := t(ddindx).daystart;
119           a1(indx) := t(ddindx).dayend;
120           indx := indx+1;
121           if t.last =ddindx
122             then exit;
123           end if;
124           ddindx := t.next(ddindx);
125         end loop;
126       end if;
127    end if;
128   end rosetta_table_copy_out_p3;
129 
130   procedure rosetta_table_copy_in_p7(t out nocopy jtf_cal_pvt.queryouttab, a0 JTF_NUMBER_TABLE
131     , a1 JTF_NUMBER_TABLE
132     , a2 JTF_VARCHAR2_TABLE_100
133     , a3 JTF_VARCHAR2_TABLE_100
134     , a4 JTF_NUMBER_TABLE
135     , a5 JTF_NUMBER_TABLE
136     , a6 JTF_VARCHAR2_TABLE_200
137     , a7 JTF_NUMBER_TABLE
138     , a8 JTF_VARCHAR2_TABLE_100
139     , a9 JTF_NUMBER_TABLE
140     , a10 JTF_NUMBER_TABLE
141     , a11 JTF_DATE_TABLE
142     , a12 JTF_DATE_TABLE
143     , a13 JTF_VARCHAR2_TABLE_2000
144     , a14 JTF_VARCHAR2_TABLE_2000
145     , a15 JTF_NUMBER_TABLE
146     , a16 JTF_VARCHAR2_TABLE_100
147     , a17 JTF_NUMBER_TABLE
148     , a18 JTF_VARCHAR2_TABLE_300
149     , a19 JTF_VARCHAR2_TABLE_100
150     , a20 JTF_NUMBER_TABLE
151     , a21 JTF_NUMBER_TABLE
152     , a22 JTF_NUMBER_TABLE
153     ) as
154     ddindx binary_integer; indx binary_integer;
155   begin
156   if a0 is not null and a0.count > 0 then
157       if a0.count > 0 then
158         indx := a0.first;
159         ddindx := 1;
160         while true loop
161           t(ddindx).itemdisplaytype := a0(indx);
162           t(ddindx).itemsourceid := a1(indx);
163           t(ddindx).itemsourcecode := a2(indx);
164           t(ddindx).sourceobjecttypecode := a3(indx);
165           t(ddindx).sourceid := a4(indx);
166           t(ddindx).customerid := a5(indx);
167           t(ddindx).itemname := a6(indx);
168           t(ddindx).accesslevel := a7(indx);
169           t(ddindx).color := a8(indx);
170           t(ddindx).inviteindicator := a9(indx);
171           t(ddindx).repeatindicator := a10(indx);
172           t(ddindx).startdate := rosetta_g_miss_date_in_map(a11(indx));
173           t(ddindx).enddate := rosetta_g_miss_date_in_map(a12(indx));
174           t(ddindx).url := a13(indx);
175           t(ddindx).urlparamlist := a14(indx);
176           t(ddindx).priorityid := a15(indx);
177           t(ddindx).priorityname := a16(indx);
178           t(ddindx).categoryid := a17(indx);
179           t(ddindx).categorydesc := a18(indx);
180           t(ddindx).noteflag := a19(indx);
181           t(ddindx).taskovn := a20(indx);
182           t(ddindx).assignmentovn := a21(indx);
183           t(ddindx).grouprsid := a22(indx);
184           ddindx := ddindx+1;
185           if a0.last =indx
186             then exit;
187           end if;
188           indx := a0.next(indx);
189         end loop;
190       end if;
191    end if;
192   end rosetta_table_copy_in_p7;
193   procedure rosetta_table_copy_out_p7(t jtf_cal_pvt.queryouttab, a0 out nocopy JTF_NUMBER_TABLE
194     , a1 out nocopy JTF_NUMBER_TABLE
195     , a2 out nocopy JTF_VARCHAR2_TABLE_100
196     , a3 out nocopy JTF_VARCHAR2_TABLE_100
197     , a4 out nocopy JTF_NUMBER_TABLE
198     , a5 out nocopy JTF_NUMBER_TABLE
199     , a6 out nocopy JTF_VARCHAR2_TABLE_200
200     , a7 out nocopy JTF_NUMBER_TABLE
201     , a8 out nocopy JTF_VARCHAR2_TABLE_100
202     , a9 out nocopy JTF_NUMBER_TABLE
203     , a10 out nocopy JTF_NUMBER_TABLE
204     , a11 out nocopy JTF_DATE_TABLE
205     , a12 out nocopy JTF_DATE_TABLE
206     , a13 out nocopy JTF_VARCHAR2_TABLE_2000
207     , a14 out nocopy JTF_VARCHAR2_TABLE_2000
208     , a15 out nocopy JTF_NUMBER_TABLE
209     , a16 out nocopy JTF_VARCHAR2_TABLE_100
210     , a17 out nocopy JTF_NUMBER_TABLE
211     , a18 out nocopy JTF_VARCHAR2_TABLE_300
212     , a19 out nocopy JTF_VARCHAR2_TABLE_100
213     , a20 out nocopy JTF_NUMBER_TABLE
214     , a21 out nocopy JTF_NUMBER_TABLE
215     , a22 out nocopy JTF_NUMBER_TABLE
216     ) as
217     ddindx binary_integer; indx binary_integer;
218   begin
219   if t is null or t.count = 0 then
220     a0 := JTF_NUMBER_TABLE();
221     a1 := JTF_NUMBER_TABLE();
222     a2 := JTF_VARCHAR2_TABLE_100();
223     a3 := JTF_VARCHAR2_TABLE_100();
224     a4 := JTF_NUMBER_TABLE();
225     a5 := JTF_NUMBER_TABLE();
226     a6 := JTF_VARCHAR2_TABLE_200();
227     a7 := JTF_NUMBER_TABLE();
228     a8 := JTF_VARCHAR2_TABLE_100();
229     a9 := JTF_NUMBER_TABLE();
230     a10 := JTF_NUMBER_TABLE();
231     a11 := JTF_DATE_TABLE();
232     a12 := JTF_DATE_TABLE();
233     a13 := JTF_VARCHAR2_TABLE_2000();
234     a14 := JTF_VARCHAR2_TABLE_2000();
235     a15 := JTF_NUMBER_TABLE();
236     a16 := JTF_VARCHAR2_TABLE_100();
237     a17 := JTF_NUMBER_TABLE();
238     a18 := JTF_VARCHAR2_TABLE_300();
239     a19 := JTF_VARCHAR2_TABLE_100();
240     a20 := JTF_NUMBER_TABLE();
241     a21 := JTF_NUMBER_TABLE();
242     a22 := JTF_NUMBER_TABLE();
243   else
244       a0 := JTF_NUMBER_TABLE();
245       a1 := JTF_NUMBER_TABLE();
246       a2 := JTF_VARCHAR2_TABLE_100();
247       a3 := JTF_VARCHAR2_TABLE_100();
248       a4 := JTF_NUMBER_TABLE();
249       a5 := JTF_NUMBER_TABLE();
250       a6 := JTF_VARCHAR2_TABLE_200();
251       a7 := JTF_NUMBER_TABLE();
252       a8 := JTF_VARCHAR2_TABLE_100();
253       a9 := JTF_NUMBER_TABLE();
254       a10 := JTF_NUMBER_TABLE();
255       a11 := JTF_DATE_TABLE();
256       a12 := JTF_DATE_TABLE();
257       a13 := JTF_VARCHAR2_TABLE_2000();
258       a14 := JTF_VARCHAR2_TABLE_2000();
259       a15 := JTF_NUMBER_TABLE();
260       a16 := JTF_VARCHAR2_TABLE_100();
261       a17 := JTF_NUMBER_TABLE();
262       a18 := JTF_VARCHAR2_TABLE_300();
263       a19 := JTF_VARCHAR2_TABLE_100();
264       a20 := JTF_NUMBER_TABLE();
265       a21 := JTF_NUMBER_TABLE();
266       a22 := JTF_NUMBER_TABLE();
267       if t.count > 0 then
268         a0.extend(t.count);
269         a1.extend(t.count);
270         a2.extend(t.count);
271         a3.extend(t.count);
272         a4.extend(t.count);
273         a5.extend(t.count);
274         a6.extend(t.count);
275         a7.extend(t.count);
276         a8.extend(t.count);
277         a9.extend(t.count);
278         a10.extend(t.count);
279         a11.extend(t.count);
280         a12.extend(t.count);
281         a13.extend(t.count);
282         a14.extend(t.count);
283         a15.extend(t.count);
284         a16.extend(t.count);
285         a17.extend(t.count);
286         a18.extend(t.count);
287         a19.extend(t.count);
288         a20.extend(t.count);
289         a21.extend(t.count);
290         a22.extend(t.count);
291         ddindx := t.first;
292         indx := 1;
293         while true loop
294           a0(indx) := t(ddindx).itemdisplaytype;
295           a1(indx) := t(ddindx).itemsourceid;
296           a2(indx) := t(ddindx).itemsourcecode;
297           a3(indx) := t(ddindx).sourceobjecttypecode;
298           a4(indx) := t(ddindx).sourceid;
299           a5(indx) := t(ddindx).customerid;
300           a6(indx) := t(ddindx).itemname;
301           a7(indx) := t(ddindx).accesslevel;
302           a8(indx) := t(ddindx).color;
303           a9(indx) := t(ddindx).inviteindicator;
304           a10(indx) := t(ddindx).repeatindicator;
305           a11(indx) := t(ddindx).startdate;
306           a12(indx) := t(ddindx).enddate;
307           a13(indx) := t(ddindx).url;
308           a14(indx) := t(ddindx).urlparamlist;
309           a15(indx) := t(ddindx).priorityid;
310           a16(indx) := t(ddindx).priorityname;
311           a17(indx) := t(ddindx).categoryid;
312           a18(indx) := t(ddindx).categorydesc;
313           a19(indx) := t(ddindx).noteflag;
314           a20(indx) := t(ddindx).taskovn;
315           a21(indx) := t(ddindx).assignmentovn;
316           a22(indx) := t(ddindx).grouprsid;
317           indx := indx+1;
318           if t.last =ddindx
319             then exit;
320           end if;
321           ddindx := t.next(ddindx);
322         end loop;
323       end if;
324    end if;
325   end rosetta_table_copy_out_p7;
326 
327   procedure getcalendarlist(p_api_version  NUMBER
328     , p_init_msg_list  VARCHAR2
329     , p_validation_level  NUMBER
330     , x_return_status out nocopy  VARCHAR2
331     , x_msg_count out nocopy  NUMBER
332     , x_msg_data out nocopy  VARCHAR2
333     , p_resourceid in out nocopy  NUMBER
334     , p_resourcetype in out nocopy  VARCHAR2
335     , p_userid  NUMBER
336     , p9_a0 out nocopy JTF_NUMBER_TABLE
337     , p9_a1 out nocopy JTF_VARCHAR2_TABLE_100
338     , p9_a2 out nocopy JTF_VARCHAR2_TABLE_400
339     , p9_a3 out nocopy JTF_VARCHAR2_TABLE_100
340   )
341 
342   as
343     ddx_calendarlist jtf_cal_pvt.callsttbltype;
344     ddindx binary_integer; indx binary_integer;
345   begin
346 
347     -- copy data to the local IN or IN-OUT args, if any
348 
349 
350 
351 
352 
353 
354 
355 
356 
357 
358     -- here's the delegated call to the old PL/SQL routine
359     jtf_cal_pvt.getcalendarlist(p_api_version,
360       p_init_msg_list,
361       p_validation_level,
362       x_return_status,
363       x_msg_count,
364       x_msg_data,
365       p_resourceid,
366       p_resourcetype,
367       p_userid,
368       ddx_calendarlist);
369 
370     -- copy data back from the local variables to OUT or IN-OUT args, if any
371 
372 
373 
374 
375 
376 
377 
378 
379 
380     jtf_cal_pvt_w.rosetta_table_copy_out_p1(ddx_calendarlist, p9_a0
381       , p9_a1
382       , p9_a2
383       , p9_a3
384       );
385   end;
386 
387   procedure getview(p_api_version  NUMBER
388     , p_init_msg_list  VARCHAR2
389     , p_validation_level  NUMBER
390     , x_return_status out nocopy  VARCHAR2
391     , x_msg_count out nocopy  NUMBER
392     , x_msg_data out nocopy  VARCHAR2
393     , p6_a0  NUMBER
394     , p6_a1  NUMBER
395     , p6_a2  VARCHAR2
396     , p6_a3  NUMBER
397     , p6_a4  VARCHAR2
398     , p6_a5  DATE
399     , p6_a6  NUMBER
400     , p7_a0 out nocopy JTF_NUMBER_TABLE
401     , p7_a1 out nocopy JTF_NUMBER_TABLE
402     , p7_a2 out nocopy JTF_VARCHAR2_TABLE_100
403     , p7_a3 out nocopy JTF_VARCHAR2_TABLE_100
404     , p7_a4 out nocopy JTF_NUMBER_TABLE
405     , p7_a5 out nocopy JTF_NUMBER_TABLE
406     , p7_a6 out nocopy JTF_VARCHAR2_TABLE_200
407     , p7_a7 out nocopy JTF_NUMBER_TABLE
408     , p7_a8 out nocopy JTF_VARCHAR2_TABLE_100
409     , p7_a9 out nocopy JTF_NUMBER_TABLE
410     , p7_a10 out nocopy JTF_NUMBER_TABLE
411     , p7_a11 out nocopy JTF_DATE_TABLE
412     , p7_a12 out nocopy JTF_DATE_TABLE
413     , p7_a13 out nocopy JTF_VARCHAR2_TABLE_2000
414     , p7_a14 out nocopy JTF_VARCHAR2_TABLE_2000
415     , p7_a15 out nocopy JTF_NUMBER_TABLE
416     , p7_a16 out nocopy JTF_VARCHAR2_TABLE_100
417     , p7_a17 out nocopy JTF_NUMBER_TABLE
418     , p7_a18 out nocopy JTF_VARCHAR2_TABLE_300
419     , p7_a19 out nocopy JTF_VARCHAR2_TABLE_100
420     , p7_a20 out nocopy JTF_NUMBER_TABLE
421     , p7_a21 out nocopy JTF_NUMBER_TABLE
422     , p7_a22 out nocopy JTF_NUMBER_TABLE
423     , p8_a0 out nocopy  NUMBER
424     , p8_a1 out nocopy  VARCHAR2
425     , p8_a2 out nocopy  VARCHAR2
426     , p8_a3 out nocopy  VARCHAR2
427     , p8_a4 out nocopy  VARCHAR2
428     , p8_a5 out nocopy  VARCHAR2
429     , p8_a6 out nocopy  NUMBER
430     , p8_a7 out nocopy  NUMBER
431     , p8_a8 out nocopy  NUMBER
432     , p8_a9 out nocopy  NUMBER
433     , p8_a10 out nocopy  DATE
434     , p8_a11 out nocopy  DATE
435     , p8_a12 out nocopy  DATE
436     , p8_a13 out nocopy  VARCHAR2
437     , p8_a14 out nocopy  VARCHAR2
438     , p8_a15 out nocopy  VARCHAR2
439     , p8_a16 out nocopy  VARCHAR2
440     , p8_a17 out nocopy  VARCHAR2
441     , p8_a18 out nocopy  VARCHAR2
442     , p8_a19 out nocopy  VARCHAR2
443     , p8_a20 out nocopy  VARCHAR2
444   )
445 
446   as
447     ddp_input jtf_cal_pvt.queryin;
448     ddx_displayitems jtf_cal_pvt.queryouttab;
449     ddx_preferences jtf_cal_pvt.preference;
450     ddindx binary_integer; indx binary_integer;
451   begin
452 
453     -- copy data to the local IN or IN-OUT args, if any
454 
455 
456 
457 
458 
459 
460     ddp_input.userid := p6_a0;
461     ddp_input.loggedonrsid := p6_a1;
462     ddp_input.loggedonrstype := p6_a2;
463     ddp_input.queryrsid := p6_a3;
464     ddp_input.queryrstype := p6_a4;
465     ddp_input.startdate := rosetta_g_miss_date_in_map(p6_a5);
466     ddp_input.querymode := p6_a6;
467 
468 
469 
470     -- here's the delegated call to the old PL/SQL routine
471     jtf_cal_pvt.getview(p_api_version,
472       p_init_msg_list,
473       p_validation_level,
474       x_return_status,
475       x_msg_count,
476       x_msg_data,
477       ddp_input,
478       ddx_displayitems,
479       ddx_preferences);
480 
481     -- copy data back from the local variables to OUT or IN-OUT args, if any
482 
483 
484 
485 
486 
487 
488 
489     jtf_cal_pvt_w.rosetta_table_copy_out_p7(ddx_displayitems, p7_a0
490       , p7_a1
491       , p7_a2
492       , p7_a3
493       , p7_a4
494       , p7_a5
495       , p7_a6
496       , p7_a7
497       , p7_a8
498       , p7_a9
499       , p7_a10
500       , p7_a11
501       , p7_a12
502       , p7_a13
503       , p7_a14
504       , p7_a15
505       , p7_a16
506       , p7_a17
507       , p7_a18
508       , p7_a19
509       , p7_a20
510       , p7_a21
511       , p7_a22
512       );
513 
514     p8_a0 := ddx_preferences.loggedonrsid;
515     p8_a1 := ddx_preferences.loggedonrstype;
516     p8_a2 := ddx_preferences.loggedonrsname;
517     p8_a3 := ddx_preferences.sendemail;
518     p8_a4 := ddx_preferences.timeformat;
519     p8_a5 := ddx_preferences.dateformat;
520     p8_a6 := ddx_preferences.timezone;
521     p8_a7 := ddx_preferences.weekstart;
522     p8_a8 := ddx_preferences.weekend;
523     p8_a9 := ddx_preferences.apptincrement;
524     p8_a10 := ddx_preferences.minstarttime;
525     p8_a11 := ddx_preferences.maxendtime;
526     p8_a12 := ddx_preferences.currenttime;
527     p8_a13 := ddx_preferences.displayitems;
528     p8_a14 := ddx_preferences.apptcolor;
529     p8_a15 := ddx_preferences.apptprefix;
530     p8_a16 := ddx_preferences.taskcolor;
531     p8_a17 := ddx_preferences.taskprefix;
532     p8_a18 := ddx_preferences.itemcolor;
533     p8_a19 := ddx_preferences.itemprefix;
534     p8_a20 := ddx_preferences.taskcustomersource;
535   end;
536 
537 end jtf_cal_pvt_w;