DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_VWP_RULES_PVT_W

Source


1 package body ahl_vwp_rules_pvt_w as
2   /* $Header: AHLWRULB.pls 120.1 2008/01/09 08:57:06 rnahata 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 ahl_vwp_rules_pvt.mr_serial_tbl_type, a0 JTF_NUMBER_TABLE
17     , a1 JTF_NUMBER_TABLE
18     ) as
19     ddindx binary_integer; indx binary_integer;
20   begin
21   if a0 is not null and a0.count > 0 then
22       if a0.count > 0 then
23         indx := a0.first;
24         ddindx := 1;
25         while true loop
26           t(ddindx).mr_id := a0(indx);
27           t(ddindx).serial_id := a1(indx);
28           ddindx := ddindx+1;
29           if a0.last =indx
30             then exit;
31           end if;
32           indx := a0.next(indx);
33         end loop;
34       end if;
35    end if;
36   end rosetta_table_copy_in_p3;
37   procedure rosetta_table_copy_out_p3(t ahl_vwp_rules_pvt.mr_serial_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
38     , a1 out nocopy JTF_NUMBER_TABLE
39     ) as
40     ddindx binary_integer; indx binary_integer;
41   begin
42   if t is null or t.count = 0 then
43     a0 := JTF_NUMBER_TABLE();
44     a1 := JTF_NUMBER_TABLE();
45   else
46       a0 := JTF_NUMBER_TABLE();
47       a1 := JTF_NUMBER_TABLE();
48       if t.count > 0 then
49         a0.extend(t.count);
50         a1.extend(t.count);
51         ddindx := t.first;
52         indx := 1;
53         while true loop
54           a0(indx) := t(ddindx).mr_id;
55           a1(indx) := t(ddindx).serial_id;
56           indx := indx+1;
57           if t.last =ddindx
58             then exit;
59           end if;
60           ddindx := t.next(ddindx);
61         end loop;
62       end if;
63    end if;
64   end rosetta_table_copy_out_p3;
65 
66   procedure rosetta_table_copy_in_p4(t out nocopy ahl_vwp_rules_pvt.item_tbl_type, a0 JTF_NUMBER_TABLE
67     , a1 JTF_NUMBER_TABLE
68     , a2 JTF_NUMBER_TABLE
69     , a3 JTF_NUMBER_TABLE
70     , a4 JTF_DATE_TABLE
71     , a5 JTF_VARCHAR2_TABLE_100
72     ) as
73     ddindx binary_integer; indx binary_integer;
74   begin
75   if a0 is not null and a0.count > 0 then
76       if a0.count > 0 then
77         indx := a0.first;
78         ddindx := 1;
79         while true loop
80           t(ddindx).item_id := a0(indx);
81           t(ddindx).visit_task_id := a1(indx);
82           t(ddindx).quantity := a2(indx);
83           t(ddindx).duration := a3(indx);
84           t(ddindx).effective_date := rosetta_g_miss_date_in_map(a4(indx));
85           t(ddindx).uom_code := a5(indx);
86           ddindx := ddindx+1;
87           if a0.last =indx
88             then exit;
89           end if;
90           indx := a0.next(indx);
91         end loop;
92       end if;
93    end if;
94   end rosetta_table_copy_in_p4;
95   procedure rosetta_table_copy_out_p4(t ahl_vwp_rules_pvt.item_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
96     , a1 out nocopy JTF_NUMBER_TABLE
97     , a2 out nocopy JTF_NUMBER_TABLE
98     , a3 out nocopy JTF_NUMBER_TABLE
99     , a4 out nocopy JTF_DATE_TABLE
100     , a5 out nocopy JTF_VARCHAR2_TABLE_100
101     ) as
102     ddindx binary_integer; indx binary_integer;
103   begin
104   if t is null or t.count = 0 then
105     a0 := JTF_NUMBER_TABLE();
106     a1 := JTF_NUMBER_TABLE();
107     a2 := JTF_NUMBER_TABLE();
108     a3 := JTF_NUMBER_TABLE();
109     a4 := JTF_DATE_TABLE();
110     a5 := JTF_VARCHAR2_TABLE_100();
111   else
112       a0 := JTF_NUMBER_TABLE();
113       a1 := JTF_NUMBER_TABLE();
114       a2 := JTF_NUMBER_TABLE();
115       a3 := JTF_NUMBER_TABLE();
116       a4 := JTF_DATE_TABLE();
117       a5 := JTF_VARCHAR2_TABLE_100();
118       if t.count > 0 then
119         a0.extend(t.count);
120         a1.extend(t.count);
121         a2.extend(t.count);
122         a3.extend(t.count);
123         a4.extend(t.count);
124         a5.extend(t.count);
125         ddindx := t.first;
126         indx := 1;
127         while true loop
128           a0(indx) := t(ddindx).item_id;
129           a1(indx) := t(ddindx).visit_task_id;
130           a2(indx) := t(ddindx).quantity;
131           a3(indx) := t(ddindx).duration;
132           a4(indx) := t(ddindx).effective_date;
133           a5(indx) := t(ddindx).uom_code;
134           indx := indx+1;
135           if t.last =ddindx
136             then exit;
137           end if;
138           ddindx := t.next(ddindx);
139         end loop;
140       end if;
141    end if;
142   end rosetta_table_copy_out_p4;
143 
144   procedure rosetta_table_copy_in_p5(t out nocopy ahl_vwp_rules_pvt.task_tbl_type, a0 JTF_NUMBER_TABLE
145     , a1 JTF_NUMBER_TABLE
146     , a2 JTF_NUMBER_TABLE
147     , a3 JTF_VARCHAR2_TABLE_100
148     , a4 JTF_NUMBER_TABLE
149     , a5 JTF_NUMBER_TABLE
150     , a6 JTF_VARCHAR2_TABLE_100
151     , a7 JTF_NUMBER_TABLE
152     , a8 JTF_NUMBER_TABLE
153     , a9 JTF_NUMBER_TABLE
154     , a10 JTF_VARCHAR2_TABLE_100
155     , a11 JTF_NUMBER_TABLE
156     , a12 JTF_VARCHAR2_TABLE_100
157     , a13 JTF_NUMBER_TABLE
158     , a14 JTF_NUMBER_TABLE
159     , a15 JTF_VARCHAR2_TABLE_300
160     , a16 JTF_NUMBER_TABLE
161     , a17 JTF_VARCHAR2_TABLE_100
162     , a18 JTF_NUMBER_TABLE
163     , a19 JTF_NUMBER_TABLE
164     , a20 JTF_NUMBER_TABLE
165     , a21 JTF_VARCHAR2_TABLE_100
166     , a22 JTF_NUMBER_TABLE
167     , a23 JTF_NUMBER_TABLE
168     , a24 JTF_NUMBER_TABLE
169     , a25 JTF_NUMBER_TABLE
170     , a26 JTF_NUMBER_TABLE
171     , a27 JTF_VARCHAR2_TABLE_100
172     , a28 JTF_VARCHAR2_TABLE_100
173     , a29 JTF_VARCHAR2_TABLE_100
174     , a30 JTF_VARCHAR2_TABLE_4000
175     , a31 JTF_VARCHAR2_TABLE_100
176     , a32 JTF_VARCHAR2_TABLE_100
177     , a33 JTF_NUMBER_TABLE
178     , a34 JTF_DATE_TABLE
179     , a35 JTF_NUMBER_TABLE
180     , a36 JTF_DATE_TABLE
181     , a37 JTF_NUMBER_TABLE
182     , a38 JTF_NUMBER_TABLE
183     , a39 JTF_VARCHAR2_TABLE_100
184     , a40 JTF_VARCHAR2_TABLE_200
185     , a41 JTF_VARCHAR2_TABLE_200
186     , a42 JTF_VARCHAR2_TABLE_200
187     , a43 JTF_VARCHAR2_TABLE_200
188     , a44 JTF_VARCHAR2_TABLE_200
189     , a45 JTF_VARCHAR2_TABLE_200
190     , a46 JTF_VARCHAR2_TABLE_200
191     , a47 JTF_VARCHAR2_TABLE_200
192     , a48 JTF_VARCHAR2_TABLE_200
193     , a49 JTF_VARCHAR2_TABLE_200
194     , a50 JTF_VARCHAR2_TABLE_200
195     , a51 JTF_VARCHAR2_TABLE_200
196     , a52 JTF_VARCHAR2_TABLE_200
197     , a53 JTF_VARCHAR2_TABLE_200
198     , a54 JTF_VARCHAR2_TABLE_200
199     , a55 JTF_DATE_TABLE
200     , a56 JTF_DATE_TABLE
201     , a57 JTF_DATE_TABLE
202     , a58 JTF_VARCHAR2_TABLE_100
203     , a59 JTF_VARCHAR2_TABLE_100
204     , a60 JTF_NUMBER_TABLE
205     , a61 JTF_NUMBER_TABLE
206     , a62 JTF_VARCHAR2_TABLE_100
207     , a63 JTF_NUMBER_TABLE
208     , a64 JTF_VARCHAR2_TABLE_300
209     , a65 JTF_VARCHAR2_TABLE_100
210     , a66 JTF_DATE_TABLE
211     , a67 JTF_DATE_TABLE
212     , a68 JTF_VARCHAR2_TABLE_100
213     , a69 JTF_VARCHAR2_TABLE_100
214     , a70 JTF_VARCHAR2_TABLE_100
215     , a71 JTF_NUMBER_TABLE
216     , a72 JTF_VARCHAR2_TABLE_100
217     , a73 JTF_NUMBER_TABLE
218     , a74 JTF_VARCHAR2_TABLE_100
219     , a75 JTF_VARCHAR2_TABLE_100
220     ) as
221     ddindx binary_integer; indx binary_integer;
222   begin
223   if a0 is not null and a0.count > 0 then
224       if a0.count > 0 then
225         indx := a0.first;
226         ddindx := 1;
227         while true loop
228           t(ddindx).visit_task_id := a0(indx);
229           t(ddindx).visit_task_number := a1(indx);
230           t(ddindx).visit_id := a2(indx);
231           t(ddindx).template_flag := a3(indx);
232           t(ddindx).inventory_item_id := a4(indx);
233           t(ddindx).item_organization_id := a5(indx);
234           t(ddindx).item_name := a6(indx);
235           t(ddindx).cost_parent_id := a7(indx);
236           t(ddindx).cost_parent_number := a8(indx);
237           t(ddindx).mr_route_id := a9(indx);
238           t(ddindx).route_number := a10(indx);
239           t(ddindx).mr_id := a11(indx);
240           t(ddindx).mr_title := a12(indx);
241           t(ddindx).unit_effectivity_id := a13(indx);
242           t(ddindx).department_id := a14(indx);
243           t(ddindx).dept_name := a15(indx);
244           t(ddindx).service_request_id := a16(indx);
245           t(ddindx).service_request_number := a17(indx);
246           t(ddindx).originating_task_id := a18(indx);
247           t(ddindx).orginating_task_number := a19(indx);
248           t(ddindx).instance_id := a20(indx);
249           t(ddindx).serial_number := a21(indx);
250           t(ddindx).project_task_id := a22(indx);
251           t(ddindx).project_task_number := a23(indx);
252           t(ddindx).primary_visit_task_id := a24(indx);
253           t(ddindx).start_from_hour := a25(indx);
254           t(ddindx).duration := a26(indx);
255           t(ddindx).task_type_code := a27(indx);
256           t(ddindx).task_type_value := a28(indx);
257           t(ddindx).visit_task_name := a29(indx);
258           t(ddindx).description := a30(indx);
259           t(ddindx).task_status_code := a31(indx);
260           t(ddindx).task_status_value := a32(indx);
261           t(ddindx).object_version_number := a33(indx);
262           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a34(indx));
263           t(ddindx).last_updated_by := a35(indx);
264           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a36(indx));
265           t(ddindx).created_by := a37(indx);
266           t(ddindx).last_update_login := a38(indx);
267           t(ddindx).attribute_category := a39(indx);
268           t(ddindx).attribute1 := a40(indx);
269           t(ddindx).attribute2 := a41(indx);
270           t(ddindx).attribute3 := a42(indx);
271           t(ddindx).attribute4 := a43(indx);
272           t(ddindx).attribute5 := a44(indx);
273           t(ddindx).attribute6 := a45(indx);
274           t(ddindx).attribute7 := a46(indx);
275           t(ddindx).attribute8 := a47(indx);
276           t(ddindx).attribute9 := a48(indx);
277           t(ddindx).attribute10 := a49(indx);
278           t(ddindx).attribute11 := a50(indx);
279           t(ddindx).attribute12 := a51(indx);
280           t(ddindx).attribute13 := a52(indx);
281           t(ddindx).attribute14 := a53(indx);
282           t(ddindx).attribute15 := a54(indx);
283           t(ddindx).task_start_date := rosetta_g_miss_date_in_map(a55(indx));
284           t(ddindx).task_end_date := rosetta_g_miss_date_in_map(a56(indx));
285           t(ddindx).due_by_date := rosetta_g_miss_date_in_map(a57(indx));
286           t(ddindx).zone_name := a58(indx);
287           t(ddindx).sub_zone_name := a59(indx);
288           t(ddindx).tolerance_after := a60(indx);
289           t(ddindx).tolerance_before := a61(indx);
290           t(ddindx).tolerance_uom := a62(indx);
291           t(ddindx).workorder_id := a63(indx);
292           t(ddindx).wo_name := a64(indx);
293           t(ddindx).wo_status := a65(indx);
294           t(ddindx).wo_start_date := rosetta_g_miss_date_in_map(a66(indx));
295           t(ddindx).wo_end_date := rosetta_g_miss_date_in_map(a67(indx));
296           t(ddindx).operation_flag := a68(indx);
297           t(ddindx).is_production_flag := a69(indx);
298           t(ddindx).create_job_flag := a70(indx);
299           t(ddindx).stage_id := a71(indx);
300           t(ddindx).stage_name := a72(indx);
301           t(ddindx).quantity := a73(indx);
302           t(ddindx).uom := a74(indx);
303           t(ddindx).instance_number := a75(indx);
304           ddindx := ddindx+1;
305           if a0.last =indx
306             then exit;
307           end if;
308           indx := a0.next(indx);
309         end loop;
310       end if;
311    end if;
312   end rosetta_table_copy_in_p5;
313   procedure rosetta_table_copy_out_p5(t ahl_vwp_rules_pvt.task_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
314     , a1 out nocopy JTF_NUMBER_TABLE
315     , a2 out nocopy JTF_NUMBER_TABLE
316     , a3 out nocopy JTF_VARCHAR2_TABLE_100
317     , a4 out nocopy JTF_NUMBER_TABLE
318     , a5 out nocopy JTF_NUMBER_TABLE
319     , a6 out nocopy JTF_VARCHAR2_TABLE_100
320     , a7 out nocopy JTF_NUMBER_TABLE
321     , a8 out nocopy JTF_NUMBER_TABLE
322     , a9 out nocopy JTF_NUMBER_TABLE
323     , a10 out nocopy JTF_VARCHAR2_TABLE_100
324     , a11 out nocopy JTF_NUMBER_TABLE
325     , a12 out nocopy JTF_VARCHAR2_TABLE_100
326     , a13 out nocopy JTF_NUMBER_TABLE
327     , a14 out nocopy JTF_NUMBER_TABLE
328     , a15 out nocopy JTF_VARCHAR2_TABLE_300
329     , a16 out nocopy JTF_NUMBER_TABLE
330     , a17 out nocopy JTF_VARCHAR2_TABLE_100
331     , a18 out nocopy JTF_NUMBER_TABLE
332     , a19 out nocopy JTF_NUMBER_TABLE
333     , a20 out nocopy JTF_NUMBER_TABLE
334     , a21 out nocopy JTF_VARCHAR2_TABLE_100
335     , a22 out nocopy JTF_NUMBER_TABLE
336     , a23 out nocopy JTF_NUMBER_TABLE
337     , a24 out nocopy JTF_NUMBER_TABLE
338     , a25 out nocopy JTF_NUMBER_TABLE
339     , a26 out nocopy JTF_NUMBER_TABLE
340     , a27 out nocopy JTF_VARCHAR2_TABLE_100
341     , a28 out nocopy JTF_VARCHAR2_TABLE_100
342     , a29 out nocopy JTF_VARCHAR2_TABLE_100
343     , a30 out nocopy JTF_VARCHAR2_TABLE_4000
344     , a31 out nocopy JTF_VARCHAR2_TABLE_100
345     , a32 out nocopy JTF_VARCHAR2_TABLE_100
346     , a33 out nocopy JTF_NUMBER_TABLE
347     , a34 out nocopy JTF_DATE_TABLE
348     , a35 out nocopy JTF_NUMBER_TABLE
349     , a36 out nocopy JTF_DATE_TABLE
350     , a37 out nocopy JTF_NUMBER_TABLE
351     , a38 out nocopy JTF_NUMBER_TABLE
352     , a39 out nocopy JTF_VARCHAR2_TABLE_100
353     , a40 out nocopy JTF_VARCHAR2_TABLE_200
354     , a41 out nocopy JTF_VARCHAR2_TABLE_200
355     , a42 out nocopy JTF_VARCHAR2_TABLE_200
356     , a43 out nocopy JTF_VARCHAR2_TABLE_200
357     , a44 out nocopy JTF_VARCHAR2_TABLE_200
358     , a45 out nocopy JTF_VARCHAR2_TABLE_200
359     , a46 out nocopy JTF_VARCHAR2_TABLE_200
360     , a47 out nocopy JTF_VARCHAR2_TABLE_200
361     , a48 out nocopy JTF_VARCHAR2_TABLE_200
362     , a49 out nocopy JTF_VARCHAR2_TABLE_200
363     , a50 out nocopy JTF_VARCHAR2_TABLE_200
364     , a51 out nocopy JTF_VARCHAR2_TABLE_200
365     , a52 out nocopy JTF_VARCHAR2_TABLE_200
366     , a53 out nocopy JTF_VARCHAR2_TABLE_200
367     , a54 out nocopy JTF_VARCHAR2_TABLE_200
368     , a55 out nocopy JTF_DATE_TABLE
369     , a56 out nocopy JTF_DATE_TABLE
370     , a57 out nocopy JTF_DATE_TABLE
371     , a58 out nocopy JTF_VARCHAR2_TABLE_100
372     , a59 out nocopy JTF_VARCHAR2_TABLE_100
373     , a60 out nocopy JTF_NUMBER_TABLE
374     , a61 out nocopy JTF_NUMBER_TABLE
375     , a62 out nocopy JTF_VARCHAR2_TABLE_100
376     , a63 out nocopy JTF_NUMBER_TABLE
377     , a64 out nocopy JTF_VARCHAR2_TABLE_300
378     , a65 out nocopy JTF_VARCHAR2_TABLE_100
379     , a66 out nocopy JTF_DATE_TABLE
380     , a67 out nocopy JTF_DATE_TABLE
381     , a68 out nocopy JTF_VARCHAR2_TABLE_100
382     , a69 out nocopy JTF_VARCHAR2_TABLE_100
383     , a70 out nocopy JTF_VARCHAR2_TABLE_100
384     , a71 out nocopy JTF_NUMBER_TABLE
385     , a72 out nocopy JTF_VARCHAR2_TABLE_100
386     , a73 out nocopy JTF_NUMBER_TABLE
390     ddindx binary_integer; indx binary_integer;
387     , a74 out nocopy JTF_VARCHAR2_TABLE_100
388     , a75 out nocopy JTF_VARCHAR2_TABLE_100
389     ) as
391   begin
392   if t is null or t.count = 0 then
393     a0 := JTF_NUMBER_TABLE();
394     a1 := JTF_NUMBER_TABLE();
395     a2 := JTF_NUMBER_TABLE();
396     a3 := JTF_VARCHAR2_TABLE_100();
397     a4 := JTF_NUMBER_TABLE();
398     a5 := JTF_NUMBER_TABLE();
399     a6 := JTF_VARCHAR2_TABLE_100();
400     a7 := JTF_NUMBER_TABLE();
401     a8 := JTF_NUMBER_TABLE();
402     a9 := JTF_NUMBER_TABLE();
403     a10 := JTF_VARCHAR2_TABLE_100();
404     a11 := JTF_NUMBER_TABLE();
405     a12 := JTF_VARCHAR2_TABLE_100();
406     a13 := JTF_NUMBER_TABLE();
407     a14 := JTF_NUMBER_TABLE();
408     a15 := JTF_VARCHAR2_TABLE_300();
409     a16 := JTF_NUMBER_TABLE();
410     a17 := JTF_VARCHAR2_TABLE_100();
411     a18 := JTF_NUMBER_TABLE();
412     a19 := JTF_NUMBER_TABLE();
413     a20 := JTF_NUMBER_TABLE();
414     a21 := JTF_VARCHAR2_TABLE_100();
415     a22 := JTF_NUMBER_TABLE();
416     a23 := JTF_NUMBER_TABLE();
417     a24 := JTF_NUMBER_TABLE();
418     a25 := JTF_NUMBER_TABLE();
419     a26 := JTF_NUMBER_TABLE();
420     a27 := JTF_VARCHAR2_TABLE_100();
421     a28 := JTF_VARCHAR2_TABLE_100();
422     a29 := JTF_VARCHAR2_TABLE_100();
423     a30 := JTF_VARCHAR2_TABLE_4000();
424     a31 := JTF_VARCHAR2_TABLE_100();
425     a32 := JTF_VARCHAR2_TABLE_100();
426     a33 := JTF_NUMBER_TABLE();
427     a34 := JTF_DATE_TABLE();
428     a35 := JTF_NUMBER_TABLE();
429     a36 := JTF_DATE_TABLE();
430     a37 := JTF_NUMBER_TABLE();
431     a38 := JTF_NUMBER_TABLE();
432     a39 := JTF_VARCHAR2_TABLE_100();
433     a40 := JTF_VARCHAR2_TABLE_200();
434     a41 := JTF_VARCHAR2_TABLE_200();
435     a42 := JTF_VARCHAR2_TABLE_200();
436     a43 := JTF_VARCHAR2_TABLE_200();
437     a44 := JTF_VARCHAR2_TABLE_200();
438     a45 := JTF_VARCHAR2_TABLE_200();
439     a46 := JTF_VARCHAR2_TABLE_200();
440     a47 := JTF_VARCHAR2_TABLE_200();
441     a48 := JTF_VARCHAR2_TABLE_200();
442     a49 := JTF_VARCHAR2_TABLE_200();
443     a50 := JTF_VARCHAR2_TABLE_200();
444     a51 := JTF_VARCHAR2_TABLE_200();
445     a52 := JTF_VARCHAR2_TABLE_200();
446     a53 := JTF_VARCHAR2_TABLE_200();
447     a54 := JTF_VARCHAR2_TABLE_200();
448     a55 := JTF_DATE_TABLE();
449     a56 := JTF_DATE_TABLE();
450     a57 := JTF_DATE_TABLE();
451     a58 := JTF_VARCHAR2_TABLE_100();
452     a59 := JTF_VARCHAR2_TABLE_100();
453     a60 := JTF_NUMBER_TABLE();
454     a61 := JTF_NUMBER_TABLE();
455     a62 := JTF_VARCHAR2_TABLE_100();
456     a63 := JTF_NUMBER_TABLE();
457     a64 := JTF_VARCHAR2_TABLE_300();
458     a65 := JTF_VARCHAR2_TABLE_100();
459     a66 := JTF_DATE_TABLE();
460     a67 := JTF_DATE_TABLE();
461     a68 := JTF_VARCHAR2_TABLE_100();
462     a69 := JTF_VARCHAR2_TABLE_100();
463     a70 := JTF_VARCHAR2_TABLE_100();
464     a71 := JTF_NUMBER_TABLE();
465     a72 := JTF_VARCHAR2_TABLE_100();
466     a73 := JTF_NUMBER_TABLE();
467     a74 := JTF_VARCHAR2_TABLE_100();
468     a75 := JTF_VARCHAR2_TABLE_100();
469   else
470       a0 := JTF_NUMBER_TABLE();
471       a1 := JTF_NUMBER_TABLE();
472       a2 := JTF_NUMBER_TABLE();
473       a3 := JTF_VARCHAR2_TABLE_100();
474       a4 := JTF_NUMBER_TABLE();
475       a5 := JTF_NUMBER_TABLE();
476       a6 := JTF_VARCHAR2_TABLE_100();
477       a7 := JTF_NUMBER_TABLE();
478       a8 := JTF_NUMBER_TABLE();
479       a9 := JTF_NUMBER_TABLE();
480       a10 := JTF_VARCHAR2_TABLE_100();
481       a11 := JTF_NUMBER_TABLE();
482       a12 := JTF_VARCHAR2_TABLE_100();
483       a13 := JTF_NUMBER_TABLE();
484       a14 := JTF_NUMBER_TABLE();
485       a15 := JTF_VARCHAR2_TABLE_300();
486       a16 := JTF_NUMBER_TABLE();
487       a17 := JTF_VARCHAR2_TABLE_100();
488       a18 := JTF_NUMBER_TABLE();
489       a19 := JTF_NUMBER_TABLE();
490       a20 := JTF_NUMBER_TABLE();
491       a21 := JTF_VARCHAR2_TABLE_100();
492       a22 := JTF_NUMBER_TABLE();
493       a23 := JTF_NUMBER_TABLE();
494       a24 := JTF_NUMBER_TABLE();
495       a25 := JTF_NUMBER_TABLE();
496       a26 := JTF_NUMBER_TABLE();
497       a27 := JTF_VARCHAR2_TABLE_100();
498       a28 := JTF_VARCHAR2_TABLE_100();
499       a29 := JTF_VARCHAR2_TABLE_100();
500       a30 := JTF_VARCHAR2_TABLE_4000();
501       a31 := JTF_VARCHAR2_TABLE_100();
502       a32 := JTF_VARCHAR2_TABLE_100();
503       a33 := JTF_NUMBER_TABLE();
504       a34 := JTF_DATE_TABLE();
505       a35 := JTF_NUMBER_TABLE();
506       a36 := JTF_DATE_TABLE();
507       a37 := JTF_NUMBER_TABLE();
508       a38 := JTF_NUMBER_TABLE();
509       a39 := JTF_VARCHAR2_TABLE_100();
510       a40 := JTF_VARCHAR2_TABLE_200();
511       a41 := JTF_VARCHAR2_TABLE_200();
512       a42 := JTF_VARCHAR2_TABLE_200();
513       a43 := JTF_VARCHAR2_TABLE_200();
514       a44 := JTF_VARCHAR2_TABLE_200();
515       a45 := JTF_VARCHAR2_TABLE_200();
516       a46 := JTF_VARCHAR2_TABLE_200();
517       a47 := JTF_VARCHAR2_TABLE_200();
518       a48 := JTF_VARCHAR2_TABLE_200();
519       a49 := JTF_VARCHAR2_TABLE_200();
520       a50 := JTF_VARCHAR2_TABLE_200();
521       a51 := JTF_VARCHAR2_TABLE_200();
522       a52 := JTF_VARCHAR2_TABLE_200();
523       a53 := JTF_VARCHAR2_TABLE_200();
524       a54 := JTF_VARCHAR2_TABLE_200();
525       a55 := JTF_DATE_TABLE();
526       a56 := JTF_DATE_TABLE();
527       a57 := JTF_DATE_TABLE();
528       a58 := JTF_VARCHAR2_TABLE_100();
529       a59 := JTF_VARCHAR2_TABLE_100();
530       a60 := JTF_NUMBER_TABLE();
531       a61 := JTF_NUMBER_TABLE();
532       a62 := JTF_VARCHAR2_TABLE_100();
533       a63 := JTF_NUMBER_TABLE();
534       a64 := JTF_VARCHAR2_TABLE_300();
535       a65 := JTF_VARCHAR2_TABLE_100();
536       a66 := JTF_DATE_TABLE();
537       a67 := JTF_DATE_TABLE();
538       a68 := JTF_VARCHAR2_TABLE_100();
539       a69 := JTF_VARCHAR2_TABLE_100();
540       a70 := JTF_VARCHAR2_TABLE_100();
541       a71 := JTF_NUMBER_TABLE();
542       a72 := JTF_VARCHAR2_TABLE_100();
543       a73 := JTF_NUMBER_TABLE();
544       a74 := JTF_VARCHAR2_TABLE_100();
545       a75 := JTF_VARCHAR2_TABLE_100();
546       if t.count > 0 then
547         a0.extend(t.count);
548         a1.extend(t.count);
549         a2.extend(t.count);
550         a3.extend(t.count);
551         a4.extend(t.count);
552         a5.extend(t.count);
553         a6.extend(t.count);
554         a7.extend(t.count);
555         a8.extend(t.count);
556         a9.extend(t.count);
557         a10.extend(t.count);
558         a11.extend(t.count);
559         a12.extend(t.count);
560         a13.extend(t.count);
561         a14.extend(t.count);
562         a15.extend(t.count);
563         a16.extend(t.count);
564         a17.extend(t.count);
565         a18.extend(t.count);
566         a19.extend(t.count);
567         a20.extend(t.count);
568         a21.extend(t.count);
569         a22.extend(t.count);
570         a23.extend(t.count);
571         a24.extend(t.count);
572         a25.extend(t.count);
573         a26.extend(t.count);
574         a27.extend(t.count);
575         a28.extend(t.count);
576         a29.extend(t.count);
577         a30.extend(t.count);
578         a31.extend(t.count);
579         a32.extend(t.count);
580         a33.extend(t.count);
581         a34.extend(t.count);
582         a35.extend(t.count);
583         a36.extend(t.count);
584         a37.extend(t.count);
585         a38.extend(t.count);
586         a39.extend(t.count);
587         a40.extend(t.count);
588         a41.extend(t.count);
589         a42.extend(t.count);
590         a43.extend(t.count);
591         a44.extend(t.count);
592         a45.extend(t.count);
593         a46.extend(t.count);
594         a47.extend(t.count);
595         a48.extend(t.count);
596         a49.extend(t.count);
597         a50.extend(t.count);
598         a51.extend(t.count);
599         a52.extend(t.count);
600         a53.extend(t.count);
601         a54.extend(t.count);
602         a55.extend(t.count);
603         a56.extend(t.count);
604         a57.extend(t.count);
605         a58.extend(t.count);
606         a59.extend(t.count);
607         a60.extend(t.count);
608         a61.extend(t.count);
609         a62.extend(t.count);
610         a63.extend(t.count);
611         a64.extend(t.count);
612         a65.extend(t.count);
613         a66.extend(t.count);
614         a67.extend(t.count);
615         a68.extend(t.count);
616         a69.extend(t.count);
617         a70.extend(t.count);
618         a71.extend(t.count);
619         a72.extend(t.count);
620         a73.extend(t.count);
621         a74.extend(t.count);
622         a75.extend(t.count);
623         ddindx := t.first;
624         indx := 1;
625         while true loop
626           a0(indx) := t(ddindx).visit_task_id;
627           a1(indx) := t(ddindx).visit_task_number;
628           a2(indx) := t(ddindx).visit_id;
629           a3(indx) := t(ddindx).template_flag;
630           a4(indx) := t(ddindx).inventory_item_id;
631           a5(indx) := t(ddindx).item_organization_id;
632           a6(indx) := t(ddindx).item_name;
633           a7(indx) := t(ddindx).cost_parent_id;
634           a8(indx) := t(ddindx).cost_parent_number;
635           a9(indx) := t(ddindx).mr_route_id;
636           a10(indx) := t(ddindx).route_number;
637           a11(indx) := t(ddindx).mr_id;
638           a12(indx) := t(ddindx).mr_title;
639           a13(indx) := t(ddindx).unit_effectivity_id;
640           a14(indx) := t(ddindx).department_id;
641           a15(indx) := t(ddindx).dept_name;
642           a16(indx) := t(ddindx).service_request_id;
643           a17(indx) := t(ddindx).service_request_number;
644           a18(indx) := t(ddindx).originating_task_id;
645           a19(indx) := t(ddindx).orginating_task_number;
646           a20(indx) := t(ddindx).instance_id;
647           a21(indx) := t(ddindx).serial_number;
648           a22(indx) := t(ddindx).project_task_id;
649           a23(indx) := t(ddindx).project_task_number;
650           a24(indx) := t(ddindx).primary_visit_task_id;
651           a25(indx) := t(ddindx).start_from_hour;
652           a26(indx) := t(ddindx).duration;
653           a27(indx) := t(ddindx).task_type_code;
654           a28(indx) := t(ddindx).task_type_value;
655           a29(indx) := t(ddindx).visit_task_name;
656           a30(indx) := t(ddindx).description;
657           a31(indx) := t(ddindx).task_status_code;
658           a32(indx) := t(ddindx).task_status_value;
659           a33(indx) := t(ddindx).object_version_number;
660           a34(indx) := t(ddindx).last_update_date;
661           a35(indx) := t(ddindx).last_updated_by;
662           a36(indx) := t(ddindx).creation_date;
663           a37(indx) := t(ddindx).created_by;
664           a38(indx) := t(ddindx).last_update_login;
665           a39(indx) := t(ddindx).attribute_category;
666           a40(indx) := t(ddindx).attribute1;
667           a41(indx) := t(ddindx).attribute2;
668           a42(indx) := t(ddindx).attribute3;
669           a43(indx) := t(ddindx).attribute4;
670           a44(indx) := t(ddindx).attribute5;
671           a45(indx) := t(ddindx).attribute6;
672           a46(indx) := t(ddindx).attribute7;
673           a47(indx) := t(ddindx).attribute8;
674           a48(indx) := t(ddindx).attribute9;
675           a49(indx) := t(ddindx).attribute10;
676           a50(indx) := t(ddindx).attribute11;
677           a51(indx) := t(ddindx).attribute12;
678           a52(indx) := t(ddindx).attribute13;
679           a53(indx) := t(ddindx).attribute14;
680           a54(indx) := t(ddindx).attribute15;
681           a55(indx) := t(ddindx).task_start_date;
682           a56(indx) := t(ddindx).task_end_date;
683           a57(indx) := t(ddindx).due_by_date;
684           a58(indx) := t(ddindx).zone_name;
685           a59(indx) := t(ddindx).sub_zone_name;
686           a60(indx) := t(ddindx).tolerance_after;
687           a61(indx) := t(ddindx).tolerance_before;
688           a62(indx) := t(ddindx).tolerance_uom;
689           a63(indx) := t(ddindx).workorder_id;
690           a64(indx) := t(ddindx).wo_name;
691           a65(indx) := t(ddindx).wo_status;
692           a66(indx) := t(ddindx).wo_start_date;
693           a67(indx) := t(ddindx).wo_end_date;
694           a68(indx) := t(ddindx).operation_flag;
695           a69(indx) := t(ddindx).is_production_flag;
696           a70(indx) := t(ddindx).create_job_flag;
697           a71(indx) := t(ddindx).stage_id;
698           a72(indx) := t(ddindx).stage_name;
699           a73(indx) := t(ddindx).quantity;
700           a74(indx) := t(ddindx).uom;
701           a75(indx) := t(ddindx).instance_number;
702           indx := indx+1;
703           if t.last =ddindx
704             then exit;
705           end if;
706           ddindx := t.next(ddindx);
707         end loop;
708       end if;
709    end if;
710   end rosetta_table_copy_out_p5;
711 
712   procedure tech_dependency(p_visit_id  NUMBER
713     , p_task_type  VARCHAR2
714     , p2_a0 JTF_NUMBER_TABLE
715     , p2_a1 JTF_NUMBER_TABLE
716     , x_return_status out nocopy  VARCHAR2
717   )
718 
719   as
720     ddp_mr_serial_tbl ahl_vwp_rules_pvt.mr_serial_tbl_type;
721     ddindx binary_integer; indx binary_integer;
722   begin
723 
724     -- copy data to the local IN or IN-OUT args, if any
725 
726 
727     ahl_vwp_rules_pvt_w.rosetta_table_copy_in_p3(ddp_mr_serial_tbl, p2_a0
728       , p2_a1
729       );
730 
731 
732     -- here's the delegated call to the old PL/SQL routine
733     ahl_vwp_rules_pvt.tech_dependency(p_visit_id,
734       p_task_type,
735       ddp_mr_serial_tbl,
736       x_return_status);
737 
738     -- copy data back from the local variables to OUT or IN-OUT args, if any
739 
740 
741 
742   end;
743 
744   procedure merge_for_unique_items(p0_a0 JTF_NUMBER_TABLE
745     , p0_a1 JTF_NUMBER_TABLE
746     , p0_a2 JTF_NUMBER_TABLE
747     , p0_a3 JTF_NUMBER_TABLE
748     , p0_a4 JTF_DATE_TABLE
749     , p0_a5 JTF_VARCHAR2_TABLE_100
750     , p1_a0 JTF_NUMBER_TABLE
751     , p1_a1 JTF_NUMBER_TABLE
752     , p1_a2 JTF_NUMBER_TABLE
753     , p1_a3 JTF_NUMBER_TABLE
754     , p1_a4 JTF_DATE_TABLE
755     , p1_a5 JTF_VARCHAR2_TABLE_100
756     , p2_a0 out nocopy JTF_NUMBER_TABLE
757     , p2_a1 out nocopy JTF_NUMBER_TABLE
758     , p2_a2 out nocopy JTF_NUMBER_TABLE
759     , p2_a3 out nocopy JTF_NUMBER_TABLE
760     , p2_a4 out nocopy JTF_DATE_TABLE
761     , p2_a5 out nocopy JTF_VARCHAR2_TABLE_100
762   )
763 
764   as
765     ddp_item_tbl1 ahl_vwp_rules_pvt.item_tbl_type;
766     ddp_item_tbl2 ahl_vwp_rules_pvt.item_tbl_type;
767     ddx_item_tbl ahl_vwp_rules_pvt.item_tbl_type;
768     ddindx binary_integer; indx binary_integer;
769   begin
770 
771     -- copy data to the local IN or IN-OUT args, if any
772     ahl_vwp_rules_pvt_w.rosetta_table_copy_in_p4(ddp_item_tbl1, p0_a0
773       , p0_a1
774       , p0_a2
775       , p0_a3
776       , p0_a4
777       , p0_a5
778       );
779 
780     ahl_vwp_rules_pvt_w.rosetta_table_copy_in_p4(ddp_item_tbl2, p1_a0
781       , p1_a1
782       , p1_a2
783       , p1_a3
784       , p1_a4
785       , p1_a5
786       );
787 
788 
789     -- here's the delegated call to the old PL/SQL routine
790     ahl_vwp_rules_pvt.merge_for_unique_items(ddp_item_tbl1,
791       ddp_item_tbl2,
792       ddx_item_tbl);
793 
794     -- copy data back from the local variables to OUT or IN-OUT args, if any
795 
796 
797     ahl_vwp_rules_pvt_w.rosetta_table_copy_out_p4(ddx_item_tbl, p2_a0
798       , p2_a1
799       , p2_a2
800       , p2_a3
801       , p2_a4
802       , p2_a5
803       );
804   end;
805 
806 end ahl_vwp_rules_pvt_w;