[Home] [Help]
PACKAGE BODY: APPS.JTF_PERZ_DATA_PUB_W
Source
1 package body jtf_perz_data_pub_w as
2 /* $Header: jtfzwpdb.pls 120.2 2005/11/02 23:47:32 skothe 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 function rosetta_g_miss_num_map(n number) return number as
7 a number := fnd_api.g_miss_num;
8 b number := 0-1962.0724;
9 begin
10 if n=a then return b; end if;
11 if n=b then return a; end if;
12 return n;
13 end;
14
15 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16 function rosetta_g_miss_date_in_map(d date) return date as
17 begin
18 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19 return d;
20 end;
21
22 procedure rosetta_table_copy_in_p1(t OUT NOCOPY /* file.sql.39 change */ jtf_perz_data_pub.data_attrib_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_NUMBER_TABLE
24 , a2 JTF_VARCHAR2_TABLE_100
25 , a3 JTF_VARCHAR2_TABLE_100
26 , a4 JTF_VARCHAR2_TABLE_300
27 , a5 JTF_VARCHAR2_TABLE_100
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).perz_data_attrib_id := a0(indx);
37 t(ddindx).perz_data_id := a1(indx);
38 t(ddindx).attribute_name := a2(indx);
39 t(ddindx).attribute_type := a3(indx);
40 t(ddindx).attribute_value := a4(indx);
41 t(ddindx).attribute_context := 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_p1;
51 procedure rosetta_table_copy_out_p1(t jtf_perz_data_pub.data_attrib_tbl_type, a0 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
52 , a1 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
53 , a2 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
54 , a3 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
55 , a4 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_300
56 , a5 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
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_NUMBER_TABLE();
63 a2 := JTF_VARCHAR2_TABLE_100();
64 a3 := JTF_VARCHAR2_TABLE_100();
65 a4 := JTF_VARCHAR2_TABLE_300();
66 a5 := JTF_VARCHAR2_TABLE_100();
67 else
68 a0 := JTF_NUMBER_TABLE();
69 a1 := JTF_NUMBER_TABLE();
70 a2 := JTF_VARCHAR2_TABLE_100();
71 a3 := JTF_VARCHAR2_TABLE_100();
72 a4 := JTF_VARCHAR2_TABLE_300();
73 a5 := JTF_VARCHAR2_TABLE_100();
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) := t(ddindx).perz_data_attrib_id;
85 a1(indx) := t(ddindx).perz_data_id;
86 a2(indx) := t(ddindx).attribute_name;
87 a3(indx) := t(ddindx).attribute_type;
88 a4(indx) := t(ddindx).attribute_value;
89 a5(indx) := t(ddindx).attribute_context;
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_p1;
99
100 procedure rosetta_table_copy_in_p4(t OUT NOCOPY /* file.sql.39 change */ jtf_perz_data_pub.data_out_tbl_type, a0 JTF_NUMBER_TABLE
101 , a1 JTF_NUMBER_TABLE
102 , a2 JTF_NUMBER_TABLE
103 , a3 JTF_VARCHAR2_TABLE_200
104 , a4 JTF_VARCHAR2_TABLE_100
105 , a5 JTF_VARCHAR2_TABLE_300
106 ) as
107 ddindx binary_integer; indx binary_integer;
108 begin
109 if a0 is not null and a0.count > 0 then
110 if a0.count > 0 then
111 indx := a0.first;
112 ddindx := 1;
113 while true loop
114 t(ddindx).perz_data_id := a0(indx);
115 t(ddindx).profile_id := a1(indx);
116 t(ddindx).application_id := a2(indx);
117 t(ddindx).perz_data_name := a3(indx);
118 t(ddindx).perz_data_type := a4(indx);
119 t(ddindx).perz_data_desc := a5(indx);
120 ddindx := ddindx+1;
121 if a0.last =indx
122 then exit;
123 end if;
124 indx := a0.next(indx);
125 end loop;
126 end if;
127 end if;
128 end rosetta_table_copy_in_p4;
129 procedure rosetta_table_copy_out_p4(t jtf_perz_data_pub.data_out_tbl_type, a0 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
130 , a1 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
131 , a2 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
132 , a3 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_200
133 , a4 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
134 , a5 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_300
135 ) as
136 ddindx binary_integer; indx binary_integer;
137 begin
138 if t is null or t.count = 0 then
139 a0 := JTF_NUMBER_TABLE();
140 a1 := JTF_NUMBER_TABLE();
141 a2 := JTF_NUMBER_TABLE();
142 a3 := JTF_VARCHAR2_TABLE_200();
143 a4 := JTF_VARCHAR2_TABLE_100();
144 a5 := JTF_VARCHAR2_TABLE_300();
145 else
146 a0 := JTF_NUMBER_TABLE();
147 a1 := JTF_NUMBER_TABLE();
148 a2 := JTF_NUMBER_TABLE();
149 a3 := JTF_VARCHAR2_TABLE_200();
150 a4 := JTF_VARCHAR2_TABLE_100();
151 a5 := JTF_VARCHAR2_TABLE_300();
152 if t.count > 0 then
153 a0.extend(t.count);
154 a1.extend(t.count);
155 a2.extend(t.count);
156 a3.extend(t.count);
157 a4.extend(t.count);
158 a5.extend(t.count);
159 ddindx := t.first;
160 indx := 1;
161 while true loop
162 a0(indx) := t(ddindx).perz_data_id;
163 a1(indx) := t(ddindx).profile_id;
164 a2(indx) := t(ddindx).application_id;
165 a3(indx) := t(ddindx).perz_data_name;
166 a4(indx) := t(ddindx).perz_data_type;
167 a5(indx) := t(ddindx).perz_data_desc;
168 indx := indx+1;
169 if t.last =ddindx
170 then exit;
171 end if;
172 ddindx := t.next(ddindx);
173 end loop;
174 end if;
175 end if;
176 end rosetta_table_copy_out_p4;
177
178 procedure save_perz_data(p_api_version_number NUMBER
179 , p_init_msg_list VARCHAR2
180 , p_commit VARCHAR
181 , p_application_id NUMBER
182 , p_profile_id NUMBER
183 , p_profile_name VARCHAR2
184 , p_profile_type VARCHAR2
185 , p7_a0 JTF_NUMBER_TABLE
186 , p7_a1 JTF_NUMBER_TABLE
187 , p7_a2 JTF_VARCHAR2_TABLE_100
188 , p7_a3 JTF_VARCHAR2_TABLE_100
189 , p7_a4 JTF_VARCHAR2_TABLE_100
190 , p_perz_data_id NUMBER
191 , p_perz_data_name VARCHAR2
192 , p_perz_data_type VARCHAR2
193 , p_perz_data_desc VARCHAR2
194 , p12_a0 JTF_NUMBER_TABLE
195 , p12_a1 JTF_NUMBER_TABLE
196 , p12_a2 JTF_VARCHAR2_TABLE_100
197 , p12_a3 JTF_VARCHAR2_TABLE_100
198 , p12_a4 JTF_VARCHAR2_TABLE_300
199 , p12_a5 JTF_VARCHAR2_TABLE_100
200 , x_perz_data_id OUT NOCOPY /* file.sql.39 change */ NUMBER
201 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
202 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
203 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
204 )
205 as
206 ddp_profile_attrib jtf_perz_profile_pub.profile_attrib_tbl_type;
207 ddp_data_attrib_tbl jtf_perz_data_pub.data_attrib_tbl_type;
208 ddindx binary_integer; indx binary_integer;
209 begin
210
211 -- copy data to the local IN or IN-OUT args, if any
212
213
214
215
216
217
218
219 jtf_perz_profile_pub_w.rosetta_table_copy_in_p1(ddp_profile_attrib, p7_a0
220 , p7_a1
221 , p7_a2
222 , p7_a3
223 , p7_a4
224 );
225
226
227
228
229
230 jtf_perz_data_pub_w.rosetta_table_copy_in_p1(ddp_data_attrib_tbl, p12_a0
231 , p12_a1
232 , p12_a2
233 , p12_a3
234 , p12_a4
235 , p12_a5
236 );
237
238
239
240
241
242 -- here's the delegated call to the old PL/SQL routine
243 jtf_perz_data_pub.save_perz_data(p_api_version_number,
244 p_init_msg_list,
245 p_commit,
246 p_application_id,
247 p_profile_id,
248 p_profile_name,
249 p_profile_type,
250 ddp_profile_attrib,
251 p_perz_data_id,
252 p_perz_data_name,
253 p_perz_data_type,
254 p_perz_data_desc,
255 ddp_data_attrib_tbl,
256 x_perz_data_id,
257 x_return_status,
258 x_msg_count,
259 x_msg_data);
260
261 -- copy data back from the local OUT or IN-OUT args, if any
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278 end;
279
280 procedure create_perz_data(p_api_version_number NUMBER
281 , p_init_msg_list VARCHAR2
282 , p_commit VARCHAR
283 , p_application_id NUMBER
284 , p_profile_id NUMBER
285 , p_profile_name VARCHAR2
286 , p_perz_data_id NUMBER
287 , p_perz_data_name VARCHAR2
288 , p_perz_data_type VARCHAR2
289 , p_perz_data_desc VARCHAR2
290 , p10_a0 JTF_NUMBER_TABLE
291 , p10_a1 JTF_NUMBER_TABLE
292 , p10_a2 JTF_VARCHAR2_TABLE_100
293 , p10_a3 JTF_VARCHAR2_TABLE_100
294 , p10_a4 JTF_VARCHAR2_TABLE_300
295 , p10_a5 JTF_VARCHAR2_TABLE_100
296 , x_perz_data_id OUT NOCOPY /* file.sql.39 change */ NUMBER
297 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
298 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
299 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
300 )
301 as
302 ddp_data_attrib_tbl jtf_perz_data_pub.data_attrib_tbl_type;
303 ddindx binary_integer; indx binary_integer;
304 begin
305
306 -- copy data to the local IN or IN-OUT args, if any
307
308
309
310
311
312
313
314
315
316
317 jtf_perz_data_pub_w.rosetta_table_copy_in_p1(ddp_data_attrib_tbl, p10_a0
318 , p10_a1
319 , p10_a2
320 , p10_a3
321 , p10_a4
322 , p10_a5
323 );
324
325
326
327
328
329 -- here's the delegated call to the old PL/SQL routine
330 jtf_perz_data_pub.create_perz_data(p_api_version_number,
331 p_init_msg_list,
332 p_commit,
333 p_application_id,
334 p_profile_id,
335 p_profile_name,
336 p_perz_data_id,
337 p_perz_data_name,
338 p_perz_data_type,
339 p_perz_data_desc,
340 ddp_data_attrib_tbl,
341 x_perz_data_id,
342 x_return_status,
343 x_msg_count,
344 x_msg_data);
345
346 -- copy data back from the local OUT or IN-OUT args, if any
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361 end;
362
363 procedure get_perz_data(p_api_version_number NUMBER
364 , p_init_msg_list VARCHAR2
365 , p_application_id NUMBER
366 , p_profile_id NUMBER
367 , p_profile_name VARCHAR2
368 , p_perz_data_id NUMBER
369 , p_perz_data_name VARCHAR2
370 , p_perz_data_type VARCHAR2
371 , x_perz_data_id OUT NOCOPY /* file.sql.39 change */ NUMBER
372 , x_perz_data_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2
373 , x_perz_data_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
374 , x_perz_data_desc OUT NOCOPY /* file.sql.39 change */ VARCHAR2
375 , p12_a0 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
376 , p12_a1 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
377 , p12_a2 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
378 , p12_a3 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
379 , p12_a4 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_300
380 , p12_a5 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
381 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
382 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
383 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
384 )
385 as
386 ddx_data_attrib_tbl jtf_perz_data_pub.data_attrib_tbl_type;
387 ddindx binary_integer; indx binary_integer;
388 begin
389
390 -- copy data to the local IN or IN-OUT args, if any
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407 -- here's the delegated call to the old PL/SQL routine
408 jtf_perz_data_pub.get_perz_data(p_api_version_number,
409 p_init_msg_list,
410 p_application_id,
411 p_profile_id,
412 p_profile_name,
413 p_perz_data_id,
414 p_perz_data_name,
415 p_perz_data_type,
416 x_perz_data_id,
417 x_perz_data_name,
418 x_perz_data_type,
419 x_perz_data_desc,
420 ddx_data_attrib_tbl,
421 x_return_status,
422 x_msg_count,
423 x_msg_data);
424
425 -- copy data back from the local OUT or IN-OUT args, if any
426
427
428
429
430
431
432
433
434
435
436
440 , p12_a2
437
438 jtf_perz_data_pub_w.rosetta_table_copy_out_p1(ddx_data_attrib_tbl, p12_a0
439 , p12_a1
441 , p12_a3
442 , p12_a4
443 , p12_a5
444 );
445
446
447
448 end;
449
450 procedure get_perz_data_summary(p_api_version_number NUMBER
451 , p_init_msg_list VARCHAR2
452 , p_application_id NUMBER
453 , p_profile_id NUMBER
454 , p_profile_name VARCHAR2
455 , p_perz_data_id NUMBER
456 , p_perz_data_name VARCHAR2
457 , p_perz_data_type VARCHAR2
458 , p8_a0 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
459 , p8_a1 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
460 , p8_a2 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
461 , p8_a3 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_200
462 , p8_a4 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
463 , p8_a5 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_300
464 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
465 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
466 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
467 )
468 as
469 ddx_data_out_tbl jtf_perz_data_pub.data_out_tbl_type;
470 ddindx binary_integer; indx binary_integer;
471 begin
472
473 -- copy data to the local IN or IN-OUT args, if any
474
475
476
477
478
479
480
481
482
483
484
485
486 -- here's the delegated call to the old PL/SQL routine
487 jtf_perz_data_pub.get_perz_data_summary(p_api_version_number,
488 p_init_msg_list,
489 p_application_id,
490 p_profile_id,
491 p_profile_name,
492 p_perz_data_id,
493 p_perz_data_name,
494 p_perz_data_type,
495 ddx_data_out_tbl,
496 x_return_status,
497 x_msg_count,
498 x_msg_data);
499
500 -- copy data back from the local OUT or IN-OUT args, if any
501
502
503
504
505
506
507
508
509 jtf_perz_data_pub_w.rosetta_table_copy_out_p4(ddx_data_out_tbl, p8_a0
510 , p8_a1
511 , p8_a2
512 , p8_a3
513 , p8_a4
514 , p8_a5
515 );
516
517
518
519 end;
520
521 procedure update_perz_data(p_api_version_number NUMBER
522 , p_init_msg_list VARCHAR2
523 , p_commit VARCHAR
524 , p_application_id NUMBER
525 , p_profile_id NUMBER
526 , p_perz_data_id NUMBER
527 , p_perz_data_name VARCHAR2
528 , p_perz_data_type VARCHAR2
529 , p_perz_data_desc VARCHAR2
530 , p9_a0 JTF_NUMBER_TABLE
531 , p9_a1 JTF_NUMBER_TABLE
532 , p9_a2 JTF_VARCHAR2_TABLE_100
533 , p9_a3 JTF_VARCHAR2_TABLE_100
534 , p9_a4 JTF_VARCHAR2_TABLE_300
535 , p9_a5 JTF_VARCHAR2_TABLE_100
536 , x_perz_data_id OUT NOCOPY /* file.sql.39 change */ NUMBER
537 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
538 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
539 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
540 )
541 as
542 ddp_data_attrib_tbl jtf_perz_data_pub.data_attrib_tbl_type;
543 ddindx binary_integer; indx binary_integer;
544 begin
545
546 -- copy data to the local IN or IN-OUT args, if any
547
548
549
550
551
552
553
554
555
556 jtf_perz_data_pub_w.rosetta_table_copy_in_p1(ddp_data_attrib_tbl, p9_a0
557 , p9_a1
558 , p9_a2
559 , p9_a3
560 , p9_a4
561 , p9_a5
562 );
563
564
565
566
567
568 -- here's the delegated call to the old PL/SQL routine
569 jtf_perz_data_pub.update_perz_data(p_api_version_number,
570 p_init_msg_list,
571 p_commit,
572 p_application_id,
573 p_profile_id,
574 p_perz_data_id,
575 p_perz_data_name,
576 p_perz_data_type,
577 p_perz_data_desc,
578 ddp_data_attrib_tbl,
579 x_perz_data_id,
580 x_return_status,
581 x_msg_count,
582 x_msg_data);
583
584 -- copy data back from the local OUT or IN-OUT args, if any
585
586
587
588
589
590
591
592
593
594
595
596
597
598 end;
599
600 end jtf_perz_data_pub_w;