DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_MC_ITEM_COMP_PVT_W

Source


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