DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_PRD_NONROUTINE_PVT_W

Source


1 package body ahl_prd_nonroutine_pvt_w as
2   /* $Header: AHLWPNRB.pls 120.3 2008/01/31 15:13:38 amsriniv 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_p2(t out nocopy ahl_prd_nonroutine_pvt.sr_task_tbl_type, a0 JTF_DATE_TABLE
17     , a1 JTF_NUMBER_TABLE
18     , a2 JTF_VARCHAR2_TABLE_100
19     , a3 JTF_NUMBER_TABLE
20     , a4 JTF_VARCHAR2_TABLE_100
21     , a5 JTF_NUMBER_TABLE
22     , a6 JTF_VARCHAR2_TABLE_100
23     , a7 JTF_NUMBER_TABLE
24     , a8 JTF_VARCHAR2_TABLE_100
25     , a9 JTF_VARCHAR2_TABLE_300
26     , a10 JTF_VARCHAR2_TABLE_100
27     , a11 JTF_NUMBER_TABLE
28     , a12 JTF_VARCHAR2_TABLE_100
29     , a13 JTF_VARCHAR2_TABLE_400
30     , a14 JTF_VARCHAR2_TABLE_100
31     , a15 JTF_NUMBER_TABLE
32     , a16 JTF_VARCHAR2_TABLE_100
33     , a17 JTF_VARCHAR2_TABLE_400
34     , a18 JTF_NUMBER_TABLE
35     , a19 JTF_VARCHAR2_TABLE_100
36     , a20 JTF_VARCHAR2_TABLE_100
37     , a21 JTF_VARCHAR2_TABLE_100
38     , a22 JTF_VARCHAR2_TABLE_100
39     , a23 JTF_VARCHAR2_TABLE_300
40     , a24 JTF_NUMBER_TABLE
41     , a25 JTF_VARCHAR2_TABLE_100
42     , a26 JTF_NUMBER_TABLE
43     , a27 JTF_NUMBER_TABLE
44     , a28 JTF_NUMBER_TABLE
45     , a29 JTF_NUMBER_TABLE
46     , a30 JTF_VARCHAR2_TABLE_100
47     , a31 JTF_NUMBER_TABLE
48     , a32 JTF_NUMBER_TABLE
49     , a33 JTF_VARCHAR2_TABLE_100
50     , a34 JTF_VARCHAR2_TABLE_100
51     , a35 JTF_NUMBER_TABLE
52     , a36 JTF_NUMBER_TABLE
53     , a37 JTF_NUMBER_TABLE
54     , a38 JTF_NUMBER_TABLE
55     , a39 JTF_VARCHAR2_TABLE_100
56     , a40 JTF_NUMBER_TABLE
57     , a41 JTF_VARCHAR2_TABLE_100
58     , a42 JTF_NUMBER_TABLE
59     , a43 JTF_VARCHAR2_TABLE_100
60     , a44 JTF_VARCHAR2_TABLE_100
61     , a45 JTF_NUMBER_TABLE
62     , a46 JTF_VARCHAR2_TABLE_100
63     ) as
64     ddindx binary_integer; indx binary_integer;
65   begin
66   if a0 is not null and a0.count > 0 then
67       if a0.count > 0 then
68         indx := a0.first;
69         ddindx := 1;
70         while true loop
71           t(ddindx).request_date := rosetta_g_miss_date_in_map(a0(indx));
72           t(ddindx).type_id := a1(indx);
73           t(ddindx).type_name := a2(indx);
74           t(ddindx).status_id := a3(indx);
75           t(ddindx).status_name := a4(indx);
76           t(ddindx).severity_id := a5(indx);
77           t(ddindx).severity_name := a6(indx);
78           t(ddindx).urgency_id := a7(indx);
79           t(ddindx).urgency_name := a8(indx);
80           t(ddindx).summary := a9(indx);
81           t(ddindx).customer_type := a10(indx);
82           t(ddindx).customer_id := a11(indx);
83           t(ddindx).customer_number := a12(indx);
84           t(ddindx).customer_name := a13(indx);
85           t(ddindx).contact_type := a14(indx);
86           t(ddindx).contact_id := a15(indx);
87           t(ddindx).contact_number := a16(indx);
88           t(ddindx).contact_name := a17(indx);
89           t(ddindx).instance_id := a18(indx);
90           t(ddindx).instance_number := a19(indx);
91           t(ddindx).problem_code := a20(indx);
92           t(ddindx).problem_meaning := a21(indx);
93           t(ddindx).resolution_code := a22(indx);
94           t(ddindx).resolution_meaning := a23(indx);
95           t(ddindx).incident_id := a24(indx);
96           t(ddindx).incident_number := a25(indx);
97           t(ddindx).incident_object_version_number := a26(indx);
98           t(ddindx).visit_id := a27(indx);
99           t(ddindx).visit_number := a28(indx);
100           t(ddindx).duration := a29(indx);
101           t(ddindx).task_type_code := a30(indx);
102           t(ddindx).visit_task_id := a31(indx);
103           t(ddindx).visit_task_number := a32(indx);
104           t(ddindx).visit_task_name := a33(indx);
105           t(ddindx).operation_type := a34(indx);
106           t(ddindx).workflow_process_id := a35(indx);
107           t(ddindx).interaction_id := a36(indx);
108           t(ddindx).originating_wo_id := a37(indx);
109           t(ddindx).nonroutine_wo_id := a38(indx);
110           t(ddindx).source_program_code := a39(indx);
111           t(ddindx).object_id := a40(indx);
112           t(ddindx).object_type := a41(indx);
113           t(ddindx).link_id := a42(indx);
114           t(ddindx).wo_create_flag := a43(indx);
115           t(ddindx).wo_release_flag := a44(indx);
116           t(ddindx).instance_quantity := a45(indx);
117           t(ddindx).move_qty_to_nr_workorder := a46(indx);
118           ddindx := ddindx+1;
119           if a0.last =indx
120             then exit;
121           end if;
122           indx := a0.next(indx);
123         end loop;
124       end if;
125    end if;
126   end rosetta_table_copy_in_p2;
127   procedure rosetta_table_copy_out_p2(t ahl_prd_nonroutine_pvt.sr_task_tbl_type, a0 out nocopy JTF_DATE_TABLE
128     , a1 out nocopy JTF_NUMBER_TABLE
129     , a2 out nocopy JTF_VARCHAR2_TABLE_100
130     , a3 out nocopy JTF_NUMBER_TABLE
131     , a4 out nocopy JTF_VARCHAR2_TABLE_100
132     , a5 out nocopy JTF_NUMBER_TABLE
133     , a6 out nocopy JTF_VARCHAR2_TABLE_100
134     , a7 out nocopy JTF_NUMBER_TABLE
135     , a8 out nocopy JTF_VARCHAR2_TABLE_100
136     , a9 out nocopy JTF_VARCHAR2_TABLE_300
137     , a10 out nocopy JTF_VARCHAR2_TABLE_100
138     , a11 out nocopy JTF_NUMBER_TABLE
139     , a12 out nocopy JTF_VARCHAR2_TABLE_100
140     , a13 out nocopy JTF_VARCHAR2_TABLE_400
141     , a14 out nocopy JTF_VARCHAR2_TABLE_100
142     , a15 out nocopy JTF_NUMBER_TABLE
143     , a16 out nocopy JTF_VARCHAR2_TABLE_100
144     , a17 out nocopy JTF_VARCHAR2_TABLE_400
145     , a18 out nocopy JTF_NUMBER_TABLE
146     , a19 out nocopy JTF_VARCHAR2_TABLE_100
147     , a20 out nocopy JTF_VARCHAR2_TABLE_100
148     , a21 out nocopy JTF_VARCHAR2_TABLE_100
149     , a22 out nocopy JTF_VARCHAR2_TABLE_100
150     , a23 out nocopy JTF_VARCHAR2_TABLE_300
151     , a24 out nocopy JTF_NUMBER_TABLE
152     , a25 out nocopy JTF_VARCHAR2_TABLE_100
153     , a26 out nocopy JTF_NUMBER_TABLE
154     , a27 out nocopy JTF_NUMBER_TABLE
155     , a28 out nocopy JTF_NUMBER_TABLE
156     , a29 out nocopy JTF_NUMBER_TABLE
157     , a30 out nocopy JTF_VARCHAR2_TABLE_100
158     , a31 out nocopy JTF_NUMBER_TABLE
159     , a32 out nocopy JTF_NUMBER_TABLE
160     , a33 out nocopy JTF_VARCHAR2_TABLE_100
161     , a34 out nocopy JTF_VARCHAR2_TABLE_100
162     , a35 out nocopy JTF_NUMBER_TABLE
163     , a36 out nocopy JTF_NUMBER_TABLE
164     , a37 out nocopy JTF_NUMBER_TABLE
165     , a38 out nocopy JTF_NUMBER_TABLE
166     , a39 out nocopy JTF_VARCHAR2_TABLE_100
167     , a40 out nocopy JTF_NUMBER_TABLE
168     , a41 out nocopy JTF_VARCHAR2_TABLE_100
169     , a42 out nocopy JTF_NUMBER_TABLE
170     , a43 out nocopy JTF_VARCHAR2_TABLE_100
171     , a44 out nocopy JTF_VARCHAR2_TABLE_100
172     , a45 out nocopy JTF_NUMBER_TABLE
173     , a46 out nocopy JTF_VARCHAR2_TABLE_100
174     ) as
175     ddindx binary_integer; indx binary_integer;
176   begin
177   if t is null or t.count = 0 then
178     a0 := JTF_DATE_TABLE();
179     a1 := JTF_NUMBER_TABLE();
180     a2 := JTF_VARCHAR2_TABLE_100();
181     a3 := JTF_NUMBER_TABLE();
182     a4 := JTF_VARCHAR2_TABLE_100();
183     a5 := JTF_NUMBER_TABLE();
184     a6 := JTF_VARCHAR2_TABLE_100();
185     a7 := JTF_NUMBER_TABLE();
186     a8 := JTF_VARCHAR2_TABLE_100();
187     a9 := JTF_VARCHAR2_TABLE_300();
188     a10 := JTF_VARCHAR2_TABLE_100();
189     a11 := JTF_NUMBER_TABLE();
190     a12 := JTF_VARCHAR2_TABLE_100();
191     a13 := JTF_VARCHAR2_TABLE_400();
192     a14 := JTF_VARCHAR2_TABLE_100();
193     a15 := JTF_NUMBER_TABLE();
194     a16 := JTF_VARCHAR2_TABLE_100();
195     a17 := JTF_VARCHAR2_TABLE_400();
196     a18 := JTF_NUMBER_TABLE();
197     a19 := JTF_VARCHAR2_TABLE_100();
198     a20 := JTF_VARCHAR2_TABLE_100();
199     a21 := JTF_VARCHAR2_TABLE_100();
200     a22 := JTF_VARCHAR2_TABLE_100();
201     a23 := JTF_VARCHAR2_TABLE_300();
202     a24 := JTF_NUMBER_TABLE();
203     a25 := JTF_VARCHAR2_TABLE_100();
204     a26 := JTF_NUMBER_TABLE();
205     a27 := JTF_NUMBER_TABLE();
206     a28 := JTF_NUMBER_TABLE();
207     a29 := JTF_NUMBER_TABLE();
208     a30 := JTF_VARCHAR2_TABLE_100();
209     a31 := JTF_NUMBER_TABLE();
210     a32 := JTF_NUMBER_TABLE();
211     a33 := JTF_VARCHAR2_TABLE_100();
212     a34 := JTF_VARCHAR2_TABLE_100();
213     a35 := JTF_NUMBER_TABLE();
214     a36 := JTF_NUMBER_TABLE();
215     a37 := JTF_NUMBER_TABLE();
216     a38 := JTF_NUMBER_TABLE();
217     a39 := JTF_VARCHAR2_TABLE_100();
218     a40 := JTF_NUMBER_TABLE();
219     a41 := JTF_VARCHAR2_TABLE_100();
220     a42 := JTF_NUMBER_TABLE();
221     a43 := JTF_VARCHAR2_TABLE_100();
222     a44 := JTF_VARCHAR2_TABLE_100();
223     a45 := JTF_NUMBER_TABLE();
224     a46 := JTF_VARCHAR2_TABLE_100();
225   else
226       a0 := JTF_DATE_TABLE();
227       a1 := JTF_NUMBER_TABLE();
228       a2 := JTF_VARCHAR2_TABLE_100();
229       a3 := JTF_NUMBER_TABLE();
230       a4 := JTF_VARCHAR2_TABLE_100();
231       a5 := JTF_NUMBER_TABLE();
232       a6 := JTF_VARCHAR2_TABLE_100();
233       a7 := JTF_NUMBER_TABLE();
234       a8 := JTF_VARCHAR2_TABLE_100();
235       a9 := JTF_VARCHAR2_TABLE_300();
236       a10 := JTF_VARCHAR2_TABLE_100();
237       a11 := JTF_NUMBER_TABLE();
238       a12 := JTF_VARCHAR2_TABLE_100();
239       a13 := JTF_VARCHAR2_TABLE_400();
240       a14 := JTF_VARCHAR2_TABLE_100();
241       a15 := JTF_NUMBER_TABLE();
242       a16 := JTF_VARCHAR2_TABLE_100();
243       a17 := JTF_VARCHAR2_TABLE_400();
244       a18 := JTF_NUMBER_TABLE();
245       a19 := JTF_VARCHAR2_TABLE_100();
246       a20 := JTF_VARCHAR2_TABLE_100();
247       a21 := JTF_VARCHAR2_TABLE_100();
248       a22 := JTF_VARCHAR2_TABLE_100();
249       a23 := JTF_VARCHAR2_TABLE_300();
250       a24 := JTF_NUMBER_TABLE();
251       a25 := JTF_VARCHAR2_TABLE_100();
252       a26 := JTF_NUMBER_TABLE();
253       a27 := JTF_NUMBER_TABLE();
254       a28 := JTF_NUMBER_TABLE();
255       a29 := JTF_NUMBER_TABLE();
256       a30 := JTF_VARCHAR2_TABLE_100();
257       a31 := JTF_NUMBER_TABLE();
258       a32 := JTF_NUMBER_TABLE();
259       a33 := JTF_VARCHAR2_TABLE_100();
260       a34 := JTF_VARCHAR2_TABLE_100();
261       a35 := JTF_NUMBER_TABLE();
262       a36 := JTF_NUMBER_TABLE();
263       a37 := JTF_NUMBER_TABLE();
264       a38 := JTF_NUMBER_TABLE();
265       a39 := JTF_VARCHAR2_TABLE_100();
266       a40 := JTF_NUMBER_TABLE();
267       a41 := JTF_VARCHAR2_TABLE_100();
268       a42 := JTF_NUMBER_TABLE();
269       a43 := JTF_VARCHAR2_TABLE_100();
270       a44 := JTF_VARCHAR2_TABLE_100();
271       a45 := JTF_NUMBER_TABLE();
272       a46 := JTF_VARCHAR2_TABLE_100();
273       if t.count > 0 then
274         a0.extend(t.count);
275         a1.extend(t.count);
276         a2.extend(t.count);
277         a3.extend(t.count);
278         a4.extend(t.count);
279         a5.extend(t.count);
280         a6.extend(t.count);
281         a7.extend(t.count);
282         a8.extend(t.count);
283         a9.extend(t.count);
284         a10.extend(t.count);
285         a11.extend(t.count);
286         a12.extend(t.count);
287         a13.extend(t.count);
288         a14.extend(t.count);
289         a15.extend(t.count);
290         a16.extend(t.count);
291         a17.extend(t.count);
292         a18.extend(t.count);
293         a19.extend(t.count);
294         a20.extend(t.count);
295         a21.extend(t.count);
296         a22.extend(t.count);
297         a23.extend(t.count);
298         a24.extend(t.count);
299         a25.extend(t.count);
300         a26.extend(t.count);
301         a27.extend(t.count);
302         a28.extend(t.count);
303         a29.extend(t.count);
304         a30.extend(t.count);
305         a31.extend(t.count);
306         a32.extend(t.count);
307         a33.extend(t.count);
308         a34.extend(t.count);
309         a35.extend(t.count);
310         a36.extend(t.count);
311         a37.extend(t.count);
312         a38.extend(t.count);
313         a39.extend(t.count);
314         a40.extend(t.count);
315         a41.extend(t.count);
316         a42.extend(t.count);
317         a43.extend(t.count);
318         a44.extend(t.count);
319         a45.extend(t.count);
320         a46.extend(t.count);
321         ddindx := t.first;
322         indx := 1;
323         while true loop
324           a0(indx) := t(ddindx).request_date;
325           a1(indx) := t(ddindx).type_id;
326           a2(indx) := t(ddindx).type_name;
327           a3(indx) := t(ddindx).status_id;
328           a4(indx) := t(ddindx).status_name;
329           a5(indx) := t(ddindx).severity_id;
330           a6(indx) := t(ddindx).severity_name;
331           a7(indx) := t(ddindx).urgency_id;
332           a8(indx) := t(ddindx).urgency_name;
333           a9(indx) := t(ddindx).summary;
334           a10(indx) := t(ddindx).customer_type;
335           a11(indx) := t(ddindx).customer_id;
336           a12(indx) := t(ddindx).customer_number;
337           a13(indx) := t(ddindx).customer_name;
338           a14(indx) := t(ddindx).contact_type;
339           a15(indx) := t(ddindx).contact_id;
340           a16(indx) := t(ddindx).contact_number;
341           a17(indx) := t(ddindx).contact_name;
342           a18(indx) := t(ddindx).instance_id;
343           a19(indx) := t(ddindx).instance_number;
344           a20(indx) := t(ddindx).problem_code;
345           a21(indx) := t(ddindx).problem_meaning;
346           a22(indx) := t(ddindx).resolution_code;
347           a23(indx) := t(ddindx).resolution_meaning;
348           a24(indx) := t(ddindx).incident_id;
349           a25(indx) := t(ddindx).incident_number;
350           a26(indx) := t(ddindx).incident_object_version_number;
351           a27(indx) := t(ddindx).visit_id;
352           a28(indx) := t(ddindx).visit_number;
353           a29(indx) := t(ddindx).duration;
354           a30(indx) := t(ddindx).task_type_code;
355           a31(indx) := t(ddindx).visit_task_id;
356           a32(indx) := t(ddindx).visit_task_number;
357           a33(indx) := t(ddindx).visit_task_name;
358           a34(indx) := t(ddindx).operation_type;
359           a35(indx) := t(ddindx).workflow_process_id;
360           a36(indx) := t(ddindx).interaction_id;
361           a37(indx) := t(ddindx).originating_wo_id;
362           a38(indx) := t(ddindx).nonroutine_wo_id;
363           a39(indx) := t(ddindx).source_program_code;
364           a40(indx) := t(ddindx).object_id;
365           a41(indx) := t(ddindx).object_type;
366           a42(indx) := t(ddindx).link_id;
367           a43(indx) := t(ddindx).wo_create_flag;
368           a44(indx) := t(ddindx).wo_release_flag;
369           a45(indx) := t(ddindx).instance_quantity;
370           a46(indx) := t(ddindx).move_qty_to_nr_workorder;
371           indx := indx+1;
372           if t.last =ddindx
373             then exit;
374           end if;
375           ddindx := t.next(ddindx);
376         end loop;
377       end if;
378    end if;
379   end rosetta_table_copy_out_p2;
380 
381   procedure rosetta_table_copy_in_p4(t out nocopy ahl_prd_nonroutine_pvt.mr_association_tbl_type, a0 JTF_NUMBER_TABLE
382     , a1 JTF_VARCHAR2_TABLE_100
383     , a2 JTF_NUMBER_TABLE
384     , a3 JTF_NUMBER_TABLE
385     , a4 JTF_NUMBER_TABLE
386     , a5 JTF_NUMBER_TABLE
387     , a6 JTF_VARCHAR2_TABLE_100
388     , a7 JTF_NUMBER_TABLE
389     , a8 JTF_VARCHAR2_TABLE_100
390     , a9 JTF_NUMBER_TABLE
391     ) as
392     ddindx binary_integer; indx binary_integer;
393   begin
394   if a0 is not null and a0.count > 0 then
395       if a0.count > 0 then
396         indx := a0.first;
397         ddindx := 1;
398         while true loop
399           t(ddindx).mr_header_id := a0(indx);
400           t(ddindx).mr_title := a1(indx);
401           t(ddindx).mr_version := a2(indx);
402           t(ddindx).ue_relationship_id := a3(indx);
403           t(ddindx).unit_effectivity_id := a4(indx);
404           t(ddindx).object_version_number := a5(indx);
405           t(ddindx).relationship_code := a6(indx);
406           t(ddindx).csi_instance_id := a7(indx);
407           t(ddindx).csi_instance_number := a8(indx);
408           t(ddindx).sr_tbl_index := a9(indx);
409           ddindx := ddindx+1;
410           if a0.last =indx
411             then exit;
412           end if;
413           indx := a0.next(indx);
414         end loop;
415       end if;
416    end if;
417   end rosetta_table_copy_in_p4;
418   procedure rosetta_table_copy_out_p4(t ahl_prd_nonroutine_pvt.mr_association_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
419     , a1 out nocopy JTF_VARCHAR2_TABLE_100
420     , a2 out nocopy JTF_NUMBER_TABLE
421     , a3 out nocopy JTF_NUMBER_TABLE
422     , a4 out nocopy JTF_NUMBER_TABLE
423     , a5 out nocopy JTF_NUMBER_TABLE
424     , a6 out nocopy JTF_VARCHAR2_TABLE_100
425     , a7 out nocopy JTF_NUMBER_TABLE
426     , a8 out nocopy JTF_VARCHAR2_TABLE_100
427     , a9 out nocopy JTF_NUMBER_TABLE
428     ) as
429     ddindx binary_integer; indx binary_integer;
430   begin
431   if t is null or t.count = 0 then
432     a0 := JTF_NUMBER_TABLE();
433     a1 := JTF_VARCHAR2_TABLE_100();
434     a2 := JTF_NUMBER_TABLE();
435     a3 := JTF_NUMBER_TABLE();
436     a4 := JTF_NUMBER_TABLE();
437     a5 := JTF_NUMBER_TABLE();
438     a6 := JTF_VARCHAR2_TABLE_100();
439     a7 := JTF_NUMBER_TABLE();
440     a8 := JTF_VARCHAR2_TABLE_100();
441     a9 := JTF_NUMBER_TABLE();
442   else
443       a0 := JTF_NUMBER_TABLE();
444       a1 := JTF_VARCHAR2_TABLE_100();
445       a2 := JTF_NUMBER_TABLE();
446       a3 := JTF_NUMBER_TABLE();
447       a4 := JTF_NUMBER_TABLE();
448       a5 := JTF_NUMBER_TABLE();
449       a6 := JTF_VARCHAR2_TABLE_100();
450       a7 := JTF_NUMBER_TABLE();
451       a8 := JTF_VARCHAR2_TABLE_100();
452       a9 := JTF_NUMBER_TABLE();
453       if t.count > 0 then
454         a0.extend(t.count);
455         a1.extend(t.count);
456         a2.extend(t.count);
457         a3.extend(t.count);
458         a4.extend(t.count);
459         a5.extend(t.count);
460         a6.extend(t.count);
461         a7.extend(t.count);
462         a8.extend(t.count);
463         a9.extend(t.count);
464         ddindx := t.first;
465         indx := 1;
466         while true loop
467           a0(indx) := t(ddindx).mr_header_id;
468           a1(indx) := t(ddindx).mr_title;
469           a2(indx) := t(ddindx).mr_version;
470           a3(indx) := t(ddindx).ue_relationship_id;
471           a4(indx) := t(ddindx).unit_effectivity_id;
472           a5(indx) := t(ddindx).object_version_number;
473           a6(indx) := t(ddindx).relationship_code;
474           a7(indx) := t(ddindx).csi_instance_id;
475           a8(indx) := t(ddindx).csi_instance_number;
476           a9(indx) := t(ddindx).sr_tbl_index;
477           indx := indx+1;
478           if t.last =ddindx
479             then exit;
480           end if;
481           ddindx := t.next(ddindx);
482         end loop;
483       end if;
484    end if;
485   end rosetta_table_copy_out_p4;
486 
487   procedure process_nonroutine_job(p_api_version  NUMBER
488     , p_init_msg_list  VARCHAR2
489     , p_commit  VARCHAR2
490     , p_validation_level  NUMBER
491     , p_module_type  VARCHAR2
492     , x_return_status out nocopy  VARCHAR2
493     , x_msg_count out nocopy  NUMBER
494     , x_msg_data out nocopy  VARCHAR2
495     , p8_a0 in out nocopy JTF_DATE_TABLE
496     , p8_a1 in out nocopy JTF_NUMBER_TABLE
497     , p8_a2 in out nocopy JTF_VARCHAR2_TABLE_100
498     , p8_a3 in out nocopy JTF_NUMBER_TABLE
499     , p8_a4 in out nocopy JTF_VARCHAR2_TABLE_100
500     , p8_a5 in out nocopy JTF_NUMBER_TABLE
501     , p8_a6 in out nocopy JTF_VARCHAR2_TABLE_100
502     , p8_a7 in out nocopy JTF_NUMBER_TABLE
503     , p8_a8 in out nocopy JTF_VARCHAR2_TABLE_100
504     , p8_a9 in out nocopy JTF_VARCHAR2_TABLE_300
505     , p8_a10 in out nocopy JTF_VARCHAR2_TABLE_100
506     , p8_a11 in out nocopy JTF_NUMBER_TABLE
507     , p8_a12 in out nocopy JTF_VARCHAR2_TABLE_100
508     , p8_a13 in out nocopy JTF_VARCHAR2_TABLE_400
509     , p8_a14 in out nocopy JTF_VARCHAR2_TABLE_100
510     , p8_a15 in out nocopy JTF_NUMBER_TABLE
511     , p8_a16 in out nocopy JTF_VARCHAR2_TABLE_100
512     , p8_a17 in out nocopy JTF_VARCHAR2_TABLE_400
513     , p8_a18 in out nocopy JTF_NUMBER_TABLE
514     , p8_a19 in out nocopy JTF_VARCHAR2_TABLE_100
515     , p8_a20 in out nocopy JTF_VARCHAR2_TABLE_100
516     , p8_a21 in out nocopy JTF_VARCHAR2_TABLE_100
517     , p8_a22 in out nocopy JTF_VARCHAR2_TABLE_100
518     , p8_a23 in out nocopy JTF_VARCHAR2_TABLE_300
519     , p8_a24 in out nocopy JTF_NUMBER_TABLE
520     , p8_a25 in out nocopy JTF_VARCHAR2_TABLE_100
521     , p8_a26 in out nocopy JTF_NUMBER_TABLE
522     , p8_a27 in out nocopy JTF_NUMBER_TABLE
523     , p8_a28 in out nocopy JTF_NUMBER_TABLE
524     , p8_a29 in out nocopy JTF_NUMBER_TABLE
525     , p8_a30 in out nocopy JTF_VARCHAR2_TABLE_100
526     , p8_a31 in out nocopy JTF_NUMBER_TABLE
527     , p8_a32 in out nocopy JTF_NUMBER_TABLE
528     , p8_a33 in out nocopy JTF_VARCHAR2_TABLE_100
529     , p8_a34 in out nocopy JTF_VARCHAR2_TABLE_100
530     , p8_a35 in out nocopy JTF_NUMBER_TABLE
531     , p8_a36 in out nocopy JTF_NUMBER_TABLE
532     , p8_a37 in out nocopy JTF_NUMBER_TABLE
533     , p8_a38 in out nocopy JTF_NUMBER_TABLE
534     , p8_a39 in out nocopy JTF_VARCHAR2_TABLE_100
535     , p8_a40 in out nocopy JTF_NUMBER_TABLE
536     , p8_a41 in out nocopy JTF_VARCHAR2_TABLE_100
537     , p8_a42 in out nocopy JTF_NUMBER_TABLE
538     , p8_a43 in out nocopy JTF_VARCHAR2_TABLE_100
539     , p8_a44 in out nocopy JTF_VARCHAR2_TABLE_100
540     , p8_a45 in out nocopy JTF_NUMBER_TABLE
541     , p8_a46 in out nocopy JTF_VARCHAR2_TABLE_100
542     , p9_a0 in out nocopy JTF_NUMBER_TABLE
543     , p9_a1 in out nocopy JTF_VARCHAR2_TABLE_100
544     , p9_a2 in out nocopy JTF_NUMBER_TABLE
545     , p9_a3 in out nocopy JTF_NUMBER_TABLE
546     , p9_a4 in out nocopy JTF_NUMBER_TABLE
547     , p9_a5 in out nocopy JTF_NUMBER_TABLE
548     , p9_a6 in out nocopy JTF_VARCHAR2_TABLE_100
549     , p9_a7 in out nocopy JTF_NUMBER_TABLE
550     , p9_a8 in out nocopy JTF_VARCHAR2_TABLE_100
551     , p9_a9 in out nocopy JTF_NUMBER_TABLE
552   )
553 
554   as
555     ddp_x_sr_task_tbl ahl_prd_nonroutine_pvt.sr_task_tbl_type;
556     ddp_x_mr_asso_tbl ahl_prd_nonroutine_pvt.mr_association_tbl_type;
557     ddindx binary_integer; indx binary_integer;
558   begin
559 
560     -- copy data to the local IN or IN-OUT args, if any
561 
562 
563 
564 
565 
566 
567 
568 
569     ahl_prd_nonroutine_pvt_w.rosetta_table_copy_in_p2(ddp_x_sr_task_tbl, p8_a0
570       , p8_a1
571       , p8_a2
572       , p8_a3
573       , p8_a4
574       , p8_a5
575       , p8_a6
576       , p8_a7
577       , p8_a8
578       , p8_a9
579       , p8_a10
580       , p8_a11
581       , p8_a12
582       , p8_a13
583       , p8_a14
584       , p8_a15
585       , p8_a16
586       , p8_a17
587       , p8_a18
588       , p8_a19
589       , p8_a20
590       , p8_a21
591       , p8_a22
592       , p8_a23
593       , p8_a24
594       , p8_a25
595       , p8_a26
596       , p8_a27
597       , p8_a28
598       , p8_a29
599       , p8_a30
600       , p8_a31
601       , p8_a32
602       , p8_a33
603       , p8_a34
604       , p8_a35
605       , p8_a36
606       , p8_a37
607       , p8_a38
608       , p8_a39
609       , p8_a40
610       , p8_a41
611       , p8_a42
612       , p8_a43
613       , p8_a44
614       , p8_a45
615       , p8_a46
616       );
617 
618     ahl_prd_nonroutine_pvt_w.rosetta_table_copy_in_p4(ddp_x_mr_asso_tbl, p9_a0
619       , p9_a1
620       , p9_a2
621       , p9_a3
622       , p9_a4
623       , p9_a5
624       , p9_a6
625       , p9_a7
626       , p9_a8
627       , p9_a9
628       );
629 
630     -- here's the delegated call to the old PL/SQL routine
631     ahl_prd_nonroutine_pvt.process_nonroutine_job(p_api_version,
632       p_init_msg_list,
633       p_commit,
634       p_validation_level,
635       p_module_type,
636       x_return_status,
637       x_msg_count,
638       x_msg_data,
639       ddp_x_sr_task_tbl,
640       ddp_x_mr_asso_tbl);
641 
642     -- copy data back from the local variables to OUT or IN-OUT args, if any
643 
644 
645 
646 
647 
648 
649 
650 
651     ahl_prd_nonroutine_pvt_w.rosetta_table_copy_out_p2(ddp_x_sr_task_tbl, p8_a0
652       , p8_a1
653       , p8_a2
654       , p8_a3
655       , p8_a4
656       , p8_a5
657       , p8_a6
658       , p8_a7
659       , p8_a8
660       , p8_a9
661       , p8_a10
662       , p8_a11
663       , p8_a12
664       , p8_a13
665       , p8_a14
666       , p8_a15
667       , p8_a16
668       , p8_a17
669       , p8_a18
670       , p8_a19
671       , p8_a20
672       , p8_a21
673       , p8_a22
674       , p8_a23
675       , p8_a24
676       , p8_a25
677       , p8_a26
678       , p8_a27
679       , p8_a28
680       , p8_a29
681       , p8_a30
682       , p8_a31
683       , p8_a32
684       , p8_a33
685       , p8_a34
686       , p8_a35
687       , p8_a36
688       , p8_a37
689       , p8_a38
690       , p8_a39
691       , p8_a40
692       , p8_a41
693       , p8_a42
694       , p8_a43
695       , p8_a44
696       , p8_a45
697       , p8_a46
698       );
699 
700     ahl_prd_nonroutine_pvt_w.rosetta_table_copy_out_p4(ddp_x_mr_asso_tbl, p9_a0
701       , p9_a1
702       , p9_a2
703       , p9_a3
704       , p9_a4
705       , p9_a5
706       , p9_a6
707       , p9_a7
708       , p9_a8
709       , p9_a9
710       );
711   end;
712 
713 end ahl_prd_nonroutine_pvt_w;