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