DBA Data[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 
437 
438     jtf_perz_data_pub_w.rosetta_table_copy_out_p1(ddx_data_attrib_tbl, p12_a0
439       , p12_a1
440       , p12_a2
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;