DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_RM_MATERIAL_AS_PVT_W

Source


1 package body ahl_rm_material_as_pvt_w as
2   /* $Header: AHLWMTLB.pls 120.1.12020000.2 2012/12/13 06:21:49 shnatu 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   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
8   function rosetta_g_miss_date_in_map(d date) return date as
9   begin
10     if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
11     if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
12     return d;
13   end;
14   procedure rosetta_table_copy_in_p1(t out nocopy ahl_rm_material_as_pvt.material_req_tbl_type, a0 JTF_NUMBER_TABLE
15     , a1 JTF_NUMBER_TABLE
16     , a2 JTF_NUMBER_TABLE
17     , a3 JTF_VARCHAR2_TABLE_100
18     , a4 JTF_VARCHAR2_TABLE_100
19     , a5 JTF_NUMBER_TABLE
20     , a6 JTF_NUMBER_TABLE
21     , a7 JTF_VARCHAR2_TABLE_100
22     , a8 JTF_VARCHAR2_TABLE_100
23     , a9 JTF_NUMBER_TABLE
24     , a10 JTF_VARCHAR2_TABLE_100
25     , a11 JTF_VARCHAR2_TABLE_200
26     , a12 JTF_VARCHAR2_TABLE_200
27     , a13 JTF_VARCHAR2_TABLE_200
28     , a14 JTF_VARCHAR2_TABLE_200
29     , a15 JTF_VARCHAR2_TABLE_200
30     , a16 JTF_VARCHAR2_TABLE_200
31     , a17 JTF_VARCHAR2_TABLE_200
32     , a18 JTF_VARCHAR2_TABLE_200
33     , a19 JTF_VARCHAR2_TABLE_200
34     , a20 JTF_VARCHAR2_TABLE_200
35     , a21 JTF_VARCHAR2_TABLE_200
36     , a22 JTF_VARCHAR2_TABLE_200
37     , a23 JTF_VARCHAR2_TABLE_200
38     , a24 JTF_VARCHAR2_TABLE_200
39     , a25 JTF_VARCHAR2_TABLE_200
40     , a26 JTF_DATE_TABLE
41     , a27 JTF_NUMBER_TABLE
42     , a28 JTF_DATE_TABLE
43     , a29 JTF_NUMBER_TABLE
44     , a30 JTF_NUMBER_TABLE
45     , a31 JTF_VARCHAR2_TABLE_100
46     , a32 JTF_VARCHAR2_TABLE_4000
47     , a33 JTF_NUMBER_TABLE
48     , a34 JTF_NUMBER_TABLE
49     , a35 JTF_VARCHAR2_TABLE_100
50     , a36 JTF_NUMBER_TABLE
51     , a37 JTF_NUMBER_TABLE
52     , a38 JTF_VARCHAR2_TABLE_100
53     , a39 JTF_VARCHAR2_TABLE_100
54     , a40 JTF_VARCHAR2_TABLE_100
55     , a41 JTF_NUMBER_TABLE
56     , a42 JTF_VARCHAR2_TABLE_100
57     , a43 JTF_NUMBER_TABLE
58     ) as
59     ddindx binary_integer; indx binary_integer;
60   begin
61   if a0 is not null and a0.count > 0 then
62       if a0.count > 0 then
63         indx := a0.first;
64         ddindx := 1;
65         while true loop
66           t(ddindx).rt_oper_material_id := a0(indx);
67           t(ddindx).object_version_number := a1(indx);
68           t(ddindx).item_group_id := a2(indx);
69           t(ddindx).item_group_name := a3(indx);
70           t(ddindx).item_number := a4(indx);
71           t(ddindx).inventory_item_id := a5(indx);
72           t(ddindx).inventory_org_id := a6(indx);
73           t(ddindx).uom := a7(indx);
74           t(ddindx).uom_code := a8(indx);
75           t(ddindx).quantity := a9(indx);
76           t(ddindx).attribute_category := a10(indx);
77           t(ddindx).attribute1 := a11(indx);
78           t(ddindx).attribute2 := a12(indx);
79           t(ddindx).attribute3 := a13(indx);
80           t(ddindx).attribute4 := a14(indx);
81           t(ddindx).attribute5 := a15(indx);
82           t(ddindx).attribute6 := a16(indx);
83           t(ddindx).attribute7 := a17(indx);
84           t(ddindx).attribute8 := a18(indx);
85           t(ddindx).attribute9 := a19(indx);
86           t(ddindx).attribute10 := a20(indx);
87           t(ddindx).attribute11 := a21(indx);
88           t(ddindx).attribute12 := a22(indx);
89           t(ddindx).attribute13 := a23(indx);
90           t(ddindx).attribute14 := a24(indx);
91           t(ddindx).attribute15 := a25(indx);
92           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a26(indx));
93           t(ddindx).last_updated_by := a27(indx);
94           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a28(indx));
95           t(ddindx).created_by := a29(indx);
96           t(ddindx).last_update_login := a30(indx);
97           t(ddindx).dml_operation := a31(indx);
98           t(ddindx).position_path := a32(indx);
99           t(ddindx).position_path_id := a33(indx);
100           t(ddindx).item_comp_detail_id := a34(indx);
101           t(ddindx).exclude_flag := a35(indx);
102           t(ddindx).rework_percent := a36(indx);
103           t(ddindx).replace_percent := a37(indx);
104           t(ddindx).comp_material_flag := a38(indx);
105           t(ddindx).in_service := a39(indx);
106           t(ddindx).mc_name := a40(indx);
107           t(ddindx).mc_id := a41(indx);
108           t(ddindx).mc_position := a42(indx);
109           t(ddindx).mc_position_key := a43(indx);
110           ddindx := ddindx+1;
111           if a0.last =indx
112             then exit;
113           end if;
114           indx := a0.next(indx);
115         end loop;
116       end if;
117    end if;
118   end rosetta_table_copy_in_p1;
119   procedure rosetta_table_copy_out_p1(t ahl_rm_material_as_pvt.material_req_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
120     , a1 out nocopy JTF_NUMBER_TABLE
121     , a2 out nocopy JTF_NUMBER_TABLE
122     , a3 out nocopy JTF_VARCHAR2_TABLE_100
123     , a4 out nocopy JTF_VARCHAR2_TABLE_100
124     , a5 out nocopy JTF_NUMBER_TABLE
125     , a6 out nocopy JTF_NUMBER_TABLE
126     , a7 out nocopy JTF_VARCHAR2_TABLE_100
127     , a8 out nocopy JTF_VARCHAR2_TABLE_100
128     , a9 out nocopy JTF_NUMBER_TABLE
129     , a10 out nocopy JTF_VARCHAR2_TABLE_100
130     , a11 out nocopy JTF_VARCHAR2_TABLE_200
131     , a12 out nocopy JTF_VARCHAR2_TABLE_200
132     , a13 out nocopy JTF_VARCHAR2_TABLE_200
133     , a14 out nocopy JTF_VARCHAR2_TABLE_200
134     , a15 out nocopy JTF_VARCHAR2_TABLE_200
135     , a16 out nocopy JTF_VARCHAR2_TABLE_200
136     , a17 out nocopy JTF_VARCHAR2_TABLE_200
137     , a18 out nocopy JTF_VARCHAR2_TABLE_200
138     , a19 out nocopy JTF_VARCHAR2_TABLE_200
139     , a20 out nocopy JTF_VARCHAR2_TABLE_200
140     , a21 out nocopy JTF_VARCHAR2_TABLE_200
141     , a22 out nocopy JTF_VARCHAR2_TABLE_200
142     , a23 out nocopy JTF_VARCHAR2_TABLE_200
143     , a24 out nocopy JTF_VARCHAR2_TABLE_200
144     , a25 out nocopy JTF_VARCHAR2_TABLE_200
145     , a26 out nocopy JTF_DATE_TABLE
146     , a27 out nocopy JTF_NUMBER_TABLE
147     , a28 out nocopy JTF_DATE_TABLE
148     , a29 out nocopy JTF_NUMBER_TABLE
149     , a30 out nocopy JTF_NUMBER_TABLE
150     , a31 out nocopy JTF_VARCHAR2_TABLE_100
151     , a32 out nocopy JTF_VARCHAR2_TABLE_4000
152     , a33 out nocopy JTF_NUMBER_TABLE
153     , a34 out nocopy JTF_NUMBER_TABLE
154     , a35 out nocopy JTF_VARCHAR2_TABLE_100
155     , a36 out nocopy JTF_NUMBER_TABLE
156     , a37 out nocopy JTF_NUMBER_TABLE
157     , a38 out nocopy JTF_VARCHAR2_TABLE_100
158     , a39 out nocopy JTF_VARCHAR2_TABLE_100
159     , a40 out nocopy JTF_VARCHAR2_TABLE_100
160     , a41 out nocopy JTF_NUMBER_TABLE
161     , a42 out nocopy JTF_VARCHAR2_TABLE_100
162     , a43 out nocopy JTF_NUMBER_TABLE
163     ) as
164     ddindx binary_integer; indx binary_integer;
165   begin
166   if t is null or t.count = 0 then
167     a0 := JTF_NUMBER_TABLE();
168     a1 := JTF_NUMBER_TABLE();
169     a2 := JTF_NUMBER_TABLE();
170     a3 := JTF_VARCHAR2_TABLE_100();
171     a4 := JTF_VARCHAR2_TABLE_100();
172     a5 := JTF_NUMBER_TABLE();
173     a6 := JTF_NUMBER_TABLE();
174     a7 := JTF_VARCHAR2_TABLE_100();
175     a8 := JTF_VARCHAR2_TABLE_100();
176     a9 := JTF_NUMBER_TABLE();
177     a10 := JTF_VARCHAR2_TABLE_100();
178     a11 := JTF_VARCHAR2_TABLE_200();
179     a12 := JTF_VARCHAR2_TABLE_200();
180     a13 := JTF_VARCHAR2_TABLE_200();
181     a14 := JTF_VARCHAR2_TABLE_200();
182     a15 := JTF_VARCHAR2_TABLE_200();
183     a16 := JTF_VARCHAR2_TABLE_200();
184     a17 := JTF_VARCHAR2_TABLE_200();
185     a18 := JTF_VARCHAR2_TABLE_200();
186     a19 := JTF_VARCHAR2_TABLE_200();
187     a20 := JTF_VARCHAR2_TABLE_200();
188     a21 := JTF_VARCHAR2_TABLE_200();
189     a22 := JTF_VARCHAR2_TABLE_200();
190     a23 := JTF_VARCHAR2_TABLE_200();
191     a24 := JTF_VARCHAR2_TABLE_200();
192     a25 := JTF_VARCHAR2_TABLE_200();
193     a26 := JTF_DATE_TABLE();
194     a27 := JTF_NUMBER_TABLE();
195     a28 := JTF_DATE_TABLE();
196     a29 := JTF_NUMBER_TABLE();
197     a30 := JTF_NUMBER_TABLE();
198     a31 := JTF_VARCHAR2_TABLE_100();
199     a32 := JTF_VARCHAR2_TABLE_4000();
200     a33 := JTF_NUMBER_TABLE();
201     a34 := JTF_NUMBER_TABLE();
202     a35 := JTF_VARCHAR2_TABLE_100();
203     a36 := JTF_NUMBER_TABLE();
204     a37 := JTF_NUMBER_TABLE();
205     a38 := JTF_VARCHAR2_TABLE_100();
206     a39 := JTF_VARCHAR2_TABLE_100();
207     a40 := JTF_VARCHAR2_TABLE_100();
208     a41 := JTF_NUMBER_TABLE();
209     a42 := JTF_VARCHAR2_TABLE_100();
210     a43 := JTF_NUMBER_TABLE();
211   else
212       a0 := JTF_NUMBER_TABLE();
213       a1 := JTF_NUMBER_TABLE();
214       a2 := JTF_NUMBER_TABLE();
215       a3 := JTF_VARCHAR2_TABLE_100();
216       a4 := JTF_VARCHAR2_TABLE_100();
217       a5 := JTF_NUMBER_TABLE();
218       a6 := JTF_NUMBER_TABLE();
219       a7 := JTF_VARCHAR2_TABLE_100();
220       a8 := JTF_VARCHAR2_TABLE_100();
221       a9 := JTF_NUMBER_TABLE();
222       a10 := JTF_VARCHAR2_TABLE_100();
223       a11 := JTF_VARCHAR2_TABLE_200();
224       a12 := JTF_VARCHAR2_TABLE_200();
225       a13 := JTF_VARCHAR2_TABLE_200();
226       a14 := JTF_VARCHAR2_TABLE_200();
227       a15 := JTF_VARCHAR2_TABLE_200();
228       a16 := JTF_VARCHAR2_TABLE_200();
229       a17 := JTF_VARCHAR2_TABLE_200();
230       a18 := JTF_VARCHAR2_TABLE_200();
231       a19 := JTF_VARCHAR2_TABLE_200();
232       a20 := JTF_VARCHAR2_TABLE_200();
233       a21 := JTF_VARCHAR2_TABLE_200();
234       a22 := JTF_VARCHAR2_TABLE_200();
235       a23 := JTF_VARCHAR2_TABLE_200();
236       a24 := JTF_VARCHAR2_TABLE_200();
237       a25 := JTF_VARCHAR2_TABLE_200();
238       a26 := JTF_DATE_TABLE();
239       a27 := JTF_NUMBER_TABLE();
240       a28 := JTF_DATE_TABLE();
241       a29 := JTF_NUMBER_TABLE();
242       a30 := JTF_NUMBER_TABLE();
243       a31 := JTF_VARCHAR2_TABLE_100();
244       a32 := JTF_VARCHAR2_TABLE_4000();
245       a33 := JTF_NUMBER_TABLE();
246       a34 := JTF_NUMBER_TABLE();
247       a35 := JTF_VARCHAR2_TABLE_100();
248       a36 := JTF_NUMBER_TABLE();
249       a37 := JTF_NUMBER_TABLE();
250       a38 := JTF_VARCHAR2_TABLE_100();
251       a39 := JTF_VARCHAR2_TABLE_100();
252       a40 := JTF_VARCHAR2_TABLE_100();
253       a41 := JTF_NUMBER_TABLE();
254       a42 := JTF_VARCHAR2_TABLE_100();
255       a43 := JTF_NUMBER_TABLE();
256       if t.count > 0 then
257         a0.extend(t.count);
258         a1.extend(t.count);
259         a2.extend(t.count);
260         a3.extend(t.count);
261         a4.extend(t.count);
262         a5.extend(t.count);
263         a6.extend(t.count);
264         a7.extend(t.count);
265         a8.extend(t.count);
266         a9.extend(t.count);
267         a10.extend(t.count);
268         a11.extend(t.count);
269         a12.extend(t.count);
270         a13.extend(t.count);
271         a14.extend(t.count);
272         a15.extend(t.count);
273         a16.extend(t.count);
274         a17.extend(t.count);
275         a18.extend(t.count);
276         a19.extend(t.count);
277         a20.extend(t.count);
278         a21.extend(t.count);
279         a22.extend(t.count);
280         a23.extend(t.count);
281         a24.extend(t.count);
282         a25.extend(t.count);
283         a26.extend(t.count);
284         a27.extend(t.count);
285         a28.extend(t.count);
286         a29.extend(t.count);
287         a30.extend(t.count);
288         a31.extend(t.count);
289         a32.extend(t.count);
290         a33.extend(t.count);
291         a34.extend(t.count);
292         a35.extend(t.count);
293         a36.extend(t.count);
294         a37.extend(t.count);
295         a38.extend(t.count);
296         a39.extend(t.count);
297         a40.extend(t.count);
298         a41.extend(t.count);
299         a42.extend(t.count);
300         a43.extend(t.count);
301         ddindx := t.first;
302         indx := 1;
303         while true loop
304           a0(indx) := t(ddindx).rt_oper_material_id;
305           a1(indx) := t(ddindx).object_version_number;
306           a2(indx) := t(ddindx).item_group_id;
307           a3(indx) := t(ddindx).item_group_name;
308           a4(indx) := t(ddindx).item_number;
309           a5(indx) := t(ddindx).inventory_item_id;
310           a6(indx) := t(ddindx).inventory_org_id;
311           a7(indx) := t(ddindx).uom;
312           a8(indx) := t(ddindx).uom_code;
313           a9(indx) := t(ddindx).quantity;
314           a10(indx) := t(ddindx).attribute_category;
315           a11(indx) := t(ddindx).attribute1;
316           a12(indx) := t(ddindx).attribute2;
317           a13(indx) := t(ddindx).attribute3;
318           a14(indx) := t(ddindx).attribute4;
319           a15(indx) := t(ddindx).attribute5;
320           a16(indx) := t(ddindx).attribute6;
321           a17(indx) := t(ddindx).attribute7;
322           a18(indx) := t(ddindx).attribute8;
323           a19(indx) := t(ddindx).attribute9;
324           a20(indx) := t(ddindx).attribute10;
325           a21(indx) := t(ddindx).attribute11;
326           a22(indx) := t(ddindx).attribute12;
327           a23(indx) := t(ddindx).attribute13;
328           a24(indx) := t(ddindx).attribute14;
329           a25(indx) := t(ddindx).attribute15;
330           a26(indx) := t(ddindx).last_update_date;
331           a27(indx) := t(ddindx).last_updated_by;
332           a28(indx) := t(ddindx).creation_date;
333           a29(indx) := t(ddindx).created_by;
334           a30(indx) := t(ddindx).last_update_login;
335           a31(indx) := t(ddindx).dml_operation;
336           a32(indx) := t(ddindx).position_path;
337           a33(indx) := t(ddindx).position_path_id;
338           a34(indx) := t(ddindx).item_comp_detail_id;
339           a35(indx) := t(ddindx).exclude_flag;
340           a36(indx) := t(ddindx).rework_percent;
341           a37(indx) := t(ddindx).replace_percent;
342           a38(indx) := t(ddindx).comp_material_flag;
343           a39(indx) := t(ddindx).in_service;
344           a40(indx) := t(ddindx).mc_name;
345           a41(indx) := t(ddindx).mc_id;
346           a42(indx) := t(ddindx).mc_position;
347           a43(indx) := t(ddindx).mc_position_key;
348           indx := indx+1;
349           if t.last =ddindx
350             then exit;
351           end if;
352           ddindx := t.next(ddindx);
353         end loop;
354       end if;
355    end if;
356   end rosetta_table_copy_out_p1;
357   procedure rosetta_table_copy_in_p3(t out nocopy ahl_rm_material_as_pvt.route_efct_tbl_type, a0 JTF_NUMBER_TABLE
358     , a1 JTF_VARCHAR2_TABLE_100
359     , a2 JTF_NUMBER_TABLE
360     , a3 JTF_NUMBER_TABLE
361     , a4 JTF_VARCHAR2_TABLE_100
362     , a5 JTF_VARCHAR2_TABLE_300
363     , a6 JTF_VARCHAR2_TABLE_100
364     , a7 JTF_NUMBER_TABLE
365     , a8 JTF_VARCHAR2_TABLE_100
366     , a9 JTF_NUMBER_TABLE
367     , a10 JTF_VARCHAR2_TABLE_100
368     , a11 JTF_VARCHAR2_TABLE_300
369     , a12 JTF_NUMBER_TABLE
370     , a13 JTF_DATE_TABLE
371     , a14 JTF_NUMBER_TABLE
372     , a15 JTF_DATE_TABLE
373     , a16 JTF_NUMBER_TABLE
374     , a17 JTF_NUMBER_TABLE
375     , a18 JTF_NUMBER_TABLE
376     , a19 JTF_NUMBER_TABLE
377     , a20 JTF_VARCHAR2_TABLE_100
378     , a21 JTF_VARCHAR2_TABLE_200
379     , a22 JTF_VARCHAR2_TABLE_200
380     , a23 JTF_VARCHAR2_TABLE_200
381     , a24 JTF_VARCHAR2_TABLE_200
382     , a25 JTF_VARCHAR2_TABLE_200
383     , a26 JTF_VARCHAR2_TABLE_200
384     , a27 JTF_VARCHAR2_TABLE_200
385     , a28 JTF_VARCHAR2_TABLE_200
386     , a29 JTF_VARCHAR2_TABLE_200
387     , a30 JTF_VARCHAR2_TABLE_200
388     , a31 JTF_VARCHAR2_TABLE_200
389     , a32 JTF_VARCHAR2_TABLE_200
390     , a33 JTF_VARCHAR2_TABLE_200
391     , a34 JTF_VARCHAR2_TABLE_200
392     , a35 JTF_VARCHAR2_TABLE_200
393     , a36 JTF_VARCHAR2_TABLE_100
394     ) as
395     ddindx binary_integer; indx binary_integer;
396   begin
397   if a0 is not null and a0.count > 0 then
398       if a0.count > 0 then
399         indx := a0.first;
400         ddindx := 1;
401         while true loop
402           t(ddindx).route_effectivity_id := a0(indx);
403           t(ddindx).route_no := a1(indx);
404           t(ddindx).inventory_item_id := a2(indx);
405           t(ddindx).inventory_master_org_id := a3(indx);
406           t(ddindx).item_number := a4(indx);
407           t(ddindx).description := a5(indx);
408           t(ddindx).organization_code := a6(indx);
409           t(ddindx).mc_id := a7(indx);
410           t(ddindx).mc_name := a8(indx);
411           t(ddindx).mc_version_number := a9(indx);
412           t(ddindx).mc_revision := a10(indx);
413           t(ddindx).mc_description := a11(indx);
414           t(ddindx).mc_header_id := a12(indx);
415           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a13(indx));
416           t(ddindx).last_updated_by := a14(indx);
417           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a15(indx));
418           t(ddindx).created_by := a16(indx);
419           t(ddindx).last_update_login := a17(indx);
420           t(ddindx).object_version_number := a18(indx);
421           t(ddindx).security_group_id := a19(indx);
422           t(ddindx).attribute_category := a20(indx);
423           t(ddindx).attribute1 := a21(indx);
424           t(ddindx).attribute2 := a22(indx);
425           t(ddindx).attribute3 := a23(indx);
426           t(ddindx).attribute4 := a24(indx);
427           t(ddindx).attribute5 := a25(indx);
428           t(ddindx).attribute6 := a26(indx);
429           t(ddindx).attribute7 := a27(indx);
430           t(ddindx).attribute8 := a28(indx);
431           t(ddindx).attribute9 := a29(indx);
432           t(ddindx).attribute10 := a30(indx);
433           t(ddindx).attribute11 := a31(indx);
434           t(ddindx).attribute12 := a32(indx);
435           t(ddindx).attribute13 := a33(indx);
436           t(ddindx).attribute14 := a34(indx);
437           t(ddindx).attribute15 := a35(indx);
438           t(ddindx).dml_operation := a36(indx);
439           ddindx := ddindx+1;
440           if a0.last =indx
441             then exit;
442           end if;
443           indx := a0.next(indx);
444         end loop;
445       end if;
446    end if;
447   end rosetta_table_copy_in_p3;
448   procedure rosetta_table_copy_out_p3(t ahl_rm_material_as_pvt.route_efct_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
449     , a1 out nocopy JTF_VARCHAR2_TABLE_100
450     , a2 out nocopy JTF_NUMBER_TABLE
451     , a3 out nocopy JTF_NUMBER_TABLE
452     , a4 out nocopy JTF_VARCHAR2_TABLE_100
453     , a5 out nocopy JTF_VARCHAR2_TABLE_300
454     , a6 out nocopy JTF_VARCHAR2_TABLE_100
455     , a7 out nocopy JTF_NUMBER_TABLE
456     , a8 out nocopy JTF_VARCHAR2_TABLE_100
457     , a9 out nocopy JTF_NUMBER_TABLE
458     , a10 out nocopy JTF_VARCHAR2_TABLE_100
459     , a11 out nocopy JTF_VARCHAR2_TABLE_300
460     , a12 out nocopy JTF_NUMBER_TABLE
461     , a13 out nocopy JTF_DATE_TABLE
462     , a14 out nocopy JTF_NUMBER_TABLE
463     , a15 out nocopy JTF_DATE_TABLE
464     , a16 out nocopy JTF_NUMBER_TABLE
465     , a17 out nocopy JTF_NUMBER_TABLE
466     , a18 out nocopy JTF_NUMBER_TABLE
467     , a19 out nocopy JTF_NUMBER_TABLE
468     , a20 out nocopy JTF_VARCHAR2_TABLE_100
469     , a21 out nocopy JTF_VARCHAR2_TABLE_200
470     , a22 out nocopy JTF_VARCHAR2_TABLE_200
471     , a23 out nocopy JTF_VARCHAR2_TABLE_200
472     , a24 out nocopy JTF_VARCHAR2_TABLE_200
473     , a25 out nocopy JTF_VARCHAR2_TABLE_200
474     , a26 out nocopy JTF_VARCHAR2_TABLE_200
475     , a27 out nocopy JTF_VARCHAR2_TABLE_200
476     , a28 out nocopy JTF_VARCHAR2_TABLE_200
477     , a29 out nocopy JTF_VARCHAR2_TABLE_200
478     , a30 out nocopy JTF_VARCHAR2_TABLE_200
479     , a31 out nocopy JTF_VARCHAR2_TABLE_200
480     , a32 out nocopy JTF_VARCHAR2_TABLE_200
481     , a33 out nocopy JTF_VARCHAR2_TABLE_200
482     , a34 out nocopy JTF_VARCHAR2_TABLE_200
483     , a35 out nocopy JTF_VARCHAR2_TABLE_200
484     , a36 out nocopy JTF_VARCHAR2_TABLE_100
485     ) as
486     ddindx binary_integer; indx binary_integer;
487   begin
488   if t is null or t.count = 0 then
489     a0 := JTF_NUMBER_TABLE();
490     a1 := JTF_VARCHAR2_TABLE_100();
491     a2 := JTF_NUMBER_TABLE();
492     a3 := JTF_NUMBER_TABLE();
493     a4 := JTF_VARCHAR2_TABLE_100();
494     a5 := JTF_VARCHAR2_TABLE_300();
495     a6 := JTF_VARCHAR2_TABLE_100();
496     a7 := JTF_NUMBER_TABLE();
497     a8 := JTF_VARCHAR2_TABLE_100();
498     a9 := JTF_NUMBER_TABLE();
499     a10 := JTF_VARCHAR2_TABLE_100();
500     a11 := JTF_VARCHAR2_TABLE_300();
501     a12 := JTF_NUMBER_TABLE();
502     a13 := JTF_DATE_TABLE();
503     a14 := JTF_NUMBER_TABLE();
504     a15 := JTF_DATE_TABLE();
505     a16 := JTF_NUMBER_TABLE();
506     a17 := JTF_NUMBER_TABLE();
507     a18 := JTF_NUMBER_TABLE();
508     a19 := JTF_NUMBER_TABLE();
509     a20 := JTF_VARCHAR2_TABLE_100();
510     a21 := JTF_VARCHAR2_TABLE_200();
511     a22 := JTF_VARCHAR2_TABLE_200();
512     a23 := JTF_VARCHAR2_TABLE_200();
513     a24 := JTF_VARCHAR2_TABLE_200();
514     a25 := JTF_VARCHAR2_TABLE_200();
515     a26 := JTF_VARCHAR2_TABLE_200();
516     a27 := JTF_VARCHAR2_TABLE_200();
517     a28 := JTF_VARCHAR2_TABLE_200();
518     a29 := JTF_VARCHAR2_TABLE_200();
519     a30 := JTF_VARCHAR2_TABLE_200();
520     a31 := JTF_VARCHAR2_TABLE_200();
521     a32 := JTF_VARCHAR2_TABLE_200();
522     a33 := JTF_VARCHAR2_TABLE_200();
523     a34 := JTF_VARCHAR2_TABLE_200();
524     a35 := JTF_VARCHAR2_TABLE_200();
525     a36 := JTF_VARCHAR2_TABLE_100();
526   else
527       a0 := JTF_NUMBER_TABLE();
528       a1 := JTF_VARCHAR2_TABLE_100();
529       a2 := JTF_NUMBER_TABLE();
530       a3 := JTF_NUMBER_TABLE();
531       a4 := JTF_VARCHAR2_TABLE_100();
532       a5 := JTF_VARCHAR2_TABLE_300();
533       a6 := JTF_VARCHAR2_TABLE_100();
534       a7 := JTF_NUMBER_TABLE();
535       a8 := JTF_VARCHAR2_TABLE_100();
536       a9 := JTF_NUMBER_TABLE();
537       a10 := JTF_VARCHAR2_TABLE_100();
538       a11 := JTF_VARCHAR2_TABLE_300();
539       a12 := JTF_NUMBER_TABLE();
540       a13 := JTF_DATE_TABLE();
541       a14 := JTF_NUMBER_TABLE();
542       a15 := JTF_DATE_TABLE();
543       a16 := JTF_NUMBER_TABLE();
544       a17 := JTF_NUMBER_TABLE();
545       a18 := JTF_NUMBER_TABLE();
546       a19 := JTF_NUMBER_TABLE();
547       a20 := JTF_VARCHAR2_TABLE_100();
548       a21 := JTF_VARCHAR2_TABLE_200();
549       a22 := JTF_VARCHAR2_TABLE_200();
550       a23 := JTF_VARCHAR2_TABLE_200();
551       a24 := JTF_VARCHAR2_TABLE_200();
552       a25 := JTF_VARCHAR2_TABLE_200();
553       a26 := JTF_VARCHAR2_TABLE_200();
554       a27 := JTF_VARCHAR2_TABLE_200();
555       a28 := JTF_VARCHAR2_TABLE_200();
556       a29 := JTF_VARCHAR2_TABLE_200();
557       a30 := JTF_VARCHAR2_TABLE_200();
558       a31 := JTF_VARCHAR2_TABLE_200();
559       a32 := JTF_VARCHAR2_TABLE_200();
560       a33 := JTF_VARCHAR2_TABLE_200();
561       a34 := JTF_VARCHAR2_TABLE_200();
562       a35 := JTF_VARCHAR2_TABLE_200();
563       a36 := JTF_VARCHAR2_TABLE_100();
564       if t.count > 0 then
565         a0.extend(t.count);
566         a1.extend(t.count);
567         a2.extend(t.count);
568         a3.extend(t.count);
569         a4.extend(t.count);
570         a5.extend(t.count);
571         a6.extend(t.count);
572         a7.extend(t.count);
573         a8.extend(t.count);
574         a9.extend(t.count);
575         a10.extend(t.count);
576         a11.extend(t.count);
577         a12.extend(t.count);
578         a13.extend(t.count);
579         a14.extend(t.count);
580         a15.extend(t.count);
581         a16.extend(t.count);
582         a17.extend(t.count);
583         a18.extend(t.count);
584         a19.extend(t.count);
585         a20.extend(t.count);
586         a21.extend(t.count);
587         a22.extend(t.count);
588         a23.extend(t.count);
589         a24.extend(t.count);
590         a25.extend(t.count);
591         a26.extend(t.count);
592         a27.extend(t.count);
593         a28.extend(t.count);
594         a29.extend(t.count);
595         a30.extend(t.count);
596         a31.extend(t.count);
597         a32.extend(t.count);
598         a33.extend(t.count);
599         a34.extend(t.count);
600         a35.extend(t.count);
601         a36.extend(t.count);
602         ddindx := t.first;
603         indx := 1;
604         while true loop
605           a0(indx) := t(ddindx).route_effectivity_id;
606           a1(indx) := t(ddindx).route_no;
607           a2(indx) := t(ddindx).inventory_item_id;
608           a3(indx) := t(ddindx).inventory_master_org_id;
609           a4(indx) := t(ddindx).item_number;
610           a5(indx) := t(ddindx).description;
611           a6(indx) := t(ddindx).organization_code;
612           a7(indx) := t(ddindx).mc_id;
613           a8(indx) := t(ddindx).mc_name;
614           a9(indx) := t(ddindx).mc_version_number;
615           a10(indx) := t(ddindx).mc_revision;
616           a11(indx) := t(ddindx).mc_description;
617           a12(indx) := t(ddindx).mc_header_id;
618           a13(indx) := t(ddindx).last_update_date;
619           a14(indx) := t(ddindx).last_updated_by;
620           a15(indx) := t(ddindx).creation_date;
621           a16(indx) := t(ddindx).created_by;
622           a17(indx) := t(ddindx).last_update_login;
623           a18(indx) := t(ddindx).object_version_number;
624           a19(indx) := t(ddindx).security_group_id;
625           a20(indx) := t(ddindx).attribute_category;
626           a21(indx) := t(ddindx).attribute1;
627           a22(indx) := t(ddindx).attribute2;
628           a23(indx) := t(ddindx).attribute3;
629           a24(indx) := t(ddindx).attribute4;
630           a25(indx) := t(ddindx).attribute5;
631           a26(indx) := t(ddindx).attribute6;
632           a27(indx) := t(ddindx).attribute7;
633           a28(indx) := t(ddindx).attribute8;
634           a29(indx) := t(ddindx).attribute9;
635           a30(indx) := t(ddindx).attribute10;
636           a31(indx) := t(ddindx).attribute11;
637           a32(indx) := t(ddindx).attribute12;
638           a33(indx) := t(ddindx).attribute13;
639           a34(indx) := t(ddindx).attribute14;
640           a35(indx) := t(ddindx).attribute15;
641           a36(indx) := t(ddindx).dml_operation;
642           indx := indx+1;
643           if t.last =ddindx
644             then exit;
645           end if;
646           ddindx := t.next(ddindx);
647         end loop;
648       end if;
649    end if;
650   end rosetta_table_copy_out_p3;
651   procedure process_material_req(p_api_version  NUMBER
652     , p_init_msg_list  VARCHAR2
653     , p_commit  VARCHAR2
654     , p_validation_level  NUMBER
655     , p_default  VARCHAR2
656     , p_module_type  VARCHAR2
657     , x_return_status out nocopy  VARCHAR2
658     , x_msg_count out nocopy  NUMBER
659     , x_msg_data out nocopy  VARCHAR2
660     , p9_a0 in out nocopy JTF_NUMBER_TABLE
661     , p9_a1 in out nocopy JTF_NUMBER_TABLE
662     , p9_a2 in out nocopy JTF_NUMBER_TABLE
663     , p9_a3 in out nocopy JTF_VARCHAR2_TABLE_100
664     , p9_a4 in out nocopy JTF_VARCHAR2_TABLE_100
665     , p9_a5 in out nocopy JTF_NUMBER_TABLE
666     , p9_a6 in out nocopy JTF_NUMBER_TABLE
667     , p9_a7 in out nocopy JTF_VARCHAR2_TABLE_100
668     , p9_a8 in out nocopy JTF_VARCHAR2_TABLE_100
669     , p9_a9 in out nocopy JTF_NUMBER_TABLE
670     , p9_a10 in out nocopy JTF_VARCHAR2_TABLE_100
671     , p9_a11 in out nocopy JTF_VARCHAR2_TABLE_200
672     , p9_a12 in out nocopy JTF_VARCHAR2_TABLE_200
673     , p9_a13 in out nocopy JTF_VARCHAR2_TABLE_200
674     , p9_a14 in out nocopy JTF_VARCHAR2_TABLE_200
675     , p9_a15 in out nocopy JTF_VARCHAR2_TABLE_200
676     , p9_a16 in out nocopy JTF_VARCHAR2_TABLE_200
677     , p9_a17 in out nocopy JTF_VARCHAR2_TABLE_200
678     , p9_a18 in out nocopy JTF_VARCHAR2_TABLE_200
679     , p9_a19 in out nocopy JTF_VARCHAR2_TABLE_200
680     , p9_a20 in out nocopy JTF_VARCHAR2_TABLE_200
681     , p9_a21 in out nocopy JTF_VARCHAR2_TABLE_200
682     , p9_a22 in out nocopy JTF_VARCHAR2_TABLE_200
683     , p9_a23 in out nocopy JTF_VARCHAR2_TABLE_200
684     , p9_a24 in out nocopy JTF_VARCHAR2_TABLE_200
685     , p9_a25 in out nocopy JTF_VARCHAR2_TABLE_200
686     , p9_a26 in out nocopy JTF_DATE_TABLE
687     , p9_a27 in out nocopy JTF_NUMBER_TABLE
688     , p9_a28 in out nocopy JTF_DATE_TABLE
689     , p9_a29 in out nocopy JTF_NUMBER_TABLE
690     , p9_a30 in out nocopy JTF_NUMBER_TABLE
691     , p9_a31 in out nocopy JTF_VARCHAR2_TABLE_100
692     , p9_a32 in out nocopy JTF_VARCHAR2_TABLE_4000
693     , p9_a33 in out nocopy JTF_NUMBER_TABLE
694     , p9_a34 in out nocopy JTF_NUMBER_TABLE
695     , p9_a35 in out nocopy JTF_VARCHAR2_TABLE_100
696     , p9_a36 in out nocopy JTF_NUMBER_TABLE
697     , p9_a37 in out nocopy JTF_NUMBER_TABLE
698     , p9_a38 in out nocopy JTF_VARCHAR2_TABLE_100
699     , p9_a39 in out nocopy JTF_VARCHAR2_TABLE_100
700     , p9_a40 in out nocopy JTF_VARCHAR2_TABLE_100
701     , p9_a41 in out nocopy JTF_NUMBER_TABLE
702     , p9_a42 in out nocopy JTF_VARCHAR2_TABLE_100
703     , p9_a43 in out nocopy JTF_NUMBER_TABLE
704     , p_object_id  NUMBER
705     , p_association_type  VARCHAR2
706   )
707   as
708     ddp_x_material_req_tbl ahl_rm_material_as_pvt.material_req_tbl_type;
709     ddindx binary_integer; indx binary_integer;
710   begin
711     -- copy data to the local IN or IN-OUT args, if any
712     ahl_rm_material_as_pvt_w.rosetta_table_copy_in_p1(ddp_x_material_req_tbl, p9_a0
713       , p9_a1
714       , p9_a2
715       , p9_a3
716       , p9_a4
717       , p9_a5
718       , p9_a6
719       , p9_a7
720       , p9_a8
721       , p9_a9
722       , p9_a10
723       , p9_a11
724       , p9_a12
725       , p9_a13
726       , p9_a14
727       , p9_a15
728       , p9_a16
729       , p9_a17
730       , p9_a18
731       , p9_a19
732       , p9_a20
733       , p9_a21
734       , p9_a22
735       , p9_a23
736       , p9_a24
737       , p9_a25
738       , p9_a26
739       , p9_a27
740       , p9_a28
741       , p9_a29
742       , p9_a30
743       , p9_a31
744       , p9_a32
745       , p9_a33
746       , p9_a34
747       , p9_a35
748       , p9_a36
749       , p9_a37
750       , p9_a38
751       , p9_a39
752       , p9_a40
753       , p9_a41
754       , p9_a42
755       , p9_a43
756       );
757     -- here's the delegated call to the old PL/SQL routine
758     ahl_rm_material_as_pvt.process_material_req(p_api_version,
759       p_init_msg_list,
760       p_commit,
761       p_validation_level,
762       p_default,
763       p_module_type,
764       x_return_status,
765       x_msg_count,
766       x_msg_data,
767       ddp_x_material_req_tbl,
768       p_object_id,
769       p_association_type);
770     -- copy data back from the local variables to OUT or IN-OUT args, if any
771     ahl_rm_material_as_pvt_w.rosetta_table_copy_out_p1(ddp_x_material_req_tbl, p9_a0
772       , p9_a1
773       , p9_a2
774       , p9_a3
775       , p9_a4
776       , p9_a5
777       , p9_a6
778       , p9_a7
779       , p9_a8
780       , p9_a9
781       , p9_a10
782       , p9_a11
783       , p9_a12
784       , p9_a13
785       , p9_a14
786       , p9_a15
787       , p9_a16
788       , p9_a17
789       , p9_a18
790       , p9_a19
791       , p9_a20
792       , p9_a21
793       , p9_a22
794       , p9_a23
795       , p9_a24
796       , p9_a25
797       , p9_a26
798       , p9_a27
799       , p9_a28
800       , p9_a29
801       , p9_a30
802       , p9_a31
803       , p9_a32
804       , p9_a33
805       , p9_a34
806       , p9_a35
807       , p9_a36
808       , p9_a37
809       , p9_a38
810       , p9_a39
811       , p9_a40
812       , p9_a41
813       , p9_a42
814       , p9_a43
815       );
816   end;
817   procedure process_route_efcts(p_api_version  NUMBER
818     , p_init_msg_list  VARCHAR2
819     , p_commit  VARCHAR2
820     , p_validation_level  NUMBER
821     , p_default  VARCHAR2
822     , p_module_type  VARCHAR2
823     , p_object_id  NUMBER
824     , x_return_status out nocopy  VARCHAR2
825     , x_msg_count out nocopy  NUMBER
826     , x_msg_data out nocopy  VARCHAR2
827     , p10_a0 in out nocopy JTF_NUMBER_TABLE
828     , p10_a1 in out nocopy JTF_VARCHAR2_TABLE_100
829     , p10_a2 in out nocopy JTF_NUMBER_TABLE
830     , p10_a3 in out nocopy JTF_NUMBER_TABLE
831     , p10_a4 in out nocopy JTF_VARCHAR2_TABLE_100
832     , p10_a5 in out nocopy JTF_VARCHAR2_TABLE_300
833     , p10_a6 in out nocopy JTF_VARCHAR2_TABLE_100
834     , p10_a7 in out nocopy JTF_NUMBER_TABLE
835     , p10_a8 in out nocopy JTF_VARCHAR2_TABLE_100
836     , p10_a9 in out nocopy JTF_NUMBER_TABLE
837     , p10_a10 in out nocopy JTF_VARCHAR2_TABLE_100
838     , p10_a11 in out nocopy JTF_VARCHAR2_TABLE_300
839     , p10_a12 in out nocopy JTF_NUMBER_TABLE
840     , p10_a13 in out nocopy JTF_DATE_TABLE
841     , p10_a14 in out nocopy JTF_NUMBER_TABLE
842     , p10_a15 in out nocopy JTF_DATE_TABLE
843     , p10_a16 in out nocopy JTF_NUMBER_TABLE
844     , p10_a17 in out nocopy JTF_NUMBER_TABLE
845     , p10_a18 in out nocopy JTF_NUMBER_TABLE
846     , p10_a19 in out nocopy JTF_NUMBER_TABLE
847     , p10_a20 in out nocopy JTF_VARCHAR2_TABLE_100
848     , p10_a21 in out nocopy JTF_VARCHAR2_TABLE_200
849     , p10_a22 in out nocopy JTF_VARCHAR2_TABLE_200
850     , p10_a23 in out nocopy JTF_VARCHAR2_TABLE_200
851     , p10_a24 in out nocopy JTF_VARCHAR2_TABLE_200
852     , p10_a25 in out nocopy JTF_VARCHAR2_TABLE_200
853     , p10_a26 in out nocopy JTF_VARCHAR2_TABLE_200
854     , p10_a27 in out nocopy JTF_VARCHAR2_TABLE_200
855     , p10_a28 in out nocopy JTF_VARCHAR2_TABLE_200
856     , p10_a29 in out nocopy JTF_VARCHAR2_TABLE_200
857     , p10_a30 in out nocopy JTF_VARCHAR2_TABLE_200
858     , p10_a31 in out nocopy JTF_VARCHAR2_TABLE_200
859     , p10_a32 in out nocopy JTF_VARCHAR2_TABLE_200
860     , p10_a33 in out nocopy JTF_VARCHAR2_TABLE_200
861     , p10_a34 in out nocopy JTF_VARCHAR2_TABLE_200
862     , p10_a35 in out nocopy JTF_VARCHAR2_TABLE_200
863     , p10_a36 in out nocopy JTF_VARCHAR2_TABLE_100
864   )
865   as
866     ddp_x_route_efct_tbl ahl_rm_material_as_pvt.route_efct_tbl_type;
867     ddindx binary_integer; indx binary_integer;
868   begin
869     -- copy data to the local IN or IN-OUT args, if any
870     ahl_rm_material_as_pvt_w.rosetta_table_copy_in_p3(ddp_x_route_efct_tbl, p10_a0
871       , p10_a1
872       , p10_a2
873       , p10_a3
874       , p10_a4
875       , p10_a5
876       , p10_a6
877       , p10_a7
878       , p10_a8
879       , p10_a9
880       , p10_a10
881       , p10_a11
882       , p10_a12
883       , p10_a13
884       , p10_a14
885       , p10_a15
886       , p10_a16
887       , p10_a17
888       , p10_a18
889       , p10_a19
890       , p10_a20
891       , p10_a21
892       , p10_a22
893       , p10_a23
894       , p10_a24
895       , p10_a25
896       , p10_a26
897       , p10_a27
898       , p10_a28
899       , p10_a29
900       , p10_a30
901       , p10_a31
902       , p10_a32
903       , p10_a33
904       , p10_a34
905       , p10_a35
906       , p10_a36
907       );
908     -- here's the delegated call to the old PL/SQL routine
909     ahl_rm_material_as_pvt.process_route_efcts(p_api_version,
910       p_init_msg_list,
911       p_commit,
912       p_validation_level,
913       p_default,
914       p_module_type,
915       p_object_id,
916       x_return_status,
917       x_msg_count,
918       x_msg_data,
919       ddp_x_route_efct_tbl);
920     -- copy data back from the local variables to OUT or IN-OUT args, if any
921     ahl_rm_material_as_pvt_w.rosetta_table_copy_out_p3(ddp_x_route_efct_tbl, p10_a0
922       , p10_a1
923       , p10_a2
924       , p10_a3
925       , p10_a4
926       , p10_a5
927       , p10_a6
928       , p10_a7
929       , p10_a8
930       , p10_a9
931       , p10_a10
932       , p10_a11
933       , p10_a12
934       , p10_a13
935       , p10_a14
936       , p10_a15
937       , p10_a16
938       , p10_a17
939       , p10_a18
940       , p10_a19
941       , p10_a20
942       , p10_a21
943       , p10_a22
944       , p10_a23
945       , p10_a24
946       , p10_a25
947       , p10_a26
948       , p10_a27
949       , p10_a28
950       , p10_a29
951       , p10_a30
952       , p10_a31
953       , p10_a32
954       , p10_a33
955       , p10_a34
956       , p10_a35
957       , p10_a36
958       );
959   end;
960 end ahl_rm_material_as_pvt_w;