DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_UMP_UF_PVT_W

Source


1 package body ahl_ump_uf_pvt_w as
2   /* $Header: AHLUMFWB.pls 120.2 2008/01/18 01:22:41 sikumar 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_p16(t out nocopy ahl_ump_uf_pvt.uf_details_tbl_type, a0 JTF_NUMBER_TABLE
17     , a1 JTF_NUMBER_TABLE
18     , a2 JTF_NUMBER_TABLE
19     , a3 JTF_DATE_TABLE
20     , a4 JTF_NUMBER_TABLE
21     , a5 JTF_DATE_TABLE
22     , a6 JTF_NUMBER_TABLE
23     , a7 JTF_NUMBER_TABLE
24     , a8 JTF_VARCHAR2_TABLE_100
25     , a9 JTF_DATE_TABLE
26     , a10 JTF_DATE_TABLE
27     , a11 JTF_NUMBER_TABLE
28     , a12 JTF_VARCHAR2_TABLE_100
29     , a13 JTF_VARCHAR2_TABLE_100
30     , a14 JTF_VARCHAR2_TABLE_200
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     ) as
46     ddindx binary_integer; indx binary_integer;
47   begin
48   if a0 is not null and a0.count > 0 then
49       if a0.count > 0 then
50         indx := a0.first;
51         ddindx := 1;
52         while true loop
53           t(ddindx).uf_detail_id := a0(indx);
54           t(ddindx).object_version_number := a1(indx);
55           t(ddindx).created_by := a2(indx);
56           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a3(indx));
57           t(ddindx).last_updated_by := a4(indx);
58           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a5(indx));
59           t(ddindx).last_update_login := a6(indx);
60           t(ddindx).uf_header_id := a7(indx);
61           t(ddindx).uom_code := a8(indx);
62           t(ddindx).start_date := rosetta_g_miss_date_in_map(a9(indx));
63           t(ddindx).end_date := rosetta_g_miss_date_in_map(a10(indx));
64           t(ddindx).usage_per_day := a11(indx);
65           t(ddindx).operation_flag := a12(indx);
66           t(ddindx).attribute_category := a13(indx);
67           t(ddindx).attribute1 := a14(indx);
68           t(ddindx).attribute2 := a15(indx);
69           t(ddindx).attribute3 := a16(indx);
70           t(ddindx).attribute4 := a17(indx);
71           t(ddindx).attribute5 := a18(indx);
72           t(ddindx).attribute6 := a19(indx);
73           t(ddindx).attribute7 := a20(indx);
74           t(ddindx).attribute8 := a21(indx);
75           t(ddindx).attribute9 := a22(indx);
76           t(ddindx).attribute10 := a23(indx);
77           t(ddindx).attribute11 := a24(indx);
78           t(ddindx).attribute12 := a25(indx);
79           t(ddindx).attribute13 := a26(indx);
80           t(ddindx).attribute14 := a27(indx);
81           t(ddindx).attribute15 := a28(indx);
82           ddindx := ddindx+1;
83           if a0.last =indx
84             then exit;
85           end if;
86           indx := a0.next(indx);
87         end loop;
88       end if;
89    end if;
90   end rosetta_table_copy_in_p16;
91   procedure rosetta_table_copy_out_p16(t ahl_ump_uf_pvt.uf_details_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
92     , a1 out nocopy JTF_NUMBER_TABLE
93     , a2 out nocopy JTF_NUMBER_TABLE
94     , a3 out nocopy JTF_DATE_TABLE
95     , a4 out nocopy JTF_NUMBER_TABLE
96     , a5 out nocopy JTF_DATE_TABLE
97     , a6 out nocopy JTF_NUMBER_TABLE
98     , a7 out nocopy JTF_NUMBER_TABLE
99     , a8 out nocopy JTF_VARCHAR2_TABLE_100
100     , a9 out nocopy JTF_DATE_TABLE
101     , a10 out nocopy JTF_DATE_TABLE
102     , a11 out nocopy JTF_NUMBER_TABLE
103     , a12 out nocopy JTF_VARCHAR2_TABLE_100
104     , a13 out nocopy JTF_VARCHAR2_TABLE_100
105     , a14 out nocopy JTF_VARCHAR2_TABLE_200
106     , a15 out nocopy JTF_VARCHAR2_TABLE_200
107     , a16 out nocopy JTF_VARCHAR2_TABLE_200
108     , a17 out nocopy JTF_VARCHAR2_TABLE_200
109     , a18 out nocopy JTF_VARCHAR2_TABLE_200
110     , a19 out nocopy JTF_VARCHAR2_TABLE_200
111     , a20 out nocopy JTF_VARCHAR2_TABLE_200
112     , a21 out nocopy JTF_VARCHAR2_TABLE_200
113     , a22 out nocopy JTF_VARCHAR2_TABLE_200
114     , a23 out nocopy JTF_VARCHAR2_TABLE_200
115     , a24 out nocopy JTF_VARCHAR2_TABLE_200
116     , a25 out nocopy JTF_VARCHAR2_TABLE_200
117     , a26 out nocopy JTF_VARCHAR2_TABLE_200
118     , a27 out nocopy JTF_VARCHAR2_TABLE_200
119     , a28 out nocopy JTF_VARCHAR2_TABLE_200
120     ) as
121     ddindx binary_integer; indx binary_integer;
122   begin
123   if t is null or t.count = 0 then
124     a0 := JTF_NUMBER_TABLE();
125     a1 := JTF_NUMBER_TABLE();
126     a2 := JTF_NUMBER_TABLE();
127     a3 := JTF_DATE_TABLE();
128     a4 := JTF_NUMBER_TABLE();
129     a5 := JTF_DATE_TABLE();
130     a6 := JTF_NUMBER_TABLE();
131     a7 := JTF_NUMBER_TABLE();
132     a8 := JTF_VARCHAR2_TABLE_100();
133     a9 := JTF_DATE_TABLE();
134     a10 := JTF_DATE_TABLE();
135     a11 := JTF_NUMBER_TABLE();
136     a12 := JTF_VARCHAR2_TABLE_100();
137     a13 := JTF_VARCHAR2_TABLE_100();
138     a14 := JTF_VARCHAR2_TABLE_200();
139     a15 := JTF_VARCHAR2_TABLE_200();
140     a16 := JTF_VARCHAR2_TABLE_200();
141     a17 := JTF_VARCHAR2_TABLE_200();
142     a18 := JTF_VARCHAR2_TABLE_200();
143     a19 := JTF_VARCHAR2_TABLE_200();
144     a20 := JTF_VARCHAR2_TABLE_200();
145     a21 := JTF_VARCHAR2_TABLE_200();
146     a22 := JTF_VARCHAR2_TABLE_200();
147     a23 := JTF_VARCHAR2_TABLE_200();
148     a24 := JTF_VARCHAR2_TABLE_200();
149     a25 := JTF_VARCHAR2_TABLE_200();
150     a26 := JTF_VARCHAR2_TABLE_200();
151     a27 := JTF_VARCHAR2_TABLE_200();
152     a28 := JTF_VARCHAR2_TABLE_200();
153   else
154       a0 := JTF_NUMBER_TABLE();
155       a1 := JTF_NUMBER_TABLE();
156       a2 := JTF_NUMBER_TABLE();
157       a3 := JTF_DATE_TABLE();
158       a4 := JTF_NUMBER_TABLE();
159       a5 := JTF_DATE_TABLE();
160       a6 := JTF_NUMBER_TABLE();
161       a7 := JTF_NUMBER_TABLE();
162       a8 := JTF_VARCHAR2_TABLE_100();
163       a9 := JTF_DATE_TABLE();
164       a10 := JTF_DATE_TABLE();
165       a11 := JTF_NUMBER_TABLE();
166       a12 := JTF_VARCHAR2_TABLE_100();
167       a13 := JTF_VARCHAR2_TABLE_100();
168       a14 := JTF_VARCHAR2_TABLE_200();
169       a15 := JTF_VARCHAR2_TABLE_200();
170       a16 := JTF_VARCHAR2_TABLE_200();
171       a17 := JTF_VARCHAR2_TABLE_200();
172       a18 := JTF_VARCHAR2_TABLE_200();
173       a19 := JTF_VARCHAR2_TABLE_200();
174       a20 := JTF_VARCHAR2_TABLE_200();
175       a21 := JTF_VARCHAR2_TABLE_200();
176       a22 := JTF_VARCHAR2_TABLE_200();
177       a23 := JTF_VARCHAR2_TABLE_200();
178       a24 := JTF_VARCHAR2_TABLE_200();
179       a25 := JTF_VARCHAR2_TABLE_200();
180       a26 := JTF_VARCHAR2_TABLE_200();
181       a27 := JTF_VARCHAR2_TABLE_200();
182       a28 := JTF_VARCHAR2_TABLE_200();
183       if t.count > 0 then
184         a0.extend(t.count);
185         a1.extend(t.count);
186         a2.extend(t.count);
187         a3.extend(t.count);
188         a4.extend(t.count);
189         a5.extend(t.count);
190         a6.extend(t.count);
191         a7.extend(t.count);
192         a8.extend(t.count);
193         a9.extend(t.count);
194         a10.extend(t.count);
195         a11.extend(t.count);
196         a12.extend(t.count);
197         a13.extend(t.count);
198         a14.extend(t.count);
199         a15.extend(t.count);
200         a16.extend(t.count);
201         a17.extend(t.count);
202         a18.extend(t.count);
203         a19.extend(t.count);
204         a20.extend(t.count);
205         a21.extend(t.count);
206         a22.extend(t.count);
207         a23.extend(t.count);
208         a24.extend(t.count);
209         a25.extend(t.count);
210         a26.extend(t.count);
211         a27.extend(t.count);
212         a28.extend(t.count);
213         ddindx := t.first;
214         indx := 1;
215         while true loop
216           a0(indx) := t(ddindx).uf_detail_id;
217           a1(indx) := t(ddindx).object_version_number;
218           a2(indx) := t(ddindx).created_by;
219           a3(indx) := t(ddindx).creation_date;
220           a4(indx) := t(ddindx).last_updated_by;
221           a5(indx) := t(ddindx).last_update_date;
222           a6(indx) := t(ddindx).last_update_login;
223           a7(indx) := t(ddindx).uf_header_id;
224           a8(indx) := t(ddindx).uom_code;
225           a9(indx) := t(ddindx).start_date;
226           a10(indx) := t(ddindx).end_date;
227           a11(indx) := t(ddindx).usage_per_day;
228           a12(indx) := t(ddindx).operation_flag;
229           a13(indx) := t(ddindx).attribute_category;
230           a14(indx) := t(ddindx).attribute1;
231           a15(indx) := t(ddindx).attribute2;
232           a16(indx) := t(ddindx).attribute3;
233           a17(indx) := t(ddindx).attribute4;
234           a18(indx) := t(ddindx).attribute5;
235           a19(indx) := t(ddindx).attribute6;
236           a20(indx) := t(ddindx).attribute7;
237           a21(indx) := t(ddindx).attribute8;
238           a22(indx) := t(ddindx).attribute9;
239           a23(indx) := t(ddindx).attribute10;
240           a24(indx) := t(ddindx).attribute11;
241           a25(indx) := t(ddindx).attribute12;
242           a26(indx) := t(ddindx).attribute13;
243           a27(indx) := t(ddindx).attribute14;
244           a28(indx) := t(ddindx).attribute15;
245           indx := indx+1;
246           if t.last =ddindx
247             then exit;
248           end if;
249           ddindx := t.next(ddindx);
250         end loop;
251       end if;
252    end if;
253   end rosetta_table_copy_out_p16;
254 
255   procedure process_utilization_forecast(p_api_version  NUMBER
256     , p_init_msg_list  VARCHAR2
257     , p_commit  VARCHAR2
258     , p_validation_level  NUMBER
259     , p_module_type  VARCHAR2
260     , p5_a0 in out nocopy  NUMBER
261     , p5_a1 in out nocopy  NUMBER
262     , p5_a2 in out nocopy  NUMBER
263     , p5_a3 in out nocopy  DATE
264     , p5_a4 in out nocopy  NUMBER
265     , p5_a5 in out nocopy  DATE
266     , p5_a6 in out nocopy  NUMBER
267     , p5_a7 in out nocopy  NUMBER
268     , p5_a8 in out nocopy  VARCHAR2
269     , p5_a9 in out nocopy  NUMBER
270     , p5_a10 in out nocopy  NUMBER
271     , p5_a11 in out nocopy  VARCHAR2
272     , p5_a12 in out nocopy  VARCHAR2
273     , p5_a13 in out nocopy  NUMBER
274     , p5_a14 in out nocopy  NUMBER
275     , p5_a15 in out nocopy  VARCHAR2
276     , p5_a16 in out nocopy  VARCHAR2
277     , p5_a17 in out nocopy  VARCHAR2
278     , p5_a18 in out nocopy  VARCHAR2
279     , p5_a19 in out nocopy  VARCHAR2
280     , p5_a20 in out nocopy  VARCHAR2
281     , p5_a21 in out nocopy  VARCHAR2
282     , p5_a22 in out nocopy  VARCHAR2
283     , p5_a23 in out nocopy  VARCHAR2
284     , p5_a24 in out nocopy  VARCHAR2
285     , p5_a25 in out nocopy  VARCHAR2
286     , p5_a26 in out nocopy  VARCHAR2
287     , p5_a27 in out nocopy  VARCHAR2
288     , p5_a28 in out nocopy  VARCHAR2
289     , p5_a29 in out nocopy  VARCHAR2
290     , p5_a30 in out nocopy  VARCHAR2
291     , p5_a31 in out nocopy  VARCHAR2
292     , p5_a32 in out nocopy  VARCHAR2
293     , p5_a33 in out nocopy  VARCHAR2
294     , p6_a0 in out nocopy JTF_NUMBER_TABLE
295     , p6_a1 in out nocopy JTF_NUMBER_TABLE
296     , p6_a2 in out nocopy JTF_NUMBER_TABLE
297     , p6_a3 in out nocopy JTF_DATE_TABLE
298     , p6_a4 in out nocopy JTF_NUMBER_TABLE
299     , p6_a5 in out nocopy JTF_DATE_TABLE
300     , p6_a6 in out nocopy JTF_NUMBER_TABLE
301     , p6_a7 in out nocopy JTF_NUMBER_TABLE
302     , p6_a8 in out nocopy JTF_VARCHAR2_TABLE_100
303     , p6_a9 in out nocopy JTF_DATE_TABLE
304     , p6_a10 in out nocopy JTF_DATE_TABLE
305     , p6_a11 in out nocopy JTF_NUMBER_TABLE
306     , p6_a12 in out nocopy JTF_VARCHAR2_TABLE_100
307     , p6_a13 in out nocopy JTF_VARCHAR2_TABLE_100
308     , p6_a14 in out nocopy JTF_VARCHAR2_TABLE_200
309     , p6_a15 in out nocopy JTF_VARCHAR2_TABLE_200
310     , p6_a16 in out nocopy JTF_VARCHAR2_TABLE_200
311     , p6_a17 in out nocopy JTF_VARCHAR2_TABLE_200
312     , p6_a18 in out nocopy JTF_VARCHAR2_TABLE_200
313     , p6_a19 in out nocopy JTF_VARCHAR2_TABLE_200
314     , p6_a20 in out nocopy JTF_VARCHAR2_TABLE_200
315     , p6_a21 in out nocopy JTF_VARCHAR2_TABLE_200
316     , p6_a22 in out nocopy JTF_VARCHAR2_TABLE_200
317     , p6_a23 in out nocopy JTF_VARCHAR2_TABLE_200
318     , p6_a24 in out nocopy JTF_VARCHAR2_TABLE_200
319     , p6_a25 in out nocopy JTF_VARCHAR2_TABLE_200
320     , p6_a26 in out nocopy JTF_VARCHAR2_TABLE_200
321     , p6_a27 in out nocopy JTF_VARCHAR2_TABLE_200
322     , p6_a28 in out nocopy JTF_VARCHAR2_TABLE_200
323     , x_return_status out nocopy  VARCHAR2
324     , x_msg_count out nocopy  NUMBER
325     , x_msg_data out nocopy  VARCHAR2
326   )
327 
328   as
329     ddp_x_uf_header_rec ahl_ump_uf_pvt.uf_header_rec_type;
330     ddp_x_uf_details_tbl ahl_ump_uf_pvt.uf_details_tbl_type;
331     ddindx binary_integer; indx binary_integer;
332   begin
333 
334     -- copy data to the local IN or IN-OUT args, if any
335 
336 
337 
338 
339 
340     ddp_x_uf_header_rec.uf_header_id := p5_a0;
341     ddp_x_uf_header_rec.object_version_number := p5_a1;
342     ddp_x_uf_header_rec.created_by := p5_a2;
343     ddp_x_uf_header_rec.creation_date := rosetta_g_miss_date_in_map(p5_a3);
344     ddp_x_uf_header_rec.last_updated_by := p5_a4;
345     ddp_x_uf_header_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a5);
346     ddp_x_uf_header_rec.last_update_login := p5_a6;
347     ddp_x_uf_header_rec.unit_config_header_id := p5_a7;
348     ddp_x_uf_header_rec.unit_name := p5_a8;
349     ddp_x_uf_header_rec.pc_node_id := p5_a9;
350     ddp_x_uf_header_rec.inventory_item_id := p5_a10;
351     ddp_x_uf_header_rec.inventory_item_name := p5_a11;
352     ddp_x_uf_header_rec.inventory_org_code := p5_a12;
353     ddp_x_uf_header_rec.inventory_org_id := p5_a13;
354     ddp_x_uf_header_rec.csi_item_instance_id := p5_a14;
355     ddp_x_uf_header_rec.use_unit_flag := p5_a15;
356     ddp_x_uf_header_rec.forecast_type := p5_a16;
357     ddp_x_uf_header_rec.operation_flag := p5_a17;
358     ddp_x_uf_header_rec.attribute_category := p5_a18;
359     ddp_x_uf_header_rec.attribute1 := p5_a19;
360     ddp_x_uf_header_rec.attribute2 := p5_a20;
361     ddp_x_uf_header_rec.attribute3 := p5_a21;
362     ddp_x_uf_header_rec.attribute4 := p5_a22;
363     ddp_x_uf_header_rec.attribute5 := p5_a23;
364     ddp_x_uf_header_rec.attribute6 := p5_a24;
365     ddp_x_uf_header_rec.attribute7 := p5_a25;
366     ddp_x_uf_header_rec.attribute8 := p5_a26;
367     ddp_x_uf_header_rec.attribute9 := p5_a27;
368     ddp_x_uf_header_rec.attribute10 := p5_a28;
369     ddp_x_uf_header_rec.attribute11 := p5_a29;
370     ddp_x_uf_header_rec.attribute12 := p5_a30;
371     ddp_x_uf_header_rec.attribute13 := p5_a31;
372     ddp_x_uf_header_rec.attribute14 := p5_a32;
373     ddp_x_uf_header_rec.attribute15 := p5_a33;
374 
375     ahl_ump_uf_pvt_w.rosetta_table_copy_in_p16(ddp_x_uf_details_tbl, p6_a0
376       , p6_a1
377       , p6_a2
378       , p6_a3
379       , p6_a4
380       , p6_a5
381       , p6_a6
382       , p6_a7
383       , p6_a8
384       , p6_a9
385       , p6_a10
386       , p6_a11
387       , p6_a12
388       , p6_a13
389       , p6_a14
390       , p6_a15
391       , p6_a16
392       , p6_a17
393       , p6_a18
394       , p6_a19
395       , p6_a20
396       , p6_a21
397       , p6_a22
398       , p6_a23
399       , p6_a24
400       , p6_a25
401       , p6_a26
402       , p6_a27
403       , p6_a28
404       );
405 
406 
407 
408 
409     -- here's the delegated call to the old PL/SQL routine
410     ahl_ump_uf_pvt.process_utilization_forecast(p_api_version,
411       p_init_msg_list,
412       p_commit,
413       p_validation_level,
414       p_module_type,
415       ddp_x_uf_header_rec,
416       ddp_x_uf_details_tbl,
417       x_return_status,
418       x_msg_count,
419       x_msg_data);
420 
421     -- copy data back from the local variables to OUT or IN-OUT args, if any
422 
423 
424 
425 
426 
427     p5_a0 := ddp_x_uf_header_rec.uf_header_id;
428     p5_a1 := ddp_x_uf_header_rec.object_version_number;
429     p5_a2 := ddp_x_uf_header_rec.created_by;
430     p5_a3 := ddp_x_uf_header_rec.creation_date;
431     p5_a4 := ddp_x_uf_header_rec.last_updated_by;
432     p5_a5 := ddp_x_uf_header_rec.last_update_date;
433     p5_a6 := ddp_x_uf_header_rec.last_update_login;
434     p5_a7 := ddp_x_uf_header_rec.unit_config_header_id;
435     p5_a8 := ddp_x_uf_header_rec.unit_name;
436     p5_a9 := ddp_x_uf_header_rec.pc_node_id;
437     p5_a10 := ddp_x_uf_header_rec.inventory_item_id;
438     p5_a11 := ddp_x_uf_header_rec.inventory_item_name;
439     p5_a12 := ddp_x_uf_header_rec.inventory_org_code;
440     p5_a13 := ddp_x_uf_header_rec.inventory_org_id;
441     p5_a14 := ddp_x_uf_header_rec.csi_item_instance_id;
442     p5_a15 := ddp_x_uf_header_rec.use_unit_flag;
443     p5_a16 := ddp_x_uf_header_rec.forecast_type;
444     p5_a17 := ddp_x_uf_header_rec.operation_flag;
445     p5_a18 := ddp_x_uf_header_rec.attribute_category;
446     p5_a19 := ddp_x_uf_header_rec.attribute1;
447     p5_a20 := ddp_x_uf_header_rec.attribute2;
448     p5_a21 := ddp_x_uf_header_rec.attribute3;
449     p5_a22 := ddp_x_uf_header_rec.attribute4;
450     p5_a23 := ddp_x_uf_header_rec.attribute5;
451     p5_a24 := ddp_x_uf_header_rec.attribute6;
452     p5_a25 := ddp_x_uf_header_rec.attribute7;
453     p5_a26 := ddp_x_uf_header_rec.attribute8;
454     p5_a27 := ddp_x_uf_header_rec.attribute9;
455     p5_a28 := ddp_x_uf_header_rec.attribute10;
456     p5_a29 := ddp_x_uf_header_rec.attribute11;
457     p5_a30 := ddp_x_uf_header_rec.attribute12;
458     p5_a31 := ddp_x_uf_header_rec.attribute13;
459     p5_a32 := ddp_x_uf_header_rec.attribute14;
460     p5_a33 := ddp_x_uf_header_rec.attribute15;
461 
462     ahl_ump_uf_pvt_w.rosetta_table_copy_out_p16(ddp_x_uf_details_tbl, p6_a0
463       , p6_a1
464       , p6_a2
465       , p6_a3
466       , p6_a4
467       , p6_a5
468       , p6_a6
469       , p6_a7
470       , p6_a8
471       , p6_a9
472       , p6_a10
473       , p6_a11
474       , p6_a12
475       , p6_a13
476       , p6_a14
477       , p6_a15
478       , p6_a16
479       , p6_a17
480       , p6_a18
481       , p6_a19
482       , p6_a20
483       , p6_a21
484       , p6_a22
485       , p6_a23
486       , p6_a24
487       , p6_a25
488       , p6_a26
489       , p6_a27
490       , p6_a28
491       );
492 
493 
494 
495   end;
496 
497   procedure get_uf_from_pc(p_init_msg_list  VARCHAR2
498     , p_pc_node_id  NUMBER
499     , p_inventory_item_id  NUMBER
500     , p_inventory_org_id  NUMBER
501     , p_unit_config_header_id  NUMBER
502     , p_unit_name  VARCHAR2
503     , p_part_number  VARCHAR2
504     , p_onward_end_date  date
505     , p_add_unit_item_forecast  VARCHAR2
506     , p9_a0 out nocopy JTF_NUMBER_TABLE
507     , p9_a1 out nocopy JTF_NUMBER_TABLE
508     , p9_a2 out nocopy JTF_NUMBER_TABLE
509     , p9_a3 out nocopy JTF_DATE_TABLE
510     , p9_a4 out nocopy JTF_NUMBER_TABLE
511     , p9_a5 out nocopy JTF_DATE_TABLE
512     , p9_a6 out nocopy JTF_NUMBER_TABLE
513     , p9_a7 out nocopy JTF_NUMBER_TABLE
514     , p9_a8 out nocopy JTF_VARCHAR2_TABLE_100
515     , p9_a9 out nocopy JTF_DATE_TABLE
516     , p9_a10 out nocopy JTF_DATE_TABLE
517     , p9_a11 out nocopy JTF_NUMBER_TABLE
518     , p9_a12 out nocopy JTF_VARCHAR2_TABLE_100
519     , p9_a13 out nocopy JTF_VARCHAR2_TABLE_100
520     , p9_a14 out nocopy JTF_VARCHAR2_TABLE_200
521     , p9_a15 out nocopy JTF_VARCHAR2_TABLE_200
522     , p9_a16 out nocopy JTF_VARCHAR2_TABLE_200
523     , p9_a17 out nocopy JTF_VARCHAR2_TABLE_200
524     , p9_a18 out nocopy JTF_VARCHAR2_TABLE_200
525     , p9_a19 out nocopy JTF_VARCHAR2_TABLE_200
526     , p9_a20 out nocopy JTF_VARCHAR2_TABLE_200
527     , p9_a21 out nocopy JTF_VARCHAR2_TABLE_200
528     , p9_a22 out nocopy JTF_VARCHAR2_TABLE_200
529     , p9_a23 out nocopy JTF_VARCHAR2_TABLE_200
530     , p9_a24 out nocopy JTF_VARCHAR2_TABLE_200
531     , p9_a25 out nocopy JTF_VARCHAR2_TABLE_200
532     , p9_a26 out nocopy JTF_VARCHAR2_TABLE_200
533     , p9_a27 out nocopy JTF_VARCHAR2_TABLE_200
534     , p9_a28 out nocopy JTF_VARCHAR2_TABLE_200
535     , x_return_status out nocopy  VARCHAR2
536   )
537 
538   as
539     ddp_onward_end_date date;
540     ddx_uf_details_tbl ahl_ump_uf_pvt.uf_details_tbl_type;
541     ddindx binary_integer; indx binary_integer;
542   begin
543 
544     -- copy data to the local IN or IN-OUT args, if any
545 
546 
547 
548 
549 
550 
551 
552     ddp_onward_end_date := rosetta_g_miss_date_in_map(p_onward_end_date);
553 
554 
555 
556 
557     -- here's the delegated call to the old PL/SQL routine
558     ahl_ump_uf_pvt.get_uf_from_pc(p_init_msg_list,
559       p_pc_node_id,
560       p_inventory_item_id,
561       p_inventory_org_id,
562       p_unit_config_header_id,
563       p_unit_name,
564       p_part_number,
565       ddp_onward_end_date,
566       p_add_unit_item_forecast,
567       ddx_uf_details_tbl,
568       x_return_status);
569 
570     -- copy data back from the local variables to OUT or IN-OUT args, if any
571 
572 
573 
574 
575 
576 
577 
578 
579 
580     ahl_ump_uf_pvt_w.rosetta_table_copy_out_p16(ddx_uf_details_tbl, p9_a0
581       , p9_a1
582       , p9_a2
583       , p9_a3
584       , p9_a4
585       , p9_a5
586       , p9_a6
587       , p9_a7
588       , p9_a8
589       , p9_a9
590       , p9_a10
591       , p9_a11
592       , p9_a12
593       , p9_a13
594       , p9_a14
595       , p9_a15
596       , p9_a16
597       , p9_a17
598       , p9_a18
599       , p9_a19
600       , p9_a20
601       , p9_a21
602       , p9_a22
603       , p9_a23
604       , p9_a24
605       , p9_a25
606       , p9_a26
607       , p9_a27
608       , p9_a28
609       );
610 
611   end;
612 
613   procedure get_uf_from_part(p_init_msg_list  VARCHAR2
614     , p_csi_item_instance_id  NUMBER
615     , p_onward_end_date  date
616     , p3_a0 out nocopy JTF_NUMBER_TABLE
617     , p3_a1 out nocopy JTF_NUMBER_TABLE
618     , p3_a2 out nocopy JTF_NUMBER_TABLE
619     , p3_a3 out nocopy JTF_DATE_TABLE
620     , p3_a4 out nocopy JTF_NUMBER_TABLE
621     , p3_a5 out nocopy JTF_DATE_TABLE
622     , p3_a6 out nocopy JTF_NUMBER_TABLE
623     , p3_a7 out nocopy JTF_NUMBER_TABLE
624     , p3_a8 out nocopy JTF_VARCHAR2_TABLE_100
625     , p3_a9 out nocopy JTF_DATE_TABLE
626     , p3_a10 out nocopy JTF_DATE_TABLE
627     , p3_a11 out nocopy JTF_NUMBER_TABLE
628     , p3_a12 out nocopy JTF_VARCHAR2_TABLE_100
629     , p3_a13 out nocopy JTF_VARCHAR2_TABLE_100
630     , p3_a14 out nocopy JTF_VARCHAR2_TABLE_200
631     , p3_a15 out nocopy JTF_VARCHAR2_TABLE_200
632     , p3_a16 out nocopy JTF_VARCHAR2_TABLE_200
633     , p3_a17 out nocopy JTF_VARCHAR2_TABLE_200
634     , p3_a18 out nocopy JTF_VARCHAR2_TABLE_200
635     , p3_a19 out nocopy JTF_VARCHAR2_TABLE_200
636     , p3_a20 out nocopy JTF_VARCHAR2_TABLE_200
637     , p3_a21 out nocopy JTF_VARCHAR2_TABLE_200
638     , p3_a22 out nocopy JTF_VARCHAR2_TABLE_200
639     , p3_a23 out nocopy JTF_VARCHAR2_TABLE_200
640     , p3_a24 out nocopy JTF_VARCHAR2_TABLE_200
641     , p3_a25 out nocopy JTF_VARCHAR2_TABLE_200
642     , p3_a26 out nocopy JTF_VARCHAR2_TABLE_200
643     , p3_a27 out nocopy JTF_VARCHAR2_TABLE_200
644     , p3_a28 out nocopy JTF_VARCHAR2_TABLE_200
645     , x_return_status out nocopy  VARCHAR2
646   )
647 
648   as
649     ddp_onward_end_date date;
650     ddx_uf_details_tbl ahl_ump_uf_pvt.uf_details_tbl_type;
651     ddindx binary_integer; indx binary_integer;
652   begin
653 
654     -- copy data to the local IN or IN-OUT args, if any
655 
656 
657     ddp_onward_end_date := rosetta_g_miss_date_in_map(p_onward_end_date);
658 
659 
660 
661     -- here's the delegated call to the old PL/SQL routine
662     ahl_ump_uf_pvt.get_uf_from_part(p_init_msg_list,
663       p_csi_item_instance_id,
664       ddp_onward_end_date,
665       ddx_uf_details_tbl,
666       x_return_status);
667 
668     -- copy data back from the local variables to OUT or IN-OUT args, if any
669 
670 
671 
672     ahl_ump_uf_pvt_w.rosetta_table_copy_out_p16(ddx_uf_details_tbl, p3_a0
673       , p3_a1
674       , p3_a2
675       , p3_a3
676       , p3_a4
677       , p3_a5
678       , p3_a6
679       , p3_a7
680       , p3_a8
681       , p3_a9
682       , p3_a10
683       , p3_a11
684       , p3_a12
685       , p3_a13
686       , p3_a14
687       , p3_a15
688       , p3_a16
689       , p3_a17
690       , p3_a18
691       , p3_a19
692       , p3_a20
693       , p3_a21
694       , p3_a22
695       , p3_a23
696       , p3_a24
697       , p3_a25
698       , p3_a26
699       , p3_a27
700       , p3_a28
701       );
702 
703   end;
704 
705 end ahl_ump_uf_pvt_w;