DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_USER_ACCESS_PVT_W

Source


1 package body cn_user_access_pvt_w as
2   /* $Header: cnwurasb.pls 115.4 2002/11/25 22:32:50 nkodkani 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   procedure rosetta_table_copy_in_p1(t out nocopy cn_user_access_pvt.user_access_tbl_type, a0 JTF_NUMBER_TABLE
14     , a1 JTF_NUMBER_TABLE
15     , a2 JTF_NUMBER_TABLE
16     , a3 JTF_VARCHAR2_TABLE_100
17     , a4 JTF_VARCHAR2_TABLE_100
18     , a5 JTF_VARCHAR2_TABLE_100
19     , a6 JTF_VARCHAR2_TABLE_200
20     , a7 JTF_VARCHAR2_TABLE_200
21     , a8 JTF_VARCHAR2_TABLE_200
22     , a9 JTF_VARCHAR2_TABLE_200
23     , a10 JTF_VARCHAR2_TABLE_200
24     , a11 JTF_VARCHAR2_TABLE_200
25     , a12 JTF_VARCHAR2_TABLE_200
26     , a13 JTF_VARCHAR2_TABLE_200
27     , a14 JTF_VARCHAR2_TABLE_200
28     , a15 JTF_VARCHAR2_TABLE_200
29     , a16 JTF_VARCHAR2_TABLE_200
30     , a17 JTF_VARCHAR2_TABLE_200
31     , a18 JTF_VARCHAR2_TABLE_200
32     , a19 JTF_VARCHAR2_TABLE_200
33     , a20 JTF_VARCHAR2_TABLE_200
34     , a21 JTF_NUMBER_TABLE
35     ) as
36     ddindx binary_integer; indx binary_integer;
37   begin
38   if a0 is not null and a0.count > 0 then
39       if a0.count > 0 then
40         indx := a0.first;
41         ddindx := 1;
42         while true loop
43           t(ddindx).user_access_id := a0(indx);
44           t(ddindx).user_id := a1(indx);
45           t(ddindx).comp_group_id := a2(indx);
46           t(ddindx).org_code := a3(indx);
47           t(ddindx).access_code := a4(indx);
48           t(ddindx).attribute_category := a5(indx);
49           t(ddindx).attribute1 := a6(indx);
50           t(ddindx).attribute2 := a7(indx);
51           t(ddindx).attribute3 := a8(indx);
52           t(ddindx).attribute4 := a9(indx);
53           t(ddindx).attribute5 := a10(indx);
54           t(ddindx).attribute6 := a11(indx);
55           t(ddindx).attribute7 := a12(indx);
56           t(ddindx).attribute8 := a13(indx);
57           t(ddindx).attribute9 := a14(indx);
58           t(ddindx).attribute10 := a15(indx);
59           t(ddindx).attribute11 := a16(indx);
60           t(ddindx).attribute12 := a17(indx);
61           t(ddindx).attribute13 := a18(indx);
62           t(ddindx).attribute14 := a19(indx);
63           t(ddindx).attribute15 := a20(indx);
64           t(ddindx).object_version_number := a21(indx);
65           ddindx := ddindx+1;
66           if a0.last =indx
67             then exit;
68           end if;
69           indx := a0.next(indx);
70         end loop;
71       end if;
72    end if;
73   end rosetta_table_copy_in_p1;
74   procedure rosetta_table_copy_out_p1(t cn_user_access_pvt.user_access_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
75     , a1 out nocopy JTF_NUMBER_TABLE
76     , a2 out nocopy JTF_NUMBER_TABLE
77     , a3 out nocopy JTF_VARCHAR2_TABLE_100
78     , a4 out nocopy JTF_VARCHAR2_TABLE_100
79     , a5 out nocopy JTF_VARCHAR2_TABLE_100
80     , a6 out nocopy JTF_VARCHAR2_TABLE_200
81     , a7 out nocopy JTF_VARCHAR2_TABLE_200
82     , a8 out nocopy JTF_VARCHAR2_TABLE_200
83     , a9 out nocopy JTF_VARCHAR2_TABLE_200
84     , a10 out nocopy JTF_VARCHAR2_TABLE_200
85     , a11 out nocopy JTF_VARCHAR2_TABLE_200
86     , a12 out nocopy JTF_VARCHAR2_TABLE_200
87     , a13 out nocopy JTF_VARCHAR2_TABLE_200
88     , a14 out nocopy JTF_VARCHAR2_TABLE_200
89     , a15 out nocopy JTF_VARCHAR2_TABLE_200
90     , a16 out nocopy JTF_VARCHAR2_TABLE_200
91     , a17 out nocopy JTF_VARCHAR2_TABLE_200
92     , a18 out nocopy JTF_VARCHAR2_TABLE_200
93     , a19 out nocopy JTF_VARCHAR2_TABLE_200
94     , a20 out nocopy JTF_VARCHAR2_TABLE_200
95     , a21 out nocopy JTF_NUMBER_TABLE
96     ) as
97     ddindx binary_integer; indx binary_integer;
98   begin
99   if t is null or t.count = 0 then
100     a0 := JTF_NUMBER_TABLE();
101     a1 := JTF_NUMBER_TABLE();
102     a2 := JTF_NUMBER_TABLE();
103     a3 := JTF_VARCHAR2_TABLE_100();
104     a4 := JTF_VARCHAR2_TABLE_100();
105     a5 := JTF_VARCHAR2_TABLE_100();
106     a6 := JTF_VARCHAR2_TABLE_200();
107     a7 := JTF_VARCHAR2_TABLE_200();
108     a8 := JTF_VARCHAR2_TABLE_200();
109     a9 := JTF_VARCHAR2_TABLE_200();
110     a10 := JTF_VARCHAR2_TABLE_200();
111     a11 := JTF_VARCHAR2_TABLE_200();
112     a12 := JTF_VARCHAR2_TABLE_200();
113     a13 := JTF_VARCHAR2_TABLE_200();
114     a14 := JTF_VARCHAR2_TABLE_200();
115     a15 := JTF_VARCHAR2_TABLE_200();
116     a16 := JTF_VARCHAR2_TABLE_200();
117     a17 := JTF_VARCHAR2_TABLE_200();
118     a18 := JTF_VARCHAR2_TABLE_200();
119     a19 := JTF_VARCHAR2_TABLE_200();
120     a20 := JTF_VARCHAR2_TABLE_200();
121     a21 := JTF_NUMBER_TABLE();
122   else
123       a0 := JTF_NUMBER_TABLE();
124       a1 := JTF_NUMBER_TABLE();
125       a2 := JTF_NUMBER_TABLE();
126       a3 := JTF_VARCHAR2_TABLE_100();
127       a4 := JTF_VARCHAR2_TABLE_100();
128       a5 := JTF_VARCHAR2_TABLE_100();
129       a6 := JTF_VARCHAR2_TABLE_200();
130       a7 := JTF_VARCHAR2_TABLE_200();
131       a8 := JTF_VARCHAR2_TABLE_200();
132       a9 := JTF_VARCHAR2_TABLE_200();
133       a10 := JTF_VARCHAR2_TABLE_200();
134       a11 := JTF_VARCHAR2_TABLE_200();
135       a12 := JTF_VARCHAR2_TABLE_200();
136       a13 := JTF_VARCHAR2_TABLE_200();
137       a14 := JTF_VARCHAR2_TABLE_200();
138       a15 := JTF_VARCHAR2_TABLE_200();
139       a16 := JTF_VARCHAR2_TABLE_200();
140       a17 := JTF_VARCHAR2_TABLE_200();
141       a18 := JTF_VARCHAR2_TABLE_200();
142       a19 := JTF_VARCHAR2_TABLE_200();
143       a20 := JTF_VARCHAR2_TABLE_200();
144       a21 := JTF_NUMBER_TABLE();
145       if t.count > 0 then
146         a0.extend(t.count);
147         a1.extend(t.count);
148         a2.extend(t.count);
149         a3.extend(t.count);
150         a4.extend(t.count);
151         a5.extend(t.count);
152         a6.extend(t.count);
153         a7.extend(t.count);
154         a8.extend(t.count);
155         a9.extend(t.count);
156         a10.extend(t.count);
157         a11.extend(t.count);
158         a12.extend(t.count);
159         a13.extend(t.count);
160         a14.extend(t.count);
161         a15.extend(t.count);
162         a16.extend(t.count);
163         a17.extend(t.count);
164         a18.extend(t.count);
165         a19.extend(t.count);
166         a20.extend(t.count);
167         a21.extend(t.count);
168         ddindx := t.first;
169         indx := 1;
170         while true loop
171           a0(indx) := t(ddindx).user_access_id;
172           a1(indx) := t(ddindx).user_id;
173           a2(indx) := t(ddindx).comp_group_id;
174           a3(indx) := t(ddindx).org_code;
175           a4(indx) := t(ddindx).access_code;
176           a5(indx) := t(ddindx).attribute_category;
177           a6(indx) := t(ddindx).attribute1;
178           a7(indx) := t(ddindx).attribute2;
179           a8(indx) := t(ddindx).attribute3;
180           a9(indx) := t(ddindx).attribute4;
181           a10(indx) := t(ddindx).attribute5;
182           a11(indx) := t(ddindx).attribute6;
183           a12(indx) := t(ddindx).attribute7;
184           a13(indx) := t(ddindx).attribute8;
185           a14(indx) := t(ddindx).attribute9;
186           a15(indx) := t(ddindx).attribute10;
187           a16(indx) := t(ddindx).attribute11;
188           a17(indx) := t(ddindx).attribute12;
189           a18(indx) := t(ddindx).attribute13;
190           a19(indx) := t(ddindx).attribute14;
191           a20(indx) := t(ddindx).attribute15;
192           a21(indx) := t(ddindx).object_version_number;
193           indx := indx+1;
194           if t.last =ddindx
195             then exit;
196           end if;
197           ddindx := t.next(ddindx);
198         end loop;
199       end if;
200    end if;
201   end rosetta_table_copy_out_p1;
202 
203   procedure rosetta_table_copy_in_p3(t out nocopy cn_user_access_pvt.user_access_sum_tbl_type, a0 JTF_NUMBER_TABLE
204     , a1 JTF_VARCHAR2_TABLE_300
205     , a2 JTF_VARCHAR2_TABLE_100
206     ) as
207     ddindx binary_integer; indx binary_integer;
208   begin
209   if a0 is not null and a0.count > 0 then
210       if a0.count > 0 then
211         indx := a0.first;
212         ddindx := 1;
213         while true loop
214           t(ddindx).user_id := a0(indx);
215           t(ddindx).full_name := a1(indx);
216           t(ddindx).user_name := a2(indx);
217           ddindx := ddindx+1;
218           if a0.last =indx
219             then exit;
220           end if;
221           indx := a0.next(indx);
222         end loop;
223       end if;
224    end if;
225   end rosetta_table_copy_in_p3;
226   procedure rosetta_table_copy_out_p3(t cn_user_access_pvt.user_access_sum_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
227     , a1 out nocopy JTF_VARCHAR2_TABLE_300
228     , a2 out nocopy JTF_VARCHAR2_TABLE_100
229     ) as
230     ddindx binary_integer; indx binary_integer;
231   begin
232   if t is null or t.count = 0 then
233     a0 := JTF_NUMBER_TABLE();
234     a1 := JTF_VARCHAR2_TABLE_300();
235     a2 := JTF_VARCHAR2_TABLE_100();
236   else
237       a0 := JTF_NUMBER_TABLE();
238       a1 := JTF_VARCHAR2_TABLE_300();
239       a2 := JTF_VARCHAR2_TABLE_100();
240       if t.count > 0 then
241         a0.extend(t.count);
242         a1.extend(t.count);
243         a2.extend(t.count);
244         ddindx := t.first;
245         indx := 1;
246         while true loop
247           a0(indx) := t(ddindx).user_id;
248           a1(indx) := t(ddindx).full_name;
249           a2(indx) := t(ddindx).user_name;
250           indx := indx+1;
251           if t.last =ddindx
252             then exit;
253           end if;
254           ddindx := t.next(ddindx);
255         end loop;
256       end if;
257    end if;
258   end rosetta_table_copy_out_p3;
259 
260   procedure create_user_access(p_api_version  NUMBER
261     , p_init_msg_list  VARCHAR2
262     , p_commit  VARCHAR2
263     , p_validation_level  NUMBER
264     , p4_a0  NUMBER
265     , p4_a1  NUMBER
266     , p4_a2  NUMBER
267     , p4_a3  VARCHAR
268     , p4_a4  VARCHAR
269     , p4_a5  VARCHAR2
270     , p4_a6  VARCHAR2
271     , p4_a7  VARCHAR2
272     , p4_a8  VARCHAR2
273     , p4_a9  VARCHAR2
274     , p4_a10  VARCHAR2
275     , p4_a11  VARCHAR2
276     , p4_a12  VARCHAR2
277     , p4_a13  VARCHAR2
278     , p4_a14  VARCHAR2
279     , p4_a15  VARCHAR2
280     , p4_a16  VARCHAR2
281     , p4_a17  VARCHAR2
282     , p4_a18  VARCHAR2
283     , p4_a19  VARCHAR2
284     , p4_a20  VARCHAR2
285     , p4_a21  NUMBER
286     , x_return_status out nocopy  VARCHAR2
287     , x_msg_count out nocopy  NUMBER
288     , x_msg_data out nocopy  VARCHAR2
289     , x_user_access_id out nocopy  NUMBER
290   )
291 
292   as
293     ddp_rec cn_user_access_pvt.user_access_rec_type;
294     ddindx binary_integer; indx binary_integer;
295   begin
296 
297     -- copy data to the local IN or IN-OUT args, if any
298 
299 
300 
301 
302     ddp_rec.user_access_id := p4_a0;
303     ddp_rec.user_id := p4_a1;
304     ddp_rec.comp_group_id := p4_a2;
305     ddp_rec.org_code := p4_a3;
306     ddp_rec.access_code := p4_a4;
307     ddp_rec.attribute_category := p4_a5;
308     ddp_rec.attribute1 := p4_a6;
309     ddp_rec.attribute2 := p4_a7;
310     ddp_rec.attribute3 := p4_a8;
311     ddp_rec.attribute4 := p4_a9;
312     ddp_rec.attribute5 := p4_a10;
313     ddp_rec.attribute6 := p4_a11;
314     ddp_rec.attribute7 := p4_a12;
315     ddp_rec.attribute8 := p4_a13;
316     ddp_rec.attribute9 := p4_a14;
317     ddp_rec.attribute10 := p4_a15;
318     ddp_rec.attribute11 := p4_a16;
319     ddp_rec.attribute12 := p4_a17;
320     ddp_rec.attribute13 := p4_a18;
321     ddp_rec.attribute14 := p4_a19;
322     ddp_rec.attribute15 := p4_a20;
323     ddp_rec.object_version_number := p4_a21;
324 
325 
326 
327 
328 
329     -- here's the delegated call to the old PL/SQL routine
330     cn_user_access_pvt.create_user_access(p_api_version,
331       p_init_msg_list,
332       p_commit,
333       p_validation_level,
334       ddp_rec,
335       x_return_status,
336       x_msg_count,
337       x_msg_data,
338       x_user_access_id);
339 
340     -- copy data back from the local variables to OUT or IN-OUT args, if any
341 
342 
343 
344 
345 
346 
347 
348 
349   end;
350 
351   procedure update_user_access(p_api_version  NUMBER
352     , p_init_msg_list  VARCHAR2
353     , p_commit  VARCHAR2
354     , p_validation_level  NUMBER
355     , p4_a0  NUMBER
356     , p4_a1  NUMBER
357     , p4_a2  NUMBER
358     , p4_a3  VARCHAR
359     , p4_a4  VARCHAR
360     , p4_a5  VARCHAR2
361     , p4_a6  VARCHAR2
362     , p4_a7  VARCHAR2
363     , p4_a8  VARCHAR2
364     , p4_a9  VARCHAR2
365     , p4_a10  VARCHAR2
366     , p4_a11  VARCHAR2
367     , p4_a12  VARCHAR2
368     , p4_a13  VARCHAR2
369     , p4_a14  VARCHAR2
370     , p4_a15  VARCHAR2
371     , p4_a16  VARCHAR2
372     , p4_a17  VARCHAR2
373     , p4_a18  VARCHAR2
374     , p4_a19  VARCHAR2
375     , p4_a20  VARCHAR2
376     , p4_a21  NUMBER
377     , x_return_status out nocopy  VARCHAR2
378     , x_msg_count out nocopy  NUMBER
379     , x_msg_data out nocopy  VARCHAR2
380   )
381 
382   as
383     ddp_rec cn_user_access_pvt.user_access_rec_type;
384     ddindx binary_integer; indx binary_integer;
385   begin
386 
387     -- copy data to the local IN or IN-OUT args, if any
388 
389 
390 
391 
392     ddp_rec.user_access_id := p4_a0;
393     ddp_rec.user_id := p4_a1;
394     ddp_rec.comp_group_id := p4_a2;
395     ddp_rec.org_code := p4_a3;
396     ddp_rec.access_code := p4_a4;
397     ddp_rec.attribute_category := p4_a5;
398     ddp_rec.attribute1 := p4_a6;
399     ddp_rec.attribute2 := p4_a7;
400     ddp_rec.attribute3 := p4_a8;
401     ddp_rec.attribute4 := p4_a9;
402     ddp_rec.attribute5 := p4_a10;
403     ddp_rec.attribute6 := p4_a11;
404     ddp_rec.attribute7 := p4_a12;
405     ddp_rec.attribute8 := p4_a13;
406     ddp_rec.attribute9 := p4_a14;
407     ddp_rec.attribute10 := p4_a15;
408     ddp_rec.attribute11 := p4_a16;
409     ddp_rec.attribute12 := p4_a17;
410     ddp_rec.attribute13 := p4_a18;
411     ddp_rec.attribute14 := p4_a19;
412     ddp_rec.attribute15 := p4_a20;
413     ddp_rec.object_version_number := p4_a21;
414 
415 
416 
417 
418     -- here's the delegated call to the old PL/SQL routine
419     cn_user_access_pvt.update_user_access(p_api_version,
420       p_init_msg_list,
421       p_commit,
422       p_validation_level,
423       ddp_rec,
424       x_return_status,
425       x_msg_count,
426       x_msg_data);
427 
428     -- copy data back from the local variables to OUT or IN-OUT args, if any
429 
430 
431 
432 
433 
434 
435 
436   end;
437 
438   procedure get_accesses(p_range_low  NUMBER
439     , p_range_high  NUMBER
440     , x_total_rows out nocopy  NUMBER
441     , p3_a0 out nocopy JTF_NUMBER_TABLE
442     , p3_a1 out nocopy JTF_VARCHAR2_TABLE_300
443     , p3_a2 out nocopy JTF_VARCHAR2_TABLE_100
444   )
445 
446   as
447     ddx_result_tbl cn_user_access_pvt.user_access_sum_tbl_type;
448     ddindx binary_integer; indx binary_integer;
449   begin
450 
451     -- copy data to the local IN or IN-OUT args, if any
452 
453 
454 
455 
456     -- here's the delegated call to the old PL/SQL routine
457     cn_user_access_pvt.get_accesses(p_range_low,
458       p_range_high,
459       x_total_rows,
460       ddx_result_tbl);
461 
462     -- copy data back from the local variables to OUT or IN-OUT args, if any
463 
464 
465 
466     cn_user_access_pvt_w.rosetta_table_copy_out_p3(ddx_result_tbl, p3_a0
467       , p3_a1
468       , p3_a2
469       );
470   end;
471 
472   procedure get_access_details(p_user_id  NUMBER
473     , p1_a0 out nocopy JTF_NUMBER_TABLE
474     , p1_a1 out nocopy JTF_NUMBER_TABLE
475     , p1_a2 out nocopy JTF_NUMBER_TABLE
476     , p1_a3 out nocopy JTF_VARCHAR2_TABLE_100
477     , p1_a4 out nocopy JTF_VARCHAR2_TABLE_100
478     , p1_a5 out nocopy JTF_VARCHAR2_TABLE_100
479     , p1_a6 out nocopy JTF_VARCHAR2_TABLE_200
480     , p1_a7 out nocopy JTF_VARCHAR2_TABLE_200
481     , p1_a8 out nocopy JTF_VARCHAR2_TABLE_200
482     , p1_a9 out nocopy JTF_VARCHAR2_TABLE_200
483     , p1_a10 out nocopy JTF_VARCHAR2_TABLE_200
484     , p1_a11 out nocopy JTF_VARCHAR2_TABLE_200
485     , p1_a12 out nocopy JTF_VARCHAR2_TABLE_200
486     , p1_a13 out nocopy JTF_VARCHAR2_TABLE_200
487     , p1_a14 out nocopy JTF_VARCHAR2_TABLE_200
488     , p1_a15 out nocopy JTF_VARCHAR2_TABLE_200
489     , p1_a16 out nocopy JTF_VARCHAR2_TABLE_200
490     , p1_a17 out nocopy JTF_VARCHAR2_TABLE_200
491     , p1_a18 out nocopy JTF_VARCHAR2_TABLE_200
492     , p1_a19 out nocopy JTF_VARCHAR2_TABLE_200
493     , p1_a20 out nocopy JTF_VARCHAR2_TABLE_200
494     , p1_a21 out nocopy JTF_NUMBER_TABLE
495   )
496 
497   as
498     ddx_result_tbl cn_user_access_pvt.user_access_tbl_type;
499     ddindx binary_integer; indx binary_integer;
500   begin
501 
502     -- copy data to the local IN or IN-OUT args, if any
503 
504 
505     -- here's the delegated call to the old PL/SQL routine
506     cn_user_access_pvt.get_access_details(p_user_id,
507       ddx_result_tbl);
508 
509     -- copy data back from the local variables to OUT or IN-OUT args, if any
510 
511     cn_user_access_pvt_w.rosetta_table_copy_out_p1(ddx_result_tbl, p1_a0
512       , p1_a1
513       , p1_a2
514       , p1_a3
515       , p1_a4
516       , p1_a5
517       , p1_a6
518       , p1_a7
519       , p1_a8
520       , p1_a9
521       , p1_a10
522       , p1_a11
523       , p1_a12
524       , p1_a13
525       , p1_a14
526       , p1_a15
527       , p1_a16
528       , p1_a17
529       , p1_a18
530       , p1_a19
531       , p1_a20
532       , p1_a21
533       );
534   end;
535 
536 end cn_user_access_pvt_w;