DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTA_SYNC_TASK_W

Source


1 package body jta_sync_task_w as
2   /* $Header: jtavstwb.pls 120.2 2006/04/27 01:11 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_p3(t out nocopy jta_sync_task.task_tbl, a0 JTF_NUMBER_TABLE
17     , a1 JTF_NUMBER_TABLE
18     , a2 JTF_NUMBER_TABLE
19     , a3 JTF_DATE_TABLE
20     , a4 JTF_NUMBER_TABLE
21     , a5 JTF_VARCHAR2_TABLE_100
22     , a6 JTF_VARCHAR2_TABLE_100
23     , a7 JTF_VARCHAR2_TABLE_2000
24     , a8 JTF_VARCHAR2_TABLE_4000
25     , a9 JTF_VARCHAR2_TABLE_100
26     , a10 JTF_DATE_TABLE
27     , a11 JTF_DATE_TABLE
28     , a12 JTF_DATE_TABLE
29     , a13 JTF_DATE_TABLE
30     , a14 JTF_DATE_TABLE
31     , a15 JTF_DATE_TABLE
32     , a16 JTF_NUMBER_TABLE
33     , a17 JTF_NUMBER_TABLE
34     , a18 JTF_VARCHAR2_TABLE_100
35     , a19 JTF_DATE_TABLE
36     , a20 JTF_VARCHAR2_TABLE_100
37     , a21 JTF_VARCHAR2_TABLE_300
38     , a22 JTF_NUMBER_TABLE
39     , a23 JTF_VARCHAR2_TABLE_2000
40     , a24 JTF_NUMBER_TABLE
41     , a25 JTF_NUMBER_TABLE
42     , a26 JTF_VARCHAR2_TABLE_300
43     , a27 JTF_VARCHAR2_TABLE_2000
44     , a28 JTF_VARCHAR2_TABLE_100
45     , a29 JTF_NUMBER_TABLE
46     , a30 JTF_DATE_TABLE
47     , a31 JTF_DATE_TABLE
48     , a32 JTF_VARCHAR2_TABLE_100
49     , a33 JTF_VARCHAR2_TABLE_100
50     , a34 JTF_VARCHAR2_TABLE_100
51     , a35 JTF_VARCHAR2_TABLE_100
52     , a36 JTF_VARCHAR2_TABLE_100
53     , a37 JTF_VARCHAR2_TABLE_100
54     , a38 JTF_VARCHAR2_TABLE_100
55     , a39 JTF_NUMBER_TABLE
56     , a40 JTF_NUMBER_TABLE
57     ) as
58     ddindx binary_integer; indx binary_integer;
59   begin
60   if a0 is not null and a0.count > 0 then
61       if a0.count > 0 then
62         indx := a0.first;
63         ddindx := 1;
64         while true loop
65           t(ddindx).syncid := a0(indx);
66           t(ddindx).recordindex := a1(indx);
67           t(ddindx).task_id := a2(indx);
68           t(ddindx).syncanchor := rosetta_g_miss_date_in_map(a3(indx));
69           t(ddindx).timezoneid := a4(indx);
70           t(ddindx).eventtype := a5(indx);
71           t(ddindx).objectcode := a6(indx);
72           t(ddindx).subject := a7(indx);
73           t(ddindx).description := a8(indx);
74           t(ddindx).dateselected := a9(indx);
75           t(ddindx).plannedstartdate := rosetta_g_miss_date_in_map(a10(indx));
76           t(ddindx).plannedenddate := rosetta_g_miss_date_in_map(a11(indx));
77           t(ddindx).scheduledstartdate := rosetta_g_miss_date_in_map(a12(indx));
78           t(ddindx).scheduledenddate := rosetta_g_miss_date_in_map(a13(indx));
79           t(ddindx).actualstartdate := rosetta_g_miss_date_in_map(a14(indx));
80           t(ddindx).actualenddate := rosetta_g_miss_date_in_map(a15(indx));
81           t(ddindx).statusid := a16(indx);
82           t(ddindx).priorityid := a17(indx);
83           t(ddindx).alarmflag := a18(indx);
84           t(ddindx).alarmdate := rosetta_g_miss_date_in_map(a19(indx));
85           t(ddindx).privateflag := a20(indx);
86           t(ddindx).category := a21(indx);
87           t(ddindx).resourceid := a22(indx);
88           t(ddindx).resourcetype := a23(indx);
89           t(ddindx).task_assignment_id := a24(indx);
90           t(ddindx).resultid := a25(indx);
91           t(ddindx).resultsystemmessage := a26(indx);
92           t(ddindx).resultusermessage := a27(indx);
93           t(ddindx).unit_of_measure := a28(indx);
94           t(ddindx).occurs_every := a29(indx);
95           t(ddindx).start_date := rosetta_g_miss_date_in_map(a30(indx));
96           t(ddindx).end_date := rosetta_g_miss_date_in_map(a31(indx));
97           t(ddindx).sunday := a32(indx);
98           t(ddindx).monday := a33(indx);
99           t(ddindx).tuesday := a34(indx);
100           t(ddindx).wednesday := a35(indx);
101           t(ddindx).thursday := a36(indx);
102           t(ddindx).friday := a37(indx);
103           t(ddindx).saturday := a38(indx);
104           t(ddindx).date_of_month := a39(indx);
105           t(ddindx).occurs_which := a40(indx);
106           ddindx := ddindx+1;
107           if a0.last =indx
108             then exit;
109           end if;
110           indx := a0.next(indx);
111         end loop;
112       end if;
113    end if;
114   end rosetta_table_copy_in_p3;
115   procedure rosetta_table_copy_out_p3(t jta_sync_task.task_tbl, a0 out nocopy JTF_NUMBER_TABLE
116     , a1 out nocopy JTF_NUMBER_TABLE
117     , a2 out nocopy JTF_NUMBER_TABLE
118     , a3 out nocopy JTF_DATE_TABLE
119     , a4 out nocopy JTF_NUMBER_TABLE
120     , a5 out nocopy JTF_VARCHAR2_TABLE_100
121     , a6 out nocopy JTF_VARCHAR2_TABLE_100
122     , a7 out nocopy JTF_VARCHAR2_TABLE_2000
123     , a8 out nocopy JTF_VARCHAR2_TABLE_4000
124     , a9 out nocopy JTF_VARCHAR2_TABLE_100
125     , a10 out nocopy JTF_DATE_TABLE
126     , a11 out nocopy JTF_DATE_TABLE
127     , a12 out nocopy JTF_DATE_TABLE
128     , a13 out nocopy JTF_DATE_TABLE
129     , a14 out nocopy JTF_DATE_TABLE
130     , a15 out nocopy JTF_DATE_TABLE
131     , a16 out nocopy JTF_NUMBER_TABLE
132     , a17 out nocopy JTF_NUMBER_TABLE
133     , a18 out nocopy JTF_VARCHAR2_TABLE_100
134     , a19 out nocopy JTF_DATE_TABLE
135     , a20 out nocopy JTF_VARCHAR2_TABLE_100
136     , a21 out nocopy JTF_VARCHAR2_TABLE_300
137     , a22 out nocopy JTF_NUMBER_TABLE
138     , a23 out nocopy JTF_VARCHAR2_TABLE_2000
139     , a24 out nocopy JTF_NUMBER_TABLE
140     , a25 out nocopy JTF_NUMBER_TABLE
141     , a26 out nocopy JTF_VARCHAR2_TABLE_300
142     , a27 out nocopy JTF_VARCHAR2_TABLE_2000
143     , a28 out nocopy JTF_VARCHAR2_TABLE_100
144     , a29 out nocopy JTF_NUMBER_TABLE
145     , a30 out nocopy JTF_DATE_TABLE
146     , a31 out nocopy JTF_DATE_TABLE
147     , a32 out nocopy JTF_VARCHAR2_TABLE_100
148     , a33 out nocopy JTF_VARCHAR2_TABLE_100
149     , a34 out nocopy JTF_VARCHAR2_TABLE_100
150     , a35 out nocopy JTF_VARCHAR2_TABLE_100
151     , a36 out nocopy JTF_VARCHAR2_TABLE_100
152     , a37 out nocopy JTF_VARCHAR2_TABLE_100
153     , a38 out nocopy JTF_VARCHAR2_TABLE_100
154     , a39 out nocopy JTF_NUMBER_TABLE
155     , a40 out nocopy JTF_NUMBER_TABLE
156     ) as
157     ddindx binary_integer; indx binary_integer;
158   begin
159   if t is null or t.count = 0 then
160     a0 := JTF_NUMBER_TABLE();
161     a1 := JTF_NUMBER_TABLE();
162     a2 := JTF_NUMBER_TABLE();
163     a3 := JTF_DATE_TABLE();
164     a4 := JTF_NUMBER_TABLE();
165     a5 := JTF_VARCHAR2_TABLE_100();
166     a6 := JTF_VARCHAR2_TABLE_100();
167     a7 := JTF_VARCHAR2_TABLE_2000();
168     a8 := JTF_VARCHAR2_TABLE_4000();
169     a9 := JTF_VARCHAR2_TABLE_100();
170     a10 := JTF_DATE_TABLE();
171     a11 := JTF_DATE_TABLE();
172     a12 := JTF_DATE_TABLE();
173     a13 := JTF_DATE_TABLE();
174     a14 := JTF_DATE_TABLE();
175     a15 := JTF_DATE_TABLE();
176     a16 := JTF_NUMBER_TABLE();
177     a17 := JTF_NUMBER_TABLE();
178     a18 := JTF_VARCHAR2_TABLE_100();
179     a19 := JTF_DATE_TABLE();
180     a20 := JTF_VARCHAR2_TABLE_100();
181     a21 := JTF_VARCHAR2_TABLE_300();
182     a22 := JTF_NUMBER_TABLE();
183     a23 := JTF_VARCHAR2_TABLE_2000();
184     a24 := JTF_NUMBER_TABLE();
185     a25 := JTF_NUMBER_TABLE();
186     a26 := JTF_VARCHAR2_TABLE_300();
187     a27 := JTF_VARCHAR2_TABLE_2000();
188     a28 := JTF_VARCHAR2_TABLE_100();
189     a29 := JTF_NUMBER_TABLE();
190     a30 := JTF_DATE_TABLE();
191     a31 := JTF_DATE_TABLE();
192     a32 := JTF_VARCHAR2_TABLE_100();
193     a33 := JTF_VARCHAR2_TABLE_100();
194     a34 := JTF_VARCHAR2_TABLE_100();
195     a35 := JTF_VARCHAR2_TABLE_100();
196     a36 := JTF_VARCHAR2_TABLE_100();
197     a37 := JTF_VARCHAR2_TABLE_100();
198     a38 := JTF_VARCHAR2_TABLE_100();
199     a39 := JTF_NUMBER_TABLE();
200     a40 := JTF_NUMBER_TABLE();
201   else
202       a0 := JTF_NUMBER_TABLE();
203       a1 := JTF_NUMBER_TABLE();
204       a2 := JTF_NUMBER_TABLE();
205       a3 := JTF_DATE_TABLE();
206       a4 := JTF_NUMBER_TABLE();
207       a5 := JTF_VARCHAR2_TABLE_100();
208       a6 := JTF_VARCHAR2_TABLE_100();
209       a7 := JTF_VARCHAR2_TABLE_2000();
210       a8 := JTF_VARCHAR2_TABLE_4000();
211       a9 := JTF_VARCHAR2_TABLE_100();
212       a10 := JTF_DATE_TABLE();
213       a11 := JTF_DATE_TABLE();
214       a12 := JTF_DATE_TABLE();
215       a13 := JTF_DATE_TABLE();
216       a14 := JTF_DATE_TABLE();
217       a15 := JTF_DATE_TABLE();
218       a16 := JTF_NUMBER_TABLE();
219       a17 := JTF_NUMBER_TABLE();
220       a18 := JTF_VARCHAR2_TABLE_100();
221       a19 := JTF_DATE_TABLE();
222       a20 := JTF_VARCHAR2_TABLE_100();
223       a21 := JTF_VARCHAR2_TABLE_300();
224       a22 := JTF_NUMBER_TABLE();
225       a23 := JTF_VARCHAR2_TABLE_2000();
226       a24 := JTF_NUMBER_TABLE();
227       a25 := JTF_NUMBER_TABLE();
228       a26 := JTF_VARCHAR2_TABLE_300();
229       a27 := JTF_VARCHAR2_TABLE_2000();
230       a28 := JTF_VARCHAR2_TABLE_100();
231       a29 := JTF_NUMBER_TABLE();
232       a30 := JTF_DATE_TABLE();
233       a31 := JTF_DATE_TABLE();
234       a32 := JTF_VARCHAR2_TABLE_100();
235       a33 := JTF_VARCHAR2_TABLE_100();
236       a34 := JTF_VARCHAR2_TABLE_100();
237       a35 := JTF_VARCHAR2_TABLE_100();
238       a36 := JTF_VARCHAR2_TABLE_100();
239       a37 := JTF_VARCHAR2_TABLE_100();
240       a38 := JTF_VARCHAR2_TABLE_100();
241       a39 := JTF_NUMBER_TABLE();
242       a40 := JTF_NUMBER_TABLE();
243       if t.count > 0 then
244         a0.extend(t.count);
245         a1.extend(t.count);
246         a2.extend(t.count);
247         a3.extend(t.count);
248         a4.extend(t.count);
249         a5.extend(t.count);
250         a6.extend(t.count);
251         a7.extend(t.count);
252         a8.extend(t.count);
253         a9.extend(t.count);
254         a10.extend(t.count);
255         a11.extend(t.count);
256         a12.extend(t.count);
257         a13.extend(t.count);
258         a14.extend(t.count);
259         a15.extend(t.count);
260         a16.extend(t.count);
261         a17.extend(t.count);
262         a18.extend(t.count);
263         a19.extend(t.count);
264         a20.extend(t.count);
265         a21.extend(t.count);
266         a22.extend(t.count);
267         a23.extend(t.count);
268         a24.extend(t.count);
269         a25.extend(t.count);
270         a26.extend(t.count);
271         a27.extend(t.count);
272         a28.extend(t.count);
273         a29.extend(t.count);
274         a30.extend(t.count);
275         a31.extend(t.count);
276         a32.extend(t.count);
277         a33.extend(t.count);
278         a34.extend(t.count);
279         a35.extend(t.count);
280         a36.extend(t.count);
281         a37.extend(t.count);
282         a38.extend(t.count);
283         a39.extend(t.count);
284         a40.extend(t.count);
285         ddindx := t.first;
286         indx := 1;
287         while true loop
288           a0(indx) := t(ddindx).syncid;
289           a1(indx) := t(ddindx).recordindex;
290           a2(indx) := t(ddindx).task_id;
291           a3(indx) := t(ddindx).syncanchor;
292           a4(indx) := t(ddindx).timezoneid;
293           a5(indx) := t(ddindx).eventtype;
294           a6(indx) := t(ddindx).objectcode;
295           a7(indx) := t(ddindx).subject;
296           a8(indx) := t(ddindx).description;
297           a9(indx) := t(ddindx).dateselected;
298           a10(indx) := t(ddindx).plannedstartdate;
299           a11(indx) := t(ddindx).plannedenddate;
300           a12(indx) := t(ddindx).scheduledstartdate;
301           a13(indx) := t(ddindx).scheduledenddate;
302           a14(indx) := t(ddindx).actualstartdate;
303           a15(indx) := t(ddindx).actualenddate;
304           a16(indx) := t(ddindx).statusid;
305           a17(indx) := t(ddindx).priorityid;
306           a18(indx) := t(ddindx).alarmflag;
307           a19(indx) := t(ddindx).alarmdate;
308           a20(indx) := t(ddindx).privateflag;
309           a21(indx) := t(ddindx).category;
310           a22(indx) := t(ddindx).resourceid;
311           a23(indx) := t(ddindx).resourcetype;
312           a24(indx) := t(ddindx).task_assignment_id;
313           a25(indx) := t(ddindx).resultid;
314           a26(indx) := t(ddindx).resultsystemmessage;
315           a27(indx) := t(ddindx).resultusermessage;
316           a28(indx) := t(ddindx).unit_of_measure;
317           a29(indx) := t(ddindx).occurs_every;
318           a30(indx) := t(ddindx).start_date;
319           a31(indx) := t(ddindx).end_date;
320           a32(indx) := t(ddindx).sunday;
321           a33(indx) := t(ddindx).monday;
322           a34(indx) := t(ddindx).tuesday;
323           a35(indx) := t(ddindx).wednesday;
324           a36(indx) := t(ddindx).thursday;
325           a37(indx) := t(ddindx).friday;
326           a38(indx) := t(ddindx).saturday;
327           a39(indx) := t(ddindx).date_of_month;
328           a40(indx) := t(ddindx).occurs_which;
329           indx := indx+1;
330           if t.last =ddindx
331             then exit;
332           end if;
333           ddindx := t.next(ddindx);
334         end loop;
335       end if;
336    end if;
337   end rosetta_table_copy_out_p3;
338 
339   procedure rosetta_table_copy_in_p4(t out nocopy jta_sync_task.exclusion_tbl, a0 JTF_NUMBER_TABLE
340     , a1 JTF_DATE_TABLE
341     ) as
342     ddindx binary_integer; indx binary_integer;
343   begin
344   if a0 is not null and a0.count > 0 then
345       if a0.count > 0 then
346         indx := a0.first;
347         ddindx := 1;
348         while true loop
349           t(ddindx).syncid := a0(indx);
350           t(ddindx).exclusion_date := rosetta_g_miss_date_in_map(a1(indx));
351           ddindx := ddindx+1;
352           if a0.last =indx
353             then exit;
354           end if;
355           indx := a0.next(indx);
356         end loop;
357       end if;
358    end if;
359   end rosetta_table_copy_in_p4;
360   procedure rosetta_table_copy_out_p4(t jta_sync_task.exclusion_tbl, a0 out nocopy JTF_NUMBER_TABLE
361     , a1 out nocopy JTF_DATE_TABLE
362     ) as
363     ddindx binary_integer; indx binary_integer;
364   begin
365   if t is null or t.count = 0 then
366     a0 := JTF_NUMBER_TABLE();
367     a1 := JTF_DATE_TABLE();
368   else
369       a0 := JTF_NUMBER_TABLE();
370       a1 := JTF_DATE_TABLE();
371       if t.count > 0 then
372         a0.extend(t.count);
373         a1.extend(t.count);
374         ddindx := t.first;
375         indx := 1;
376         while true loop
377           a0(indx) := t(ddindx).syncid;
378           a1(indx) := t(ddindx).exclusion_date;
379           indx := indx+1;
380           if t.last =ddindx
381             then exit;
382           end if;
383           ddindx := t.next(ddindx);
384         end loop;
385       end if;
386    end if;
387   end rosetta_table_copy_out_p4;
388 
389   procedure get_count(p_request_type  VARCHAR2
390     , p_syncanchor  date
391     , x_total out nocopy  NUMBER
392     , x_totalnew out nocopy  NUMBER
393     , x_totalmodified out nocopy  NUMBER
397   as
394     , x_totaldeleted out nocopy  NUMBER
395   )
396 
398     ddp_syncanchor date;
399     ddindx binary_integer; indx binary_integer;
400   begin
401 
402     -- copy data to the local IN or IN-OUT args, if any
403 
404     ddp_syncanchor := rosetta_g_miss_date_in_map(p_syncanchor);
405 
406 
407 
408 
409 
410     -- here's the delegated call to the old PL/SQL routine
411     jta_sync_task.get_count(p_request_type,
412       ddp_syncanchor,
413       x_total,
414       x_totalnew,
415       x_totalmodified,
416       x_totaldeleted);
417 
418     -- copy data back from the local variables to OUT or IN-OUT args, if any
419 
420 
421 
422 
423 
424   end;
425 
426   procedure get_list(p_request_type  VARCHAR2
427     , p_syncanchor  date
428     , p2_a0 out nocopy JTF_NUMBER_TABLE
429     , p2_a1 out nocopy JTF_NUMBER_TABLE
430     , p2_a2 out nocopy JTF_NUMBER_TABLE
431     , p2_a3 out nocopy JTF_DATE_TABLE
432     , p2_a4 out nocopy JTF_NUMBER_TABLE
433     , p2_a5 out nocopy JTF_VARCHAR2_TABLE_100
434     , p2_a6 out nocopy JTF_VARCHAR2_TABLE_100
435     , p2_a7 out nocopy JTF_VARCHAR2_TABLE_2000
436     , p2_a8 out nocopy JTF_VARCHAR2_TABLE_4000
437     , p2_a9 out nocopy JTF_VARCHAR2_TABLE_100
438     , p2_a10 out nocopy JTF_DATE_TABLE
439     , p2_a11 out nocopy JTF_DATE_TABLE
440     , p2_a12 out nocopy JTF_DATE_TABLE
441     , p2_a13 out nocopy JTF_DATE_TABLE
442     , p2_a14 out nocopy JTF_DATE_TABLE
443     , p2_a15 out nocopy JTF_DATE_TABLE
444     , p2_a16 out nocopy JTF_NUMBER_TABLE
445     , p2_a17 out nocopy JTF_NUMBER_TABLE
446     , p2_a18 out nocopy JTF_VARCHAR2_TABLE_100
447     , p2_a19 out nocopy JTF_DATE_TABLE
448     , p2_a20 out nocopy JTF_VARCHAR2_TABLE_100
449     , p2_a21 out nocopy JTF_VARCHAR2_TABLE_300
450     , p2_a22 out nocopy JTF_NUMBER_TABLE
451     , p2_a23 out nocopy JTF_VARCHAR2_TABLE_2000
452     , p2_a24 out nocopy JTF_NUMBER_TABLE
453     , p2_a25 out nocopy JTF_NUMBER_TABLE
454     , p2_a26 out nocopy JTF_VARCHAR2_TABLE_300
455     , p2_a27 out nocopy JTF_VARCHAR2_TABLE_2000
456     , p2_a28 out nocopy JTF_VARCHAR2_TABLE_100
457     , p2_a29 out nocopy JTF_NUMBER_TABLE
458     , p2_a30 out nocopy JTF_DATE_TABLE
459     , p2_a31 out nocopy JTF_DATE_TABLE
460     , p2_a32 out nocopy JTF_VARCHAR2_TABLE_100
461     , p2_a33 out nocopy JTF_VARCHAR2_TABLE_100
462     , p2_a34 out nocopy JTF_VARCHAR2_TABLE_100
463     , p2_a35 out nocopy JTF_VARCHAR2_TABLE_100
464     , p2_a36 out nocopy JTF_VARCHAR2_TABLE_100
465     , p2_a37 out nocopy JTF_VARCHAR2_TABLE_100
466     , p2_a38 out nocopy JTF_VARCHAR2_TABLE_100
467     , p2_a39 out nocopy JTF_NUMBER_TABLE
468     , p2_a40 out nocopy JTF_NUMBER_TABLE
469     , p3_a0 out nocopy JTF_NUMBER_TABLE
470     , p3_a1 out nocopy JTF_DATE_TABLE
471   )
472 
473   as
474     ddp_syncanchor date;
475     ddx_data jta_sync_task.task_tbl;
476     ddx_exclusion_data jta_sync_task.exclusion_tbl;
477     ddindx binary_integer; indx binary_integer;
478   begin
479 
480     -- copy data to the local IN or IN-OUT args, if any
481 
482     ddp_syncanchor := rosetta_g_miss_date_in_map(p_syncanchor);
483 
484 
485 
486     -- here's the delegated call to the old PL/SQL routine
487     jta_sync_task.get_list(p_request_type,
488       ddp_syncanchor,
489       ddx_data,
490       ddx_exclusion_data);
491 
492     -- copy data back from the local variables to OUT or IN-OUT args, if any
493 
494 
495     jta_sync_task_w.rosetta_table_copy_out_p3(ddx_data, p2_a0
496       , p2_a1
497       , p2_a2
498       , p2_a3
499       , p2_a4
500       , p2_a5
501       , p2_a6
502       , p2_a7
503       , p2_a8
504       , p2_a9
505       , p2_a10
506       , p2_a11
507       , p2_a12
508       , p2_a13
509       , p2_a14
510       , p2_a15
511       , p2_a16
512       , p2_a17
513       , p2_a18
514       , p2_a19
515       , p2_a20
516       , p2_a21
517       , p2_a22
518       , p2_a23
519       , p2_a24
520       , p2_a25
521       , p2_a26
522       , p2_a27
523       , p2_a28
524       , p2_a29
525       , p2_a30
526       , p2_a31
527       , p2_a32
528       , p2_a33
529       , p2_a34
530       , p2_a35
531       , p2_a36
532       , p2_a37
533       , p2_a38
534       , p2_a39
535       , p2_a40
536       );
537 
538     jta_sync_task_w.rosetta_table_copy_out_p4(ddx_exclusion_data, p3_a0
539       , p3_a1
540       );
541   end;
542 
543   procedure create_ids(p_num_req  NUMBER
544     , p1_a0 in out nocopy JTF_NUMBER_TABLE
545     , p1_a1 in out nocopy JTF_NUMBER_TABLE
546     , p1_a2 in out nocopy JTF_NUMBER_TABLE
547     , p1_a3 in out nocopy JTF_DATE_TABLE
548     , p1_a4 in out nocopy JTF_NUMBER_TABLE
549     , p1_a5 in out nocopy JTF_VARCHAR2_TABLE_100
550     , p1_a6 in out nocopy JTF_VARCHAR2_TABLE_100
551     , p1_a7 in out nocopy JTF_VARCHAR2_TABLE_2000
552     , p1_a8 in out nocopy JTF_VARCHAR2_TABLE_4000
553     , p1_a9 in out nocopy JTF_VARCHAR2_TABLE_100
557     , p1_a13 in out nocopy JTF_DATE_TABLE
554     , p1_a10 in out nocopy JTF_DATE_TABLE
555     , p1_a11 in out nocopy JTF_DATE_TABLE
556     , p1_a12 in out nocopy JTF_DATE_TABLE
558     , p1_a14 in out nocopy JTF_DATE_TABLE
559     , p1_a15 in out nocopy JTF_DATE_TABLE
560     , p1_a16 in out nocopy JTF_NUMBER_TABLE
561     , p1_a17 in out nocopy JTF_NUMBER_TABLE
562     , p1_a18 in out nocopy JTF_VARCHAR2_TABLE_100
563     , p1_a19 in out nocopy JTF_DATE_TABLE
564     , p1_a20 in out nocopy JTF_VARCHAR2_TABLE_100
565     , p1_a21 in out nocopy JTF_VARCHAR2_TABLE_300
566     , p1_a22 in out nocopy JTF_NUMBER_TABLE
567     , p1_a23 in out nocopy JTF_VARCHAR2_TABLE_2000
568     , p1_a24 in out nocopy JTF_NUMBER_TABLE
569     , p1_a25 in out nocopy JTF_NUMBER_TABLE
570     , p1_a26 in out nocopy JTF_VARCHAR2_TABLE_300
571     , p1_a27 in out nocopy JTF_VARCHAR2_TABLE_2000
572     , p1_a28 in out nocopy JTF_VARCHAR2_TABLE_100
573     , p1_a29 in out nocopy JTF_NUMBER_TABLE
574     , p1_a30 in out nocopy JTF_DATE_TABLE
575     , p1_a31 in out nocopy JTF_DATE_TABLE
576     , p1_a32 in out nocopy JTF_VARCHAR2_TABLE_100
577     , p1_a33 in out nocopy JTF_VARCHAR2_TABLE_100
578     , p1_a34 in out nocopy JTF_VARCHAR2_TABLE_100
579     , p1_a35 in out nocopy JTF_VARCHAR2_TABLE_100
580     , p1_a36 in out nocopy JTF_VARCHAR2_TABLE_100
581     , p1_a37 in out nocopy JTF_VARCHAR2_TABLE_100
582     , p1_a38 in out nocopy JTF_VARCHAR2_TABLE_100
583     , p1_a39 in out nocopy JTF_NUMBER_TABLE
584     , p1_a40 in out nocopy JTF_NUMBER_TABLE
585   )
586 
587   as
588     ddx_results jta_sync_task.task_tbl;
589     ddindx binary_integer; indx binary_integer;
590   begin
591 
592     -- copy data to the local IN or IN-OUT args, if any
593 
594     jta_sync_task_w.rosetta_table_copy_in_p3(ddx_results, p1_a0
595       , p1_a1
596       , p1_a2
597       , p1_a3
598       , p1_a4
599       , p1_a5
600       , p1_a6
601       , p1_a7
602       , p1_a8
603       , p1_a9
604       , p1_a10
605       , p1_a11
606       , p1_a12
607       , p1_a13
608       , p1_a14
609       , p1_a15
610       , p1_a16
611       , p1_a17
612       , p1_a18
613       , p1_a19
614       , p1_a20
615       , p1_a21
616       , p1_a22
617       , p1_a23
618       , p1_a24
619       , p1_a25
620       , p1_a26
621       , p1_a27
622       , p1_a28
623       , p1_a29
624       , p1_a30
625       , p1_a31
626       , p1_a32
627       , p1_a33
628       , p1_a34
629       , p1_a35
630       , p1_a36
631       , p1_a37
632       , p1_a38
633       , p1_a39
634       , p1_a40
635       );
636 
637     -- here's the delegated call to the old PL/SQL routine
638     jta_sync_task.create_ids(p_num_req,
639       ddx_results);
640 
641     -- copy data back from the local variables to OUT or IN-OUT args, if any
642 
643     jta_sync_task_w.rosetta_table_copy_out_p3(ddx_results, p1_a0
644       , p1_a1
645       , p1_a2
646       , p1_a3
647       , p1_a4
648       , p1_a5
649       , p1_a6
650       , p1_a7
651       , p1_a8
652       , p1_a9
653       , p1_a10
654       , p1_a11
655       , p1_a12
656       , p1_a13
657       , p1_a14
658       , p1_a15
659       , p1_a16
660       , p1_a17
661       , p1_a18
662       , p1_a19
663       , p1_a20
664       , p1_a21
665       , p1_a22
666       , p1_a23
667       , p1_a24
668       , p1_a25
669       , p1_a26
670       , p1_a27
671       , p1_a28
672       , p1_a29
673       , p1_a30
674       , p1_a31
675       , p1_a32
676       , p1_a33
677       , p1_a34
678       , p1_a35
679       , p1_a36
680       , p1_a37
681       , p1_a38
682       , p1_a39
683       , p1_a40
684       );
685   end;
686 
687   procedure update_data(p0_a0 in out nocopy JTF_NUMBER_TABLE
688     , p0_a1 in out nocopy JTF_NUMBER_TABLE
689     , p0_a2 in out nocopy JTF_NUMBER_TABLE
690     , p0_a3 in out nocopy JTF_DATE_TABLE
691     , p0_a4 in out nocopy JTF_NUMBER_TABLE
692     , p0_a5 in out nocopy JTF_VARCHAR2_TABLE_100
693     , p0_a6 in out nocopy JTF_VARCHAR2_TABLE_100
694     , p0_a7 in out nocopy JTF_VARCHAR2_TABLE_2000
695     , p0_a8 in out nocopy JTF_VARCHAR2_TABLE_4000
696     , p0_a9 in out nocopy JTF_VARCHAR2_TABLE_100
697     , p0_a10 in out nocopy JTF_DATE_TABLE
698     , p0_a11 in out nocopy JTF_DATE_TABLE
699     , p0_a12 in out nocopy JTF_DATE_TABLE
700     , p0_a13 in out nocopy JTF_DATE_TABLE
701     , p0_a14 in out nocopy JTF_DATE_TABLE
702     , p0_a15 in out nocopy JTF_DATE_TABLE
703     , p0_a16 in out nocopy JTF_NUMBER_TABLE
704     , p0_a17 in out nocopy JTF_NUMBER_TABLE
705     , p0_a18 in out nocopy JTF_VARCHAR2_TABLE_100
706     , p0_a19 in out nocopy JTF_DATE_TABLE
707     , p0_a20 in out nocopy JTF_VARCHAR2_TABLE_100
708     , p0_a21 in out nocopy JTF_VARCHAR2_TABLE_300
709     , p0_a22 in out nocopy JTF_NUMBER_TABLE
710     , p0_a23 in out nocopy JTF_VARCHAR2_TABLE_2000
711     , p0_a24 in out nocopy JTF_NUMBER_TABLE
712     , p0_a25 in out nocopy JTF_NUMBER_TABLE
713     , p0_a26 in out nocopy JTF_VARCHAR2_TABLE_300
717     , p0_a30 in out nocopy JTF_DATE_TABLE
714     , p0_a27 in out nocopy JTF_VARCHAR2_TABLE_2000
715     , p0_a28 in out nocopy JTF_VARCHAR2_TABLE_100
716     , p0_a29 in out nocopy JTF_NUMBER_TABLE
718     , p0_a31 in out nocopy JTF_DATE_TABLE
719     , p0_a32 in out nocopy JTF_VARCHAR2_TABLE_100
720     , p0_a33 in out nocopy JTF_VARCHAR2_TABLE_100
721     , p0_a34 in out nocopy JTF_VARCHAR2_TABLE_100
722     , p0_a35 in out nocopy JTF_VARCHAR2_TABLE_100
723     , p0_a36 in out nocopy JTF_VARCHAR2_TABLE_100
724     , p0_a37 in out nocopy JTF_VARCHAR2_TABLE_100
725     , p0_a38 in out nocopy JTF_VARCHAR2_TABLE_100
726     , p0_a39 in out nocopy JTF_NUMBER_TABLE
727     , p0_a40 in out nocopy JTF_NUMBER_TABLE
728     , p1_a0 JTF_NUMBER_TABLE
729     , p1_a1 JTF_DATE_TABLE
730   )
731 
732   as
733     ddp_tasks jta_sync_task.task_tbl;
734     ddp_exclusions jta_sync_task.exclusion_tbl;
735     ddindx binary_integer; indx binary_integer;
736   begin
737 
738     -- copy data to the local IN or IN-OUT args, if any
739     jta_sync_task_w.rosetta_table_copy_in_p3(ddp_tasks, p0_a0
740       , p0_a1
741       , p0_a2
742       , p0_a3
743       , p0_a4
744       , p0_a5
745       , p0_a6
746       , p0_a7
747       , p0_a8
748       , p0_a9
749       , p0_a10
750       , p0_a11
751       , p0_a12
752       , p0_a13
753       , p0_a14
754       , p0_a15
755       , p0_a16
756       , p0_a17
757       , p0_a18
758       , p0_a19
759       , p0_a20
760       , p0_a21
761       , p0_a22
762       , p0_a23
763       , p0_a24
764       , p0_a25
765       , p0_a26
766       , p0_a27
767       , p0_a28
768       , p0_a29
769       , p0_a30
770       , p0_a31
771       , p0_a32
772       , p0_a33
773       , p0_a34
774       , p0_a35
775       , p0_a36
776       , p0_a37
777       , p0_a38
778       , p0_a39
779       , p0_a40
780       );
781 
782     jta_sync_task_w.rosetta_table_copy_in_p4(ddp_exclusions, p1_a0
783       , p1_a1
784       );
785 
786     -- here's the delegated call to the old PL/SQL routine
787     jta_sync_task.update_data(ddp_tasks,
788       ddp_exclusions);
789 
790     -- copy data back from the local variables to OUT or IN-OUT args, if any
791     jta_sync_task_w.rosetta_table_copy_out_p3(ddp_tasks, p0_a0
792       , p0_a1
793       , p0_a2
794       , p0_a3
795       , p0_a4
796       , p0_a5
797       , p0_a6
798       , p0_a7
799       , p0_a8
800       , p0_a9
801       , p0_a10
802       , p0_a11
803       , p0_a12
804       , p0_a13
805       , p0_a14
806       , p0_a15
807       , p0_a16
808       , p0_a17
809       , p0_a18
810       , p0_a19
811       , p0_a20
812       , p0_a21
813       , p0_a22
814       , p0_a23
815       , p0_a24
816       , p0_a25
817       , p0_a26
818       , p0_a27
819       , p0_a28
820       , p0_a29
821       , p0_a30
822       , p0_a31
823       , p0_a32
824       , p0_a33
825       , p0_a34
826       , p0_a35
827       , p0_a36
828       , p0_a37
829       , p0_a38
830       , p0_a39
831       , p0_a40
832       );
833 
834   end;
835 
836   procedure delete_data(p0_a0 in out nocopy JTF_NUMBER_TABLE
837     , p0_a1 in out nocopy JTF_NUMBER_TABLE
838     , p0_a2 in out nocopy JTF_NUMBER_TABLE
839     , p0_a3 in out nocopy JTF_DATE_TABLE
840     , p0_a4 in out nocopy JTF_NUMBER_TABLE
841     , p0_a5 in out nocopy JTF_VARCHAR2_TABLE_100
842     , p0_a6 in out nocopy JTF_VARCHAR2_TABLE_100
843     , p0_a7 in out nocopy JTF_VARCHAR2_TABLE_2000
844     , p0_a8 in out nocopy JTF_VARCHAR2_TABLE_4000
845     , p0_a9 in out nocopy JTF_VARCHAR2_TABLE_100
846     , p0_a10 in out nocopy JTF_DATE_TABLE
847     , p0_a11 in out nocopy JTF_DATE_TABLE
848     , p0_a12 in out nocopy JTF_DATE_TABLE
849     , p0_a13 in out nocopy JTF_DATE_TABLE
850     , p0_a14 in out nocopy JTF_DATE_TABLE
851     , p0_a15 in out nocopy JTF_DATE_TABLE
852     , p0_a16 in out nocopy JTF_NUMBER_TABLE
853     , p0_a17 in out nocopy JTF_NUMBER_TABLE
854     , p0_a18 in out nocopy JTF_VARCHAR2_TABLE_100
855     , p0_a19 in out nocopy JTF_DATE_TABLE
856     , p0_a20 in out nocopy JTF_VARCHAR2_TABLE_100
857     , p0_a21 in out nocopy JTF_VARCHAR2_TABLE_300
858     , p0_a22 in out nocopy JTF_NUMBER_TABLE
859     , p0_a23 in out nocopy JTF_VARCHAR2_TABLE_2000
860     , p0_a24 in out nocopy JTF_NUMBER_TABLE
861     , p0_a25 in out nocopy JTF_NUMBER_TABLE
862     , p0_a26 in out nocopy JTF_VARCHAR2_TABLE_300
863     , p0_a27 in out nocopy JTF_VARCHAR2_TABLE_2000
864     , p0_a28 in out nocopy JTF_VARCHAR2_TABLE_100
865     , p0_a29 in out nocopy JTF_NUMBER_TABLE
866     , p0_a30 in out nocopy JTF_DATE_TABLE
867     , p0_a31 in out nocopy JTF_DATE_TABLE
868     , p0_a32 in out nocopy JTF_VARCHAR2_TABLE_100
869     , p0_a33 in out nocopy JTF_VARCHAR2_TABLE_100
870     , p0_a34 in out nocopy JTF_VARCHAR2_TABLE_100
871     , p0_a35 in out nocopy JTF_VARCHAR2_TABLE_100
872     , p0_a36 in out nocopy JTF_VARCHAR2_TABLE_100
873     , p0_a37 in out nocopy JTF_VARCHAR2_TABLE_100
874     , p0_a38 in out nocopy JTF_VARCHAR2_TABLE_100
875     , p0_a39 in out nocopy JTF_NUMBER_TABLE
876     , p0_a40 in out nocopy JTF_NUMBER_TABLE
877   )
878 
879   as
880     ddp_tasks jta_sync_task.task_tbl;
881     ddindx binary_integer; indx binary_integer;
882   begin
883 
884     -- copy data to the local IN or IN-OUT args, if any
885     jta_sync_task_w.rosetta_table_copy_in_p3(ddp_tasks, p0_a0
886       , p0_a1
887       , p0_a2
888       , p0_a3
889       , p0_a4
890       , p0_a5
891       , p0_a6
892       , p0_a7
893       , p0_a8
894       , p0_a9
895       , p0_a10
896       , p0_a11
897       , p0_a12
898       , p0_a13
899       , p0_a14
900       , p0_a15
901       , p0_a16
902       , p0_a17
903       , p0_a18
904       , p0_a19
905       , p0_a20
906       , p0_a21
907       , p0_a22
908       , p0_a23
909       , p0_a24
910       , p0_a25
911       , p0_a26
912       , p0_a27
913       , p0_a28
914       , p0_a29
915       , p0_a30
916       , p0_a31
917       , p0_a32
918       , p0_a33
919       , p0_a34
920       , p0_a35
921       , p0_a36
922       , p0_a37
923       , p0_a38
924       , p0_a39
925       , p0_a40
926       );
927 
928     -- here's the delegated call to the old PL/SQL routine
929     jta_sync_task.delete_data(ddp_tasks);
930 
931     -- copy data back from the local variables to OUT or IN-OUT args, if any
932     jta_sync_task_w.rosetta_table_copy_out_p3(ddp_tasks, p0_a0
933       , p0_a1
934       , p0_a2
935       , p0_a3
936       , p0_a4
937       , p0_a5
938       , p0_a6
939       , p0_a7
940       , p0_a8
941       , p0_a9
942       , p0_a10
943       , p0_a11
944       , p0_a12
945       , p0_a13
946       , p0_a14
947       , p0_a15
948       , p0_a16
949       , p0_a17
950       , p0_a18
951       , p0_a19
952       , p0_a20
953       , p0_a21
954       , p0_a22
955       , p0_a23
956       , p0_a24
957       , p0_a25
958       , p0_a26
959       , p0_a27
960       , p0_a28
961       , p0_a29
962       , p0_a30
963       , p0_a31
964       , p0_a32
965       , p0_a33
966       , p0_a34
967       , p0_a35
968       , p0_a36
969       , p0_a37
970       , p0_a38
971       , p0_a39
972       , p0_a40
973       );
974   end;
975 
976 end jta_sync_task_w;