DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_PRD_DF_PVT_W

Source


1 package body ahl_prd_df_pvt_w as
2   /* $Header: AHLWPDFB.pls 120.1 2005/12/20 06:24 sracha 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 
6   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7   function rosetta_g_miss_date_in_map(d date) return date as
8   begin
9     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10     return d;
11   end;
12 
13   procedure rosetta_table_copy_in_p15(t out nocopy ahl_prd_df_pvt.df_schedules_tbl_type, a0 JTF_NUMBER_TABLE
14     , a1 JTF_NUMBER_TABLE
15     , a2 JTF_NUMBER_TABLE
16     , a3 JTF_DATE_TABLE
17     , a4 JTF_NUMBER_TABLE
18     , a5 JTF_DATE_TABLE
19     , a6 JTF_NUMBER_TABLE
20     , a7 JTF_NUMBER_TABLE
21     , a8 JTF_NUMBER_TABLE
22     , a9 JTF_VARCHAR2_TABLE_100
23     , a10 JTF_NUMBER_TABLE
24     , a11 JTF_VARCHAR2_TABLE_100
25     , a12 JTF_VARCHAR2_TABLE_100
26     , a13 JTF_VARCHAR2_TABLE_100
27     , a14 JTF_VARCHAR2_TABLE_100
28     , a15 JTF_VARCHAR2_TABLE_200
29     , a16 JTF_VARCHAR2_TABLE_200
30     , a17 JTF_VARCHAR2_TABLE_200
31     , a18 JTF_VARCHAR2_TABLE_200
32     , a19 JTF_VARCHAR2_TABLE_200
33     , a20 JTF_VARCHAR2_TABLE_200
34     , a21 JTF_VARCHAR2_TABLE_200
35     , a22 JTF_VARCHAR2_TABLE_200
36     , a23 JTF_VARCHAR2_TABLE_200
37     , a24 JTF_VARCHAR2_TABLE_200
38     , a25 JTF_VARCHAR2_TABLE_200
39     , a26 JTF_VARCHAR2_TABLE_200
40     , a27 JTF_VARCHAR2_TABLE_200
41     , a28 JTF_VARCHAR2_TABLE_200
42     , a29 JTF_VARCHAR2_TABLE_200
43     ) as
44     ddindx binary_integer; indx binary_integer;
45   begin
46   if a0 is not null and a0.count > 0 then
47       if a0.count > 0 then
48         indx := a0.first;
49         ddindx := 1;
50         while true loop
51           t(ddindx).unit_threshold_id := a0(indx);
52           t(ddindx).object_version_number := a1(indx);
53           t(ddindx).created_by := a2(indx);
54           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a3(indx));
55           t(ddindx).last_updated_by := a4(indx);
56           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a5(indx));
57           t(ddindx).last_update_login := a6(indx);
58           t(ddindx).unit_deferral_id := a7(indx);
59           t(ddindx).counter_id := a8(indx);
60           t(ddindx).counter_name := a9(indx);
61           t(ddindx).counter_value := a10(indx);
62           t(ddindx).ctr_value_type_code := a11(indx);
63           t(ddindx).unit_of_measure := a12(indx);
64           t(ddindx).operation_flag := a13(indx);
65           t(ddindx).attribute_category := a14(indx);
66           t(ddindx).attribute1 := a15(indx);
67           t(ddindx).attribute2 := a16(indx);
68           t(ddindx).attribute3 := a17(indx);
69           t(ddindx).attribute4 := a18(indx);
70           t(ddindx).attribute5 := a19(indx);
71           t(ddindx).attribute6 := a20(indx);
72           t(ddindx).attribute7 := a21(indx);
73           t(ddindx).attribute8 := a22(indx);
74           t(ddindx).attribute9 := a23(indx);
75           t(ddindx).attribute10 := a24(indx);
76           t(ddindx).attribute11 := a25(indx);
77           t(ddindx).attribute12 := a26(indx);
78           t(ddindx).attribute13 := a27(indx);
79           t(ddindx).attribute14 := a28(indx);
80           t(ddindx).attribute15 := a29(indx);
81           ddindx := ddindx+1;
82           if a0.last =indx
83             then exit;
84           end if;
85           indx := a0.next(indx);
86         end loop;
87       end if;
88    end if;
89   end rosetta_table_copy_in_p15;
90   procedure rosetta_table_copy_out_p15(t ahl_prd_df_pvt.df_schedules_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
91     , a1 out nocopy JTF_NUMBER_TABLE
92     , a2 out nocopy JTF_NUMBER_TABLE
93     , a3 out nocopy JTF_DATE_TABLE
94     , a4 out nocopy JTF_NUMBER_TABLE
95     , a5 out nocopy JTF_DATE_TABLE
96     , a6 out nocopy JTF_NUMBER_TABLE
97     , a7 out nocopy JTF_NUMBER_TABLE
98     , a8 out nocopy JTF_NUMBER_TABLE
99     , a9 out nocopy JTF_VARCHAR2_TABLE_100
100     , a10 out nocopy JTF_NUMBER_TABLE
101     , a11 out nocopy JTF_VARCHAR2_TABLE_100
102     , a12 out nocopy JTF_VARCHAR2_TABLE_100
103     , a13 out nocopy JTF_VARCHAR2_TABLE_100
104     , a14 out nocopy JTF_VARCHAR2_TABLE_100
105     , a15 out nocopy JTF_VARCHAR2_TABLE_200
106     , a16 out nocopy JTF_VARCHAR2_TABLE_200
107     , a17 out nocopy JTF_VARCHAR2_TABLE_200
108     , a18 out nocopy JTF_VARCHAR2_TABLE_200
109     , a19 out nocopy JTF_VARCHAR2_TABLE_200
110     , a20 out nocopy JTF_VARCHAR2_TABLE_200
111     , a21 out nocopy JTF_VARCHAR2_TABLE_200
112     , a22 out nocopy JTF_VARCHAR2_TABLE_200
113     , a23 out nocopy JTF_VARCHAR2_TABLE_200
114     , a24 out nocopy JTF_VARCHAR2_TABLE_200
115     , a25 out nocopy JTF_VARCHAR2_TABLE_200
116     , a26 out nocopy JTF_VARCHAR2_TABLE_200
117     , a27 out nocopy JTF_VARCHAR2_TABLE_200
118     , a28 out nocopy JTF_VARCHAR2_TABLE_200
119     , a29 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_NUMBER_TABLE();
133     a9 := JTF_VARCHAR2_TABLE_100();
134     a10 := JTF_NUMBER_TABLE();
135     a11 := JTF_VARCHAR2_TABLE_100();
136     a12 := JTF_VARCHAR2_TABLE_100();
137     a13 := JTF_VARCHAR2_TABLE_100();
138     a14 := JTF_VARCHAR2_TABLE_100();
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     a29 := JTF_VARCHAR2_TABLE_200();
154   else
155       a0 := JTF_NUMBER_TABLE();
156       a1 := JTF_NUMBER_TABLE();
157       a2 := JTF_NUMBER_TABLE();
158       a3 := JTF_DATE_TABLE();
159       a4 := JTF_NUMBER_TABLE();
160       a5 := JTF_DATE_TABLE();
161       a6 := JTF_NUMBER_TABLE();
162       a7 := JTF_NUMBER_TABLE();
163       a8 := JTF_NUMBER_TABLE();
164       a9 := JTF_VARCHAR2_TABLE_100();
165       a10 := JTF_NUMBER_TABLE();
166       a11 := JTF_VARCHAR2_TABLE_100();
167       a12 := JTF_VARCHAR2_TABLE_100();
168       a13 := JTF_VARCHAR2_TABLE_100();
169       a14 := JTF_VARCHAR2_TABLE_100();
170       a15 := JTF_VARCHAR2_TABLE_200();
171       a16 := JTF_VARCHAR2_TABLE_200();
172       a17 := JTF_VARCHAR2_TABLE_200();
173       a18 := JTF_VARCHAR2_TABLE_200();
174       a19 := JTF_VARCHAR2_TABLE_200();
175       a20 := JTF_VARCHAR2_TABLE_200();
176       a21 := JTF_VARCHAR2_TABLE_200();
177       a22 := JTF_VARCHAR2_TABLE_200();
178       a23 := JTF_VARCHAR2_TABLE_200();
179       a24 := JTF_VARCHAR2_TABLE_200();
180       a25 := JTF_VARCHAR2_TABLE_200();
181       a26 := JTF_VARCHAR2_TABLE_200();
182       a27 := JTF_VARCHAR2_TABLE_200();
183       a28 := JTF_VARCHAR2_TABLE_200();
184       a29 := JTF_VARCHAR2_TABLE_200();
185       if t.count > 0 then
186         a0.extend(t.count);
187         a1.extend(t.count);
188         a2.extend(t.count);
189         a3.extend(t.count);
190         a4.extend(t.count);
191         a5.extend(t.count);
192         a6.extend(t.count);
193         a7.extend(t.count);
194         a8.extend(t.count);
195         a9.extend(t.count);
196         a10.extend(t.count);
197         a11.extend(t.count);
198         a12.extend(t.count);
199         a13.extend(t.count);
200         a14.extend(t.count);
201         a15.extend(t.count);
202         a16.extend(t.count);
203         a17.extend(t.count);
204         a18.extend(t.count);
205         a19.extend(t.count);
206         a20.extend(t.count);
207         a21.extend(t.count);
208         a22.extend(t.count);
209         a23.extend(t.count);
210         a24.extend(t.count);
211         a25.extend(t.count);
212         a26.extend(t.count);
213         a27.extend(t.count);
214         a28.extend(t.count);
215         a29.extend(t.count);
216         ddindx := t.first;
217         indx := 1;
218         while true loop
219           a0(indx) := t(ddindx).unit_threshold_id;
220           a1(indx) := t(ddindx).object_version_number;
221           a2(indx) := t(ddindx).created_by;
222           a3(indx) := t(ddindx).creation_date;
223           a4(indx) := t(ddindx).last_updated_by;
224           a5(indx) := t(ddindx).last_update_date;
225           a6(indx) := t(ddindx).last_update_login;
226           a7(indx) := t(ddindx).unit_deferral_id;
227           a8(indx) := t(ddindx).counter_id;
228           a9(indx) := t(ddindx).counter_name;
229           a10(indx) := t(ddindx).counter_value;
230           a11(indx) := t(ddindx).ctr_value_type_code;
231           a12(indx) := t(ddindx).unit_of_measure;
232           a13(indx) := t(ddindx).operation_flag;
233           a14(indx) := t(ddindx).attribute_category;
234           a15(indx) := t(ddindx).attribute1;
235           a16(indx) := t(ddindx).attribute2;
236           a17(indx) := t(ddindx).attribute3;
237           a18(indx) := t(ddindx).attribute4;
238           a19(indx) := t(ddindx).attribute5;
239           a20(indx) := t(ddindx).attribute6;
240           a21(indx) := t(ddindx).attribute7;
241           a22(indx) := t(ddindx).attribute8;
242           a23(indx) := t(ddindx).attribute9;
243           a24(indx) := t(ddindx).attribute10;
244           a25(indx) := t(ddindx).attribute11;
245           a26(indx) := t(ddindx).attribute12;
246           a27(indx) := t(ddindx).attribute13;
247           a28(indx) := t(ddindx).attribute14;
248           a29(indx) := t(ddindx).attribute15;
249           indx := indx+1;
250           if t.last =ddindx
251             then exit;
252           end if;
253           ddindx := t.next(ddindx);
254         end loop;
255       end if;
256    end if;
257   end rosetta_table_copy_out_p15;
258 
259   procedure process_deferral(p_api_version  NUMBER
260     , p_init_msg_list  VARCHAR2
261     , p_commit  VARCHAR2
262     , p_validation_level  NUMBER
263     , p_module_type  VARCHAR2
264     , p5_a0 in out nocopy  NUMBER
265     , p5_a1 in out nocopy  NUMBER
266     , p5_a2 in out nocopy  NUMBER
267     , p5_a3 in out nocopy  DATE
268     , p5_a4 in out nocopy  NUMBER
269     , p5_a5 in out nocopy  DATE
270     , p5_a6 in out nocopy  NUMBER
271     , p5_a7 in out nocopy  NUMBER
272     , p5_a8 in out nocopy  VARCHAR2
273     , p5_a9 in out nocopy  VARCHAR2
274     , p5_a10 in out nocopy  VARCHAR2
275     , p5_a11 in out nocopy  VARCHAR2
276     , p5_a12 in out nocopy  VARCHAR2
277     , p5_a13 in out nocopy  VARCHAR2
278     , p5_a14 in out nocopy  VARCHAR2
279     , p5_a15 in out nocopy  DATE
280     , p5_a16 in out nocopy  DATE
281     , p5_a17 in out nocopy  VARCHAR2
282     , p5_a18 in out nocopy  VARCHAR2
283     , p5_a19 in out nocopy  VARCHAR2
284     , p5_a20 in out nocopy  VARCHAR2
285     , p5_a21 in out nocopy  VARCHAR2
286     , p5_a22 in out nocopy  VARCHAR2
287     , p5_a23 in out nocopy  VARCHAR2
288     , p5_a24 in out nocopy  VARCHAR2
289     , p5_a25 in out nocopy  VARCHAR2
290     , p5_a26 in out nocopy  VARCHAR2
291     , p5_a27 in out nocopy  VARCHAR2
292     , p5_a28 in out nocopy  VARCHAR2
293     , p5_a29 in out nocopy  VARCHAR2
294     , p5_a30 in out nocopy  VARCHAR2
295     , p5_a31 in out nocopy  VARCHAR2
296     , p5_a32 in out nocopy  VARCHAR2
297     , p5_a33 in out nocopy  VARCHAR2
298     , p5_a34 in out nocopy  VARCHAR2
299     , p5_a35 in out nocopy  VARCHAR2
300     , p5_a36 in out nocopy  VARCHAR2
301     , p5_a37 in out nocopy  VARCHAR2
302     , p5_a38 in out nocopy  VARCHAR2
303     , p6_a0 in out nocopy JTF_NUMBER_TABLE
304     , p6_a1 in out nocopy JTF_NUMBER_TABLE
305     , p6_a2 in out nocopy JTF_NUMBER_TABLE
306     , p6_a3 in out nocopy JTF_DATE_TABLE
307     , p6_a4 in out nocopy JTF_NUMBER_TABLE
308     , p6_a5 in out nocopy JTF_DATE_TABLE
309     , p6_a6 in out nocopy JTF_NUMBER_TABLE
310     , p6_a7 in out nocopy JTF_NUMBER_TABLE
311     , p6_a8 in out nocopy JTF_NUMBER_TABLE
312     , p6_a9 in out nocopy JTF_VARCHAR2_TABLE_100
313     , p6_a10 in out nocopy JTF_NUMBER_TABLE
314     , p6_a11 in out nocopy JTF_VARCHAR2_TABLE_100
315     , p6_a12 in out nocopy JTF_VARCHAR2_TABLE_100
316     , p6_a13 in out nocopy JTF_VARCHAR2_TABLE_100
317     , p6_a14 in out nocopy JTF_VARCHAR2_TABLE_100
318     , p6_a15 in out nocopy JTF_VARCHAR2_TABLE_200
319     , p6_a16 in out nocopy JTF_VARCHAR2_TABLE_200
320     , p6_a17 in out nocopy JTF_VARCHAR2_TABLE_200
321     , p6_a18 in out nocopy JTF_VARCHAR2_TABLE_200
322     , p6_a19 in out nocopy JTF_VARCHAR2_TABLE_200
323     , p6_a20 in out nocopy JTF_VARCHAR2_TABLE_200
324     , p6_a21 in out nocopy JTF_VARCHAR2_TABLE_200
325     , p6_a22 in out nocopy JTF_VARCHAR2_TABLE_200
326     , p6_a23 in out nocopy JTF_VARCHAR2_TABLE_200
327     , p6_a24 in out nocopy JTF_VARCHAR2_TABLE_200
328     , p6_a25 in out nocopy JTF_VARCHAR2_TABLE_200
329     , p6_a26 in out nocopy JTF_VARCHAR2_TABLE_200
330     , p6_a27 in out nocopy JTF_VARCHAR2_TABLE_200
331     , p6_a28 in out nocopy JTF_VARCHAR2_TABLE_200
332     , p6_a29 in out nocopy JTF_VARCHAR2_TABLE_200
333     , x_return_status out nocopy  VARCHAR2
334     , x_msg_count out nocopy  NUMBER
335     , x_msg_data out nocopy  VARCHAR2
336   )
337 
338   as
339     ddp_x_df_header_rec ahl_prd_df_pvt.df_header_rec_type;
340     ddp_x_df_schedules_tbl ahl_prd_df_pvt.df_schedules_tbl_type;
341     ddindx binary_integer; indx binary_integer;
342   begin
343 
344     -- copy data to the local IN or IN-OUT args, if any
345 
346 
347 
348 
349 
350     ddp_x_df_header_rec.unit_deferral_id := p5_a0;
351     ddp_x_df_header_rec.object_version_number := p5_a1;
352     ddp_x_df_header_rec.created_by := p5_a2;
353     ddp_x_df_header_rec.creation_date := rosetta_g_miss_date_in_map(p5_a3);
354     ddp_x_df_header_rec.last_updated_by := p5_a4;
355     ddp_x_df_header_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a5);
356     ddp_x_df_header_rec.last_update_login := p5_a6;
357     ddp_x_df_header_rec.unit_effectivity_id := p5_a7;
358     ddp_x_df_header_rec.unit_deferral_type := p5_a8;
359     ddp_x_df_header_rec.approval_status_code := p5_a9;
360     ddp_x_df_header_rec.defer_reason_code := p5_a10;
361     ddp_x_df_header_rec.remarks := p5_a11;
362     ddp_x_df_header_rec.approver_notes := p5_a12;
363     ddp_x_df_header_rec.skip_mr_flag := p5_a13;
364     ddp_x_df_header_rec.affect_due_calc_flag := p5_a14;
365     ddp_x_df_header_rec.set_due_date := rosetta_g_miss_date_in_map(p5_a15);
366     ddp_x_df_header_rec.deferral_effective_on := rosetta_g_miss_date_in_map(p5_a16);
367     ddp_x_df_header_rec.deferral_type := p5_a17;
368     ddp_x_df_header_rec.mr_repetitive_flag := p5_a18;
369     ddp_x_df_header_rec.manually_planned_flag := p5_a19;
370     ddp_x_df_header_rec.reset_counter_flag := p5_a20;
371     ddp_x_df_header_rec.operation_flag := p5_a21;
372     ddp_x_df_header_rec.attribute_category := p5_a22;
373     ddp_x_df_header_rec.attribute1 := p5_a23;
374     ddp_x_df_header_rec.attribute2 := p5_a24;
375     ddp_x_df_header_rec.attribute3 := p5_a25;
376     ddp_x_df_header_rec.attribute4 := p5_a26;
377     ddp_x_df_header_rec.attribute5 := p5_a27;
378     ddp_x_df_header_rec.attribute6 := p5_a28;
379     ddp_x_df_header_rec.attribute7 := p5_a29;
380     ddp_x_df_header_rec.attribute8 := p5_a30;
381     ddp_x_df_header_rec.attribute9 := p5_a31;
382     ddp_x_df_header_rec.attribute10 := p5_a32;
383     ddp_x_df_header_rec.attribute11 := p5_a33;
384     ddp_x_df_header_rec.attribute12 := p5_a34;
385     ddp_x_df_header_rec.attribute13 := p5_a35;
386     ddp_x_df_header_rec.attribute14 := p5_a36;
387     ddp_x_df_header_rec.attribute15 := p5_a37;
388     ddp_x_df_header_rec.user_deferral_type_code := p5_a38;
389 
390     ahl_prd_df_pvt_w.rosetta_table_copy_in_p15(ddp_x_df_schedules_tbl, p6_a0
391       , p6_a1
392       , p6_a2
393       , p6_a3
394       , p6_a4
395       , p6_a5
396       , p6_a6
397       , p6_a7
398       , p6_a8
399       , p6_a9
400       , p6_a10
401       , p6_a11
402       , p6_a12
403       , p6_a13
404       , p6_a14
405       , p6_a15
406       , p6_a16
407       , p6_a17
408       , p6_a18
409       , p6_a19
410       , p6_a20
411       , p6_a21
412       , p6_a22
413       , p6_a23
414       , p6_a24
415       , p6_a25
416       , p6_a26
417       , p6_a27
418       , p6_a28
419       , p6_a29
420       );
421 
422 
423 
424 
425     -- here's the delegated call to the old PL/SQL routine
426     ahl_prd_df_pvt.process_deferral(p_api_version,
427       p_init_msg_list,
428       p_commit,
429       p_validation_level,
430       p_module_type,
431       ddp_x_df_header_rec,
432       ddp_x_df_schedules_tbl,
433       x_return_status,
434       x_msg_count,
435       x_msg_data);
436 
437     -- copy data back from the local variables to OUT or IN-OUT args, if any
438 
439 
440 
441 
442 
443     p5_a0 := ddp_x_df_header_rec.unit_deferral_id;
444     p5_a1 := ddp_x_df_header_rec.object_version_number;
445     p5_a2 := ddp_x_df_header_rec.created_by;
446     p5_a3 := ddp_x_df_header_rec.creation_date;
447     p5_a4 := ddp_x_df_header_rec.last_updated_by;
448     p5_a5 := ddp_x_df_header_rec.last_update_date;
449     p5_a6 := ddp_x_df_header_rec.last_update_login;
450     p5_a7 := ddp_x_df_header_rec.unit_effectivity_id;
451     p5_a8 := ddp_x_df_header_rec.unit_deferral_type;
452     p5_a9 := ddp_x_df_header_rec.approval_status_code;
453     p5_a10 := ddp_x_df_header_rec.defer_reason_code;
454     p5_a11 := ddp_x_df_header_rec.remarks;
455     p5_a12 := ddp_x_df_header_rec.approver_notes;
456     p5_a13 := ddp_x_df_header_rec.skip_mr_flag;
457     p5_a14 := ddp_x_df_header_rec.affect_due_calc_flag;
458     p5_a15 := ddp_x_df_header_rec.set_due_date;
459     p5_a16 := ddp_x_df_header_rec.deferral_effective_on;
460     p5_a17 := ddp_x_df_header_rec.deferral_type;
461     p5_a18 := ddp_x_df_header_rec.mr_repetitive_flag;
462     p5_a19 := ddp_x_df_header_rec.manually_planned_flag;
463     p5_a20 := ddp_x_df_header_rec.reset_counter_flag;
464     p5_a21 := ddp_x_df_header_rec.operation_flag;
465     p5_a22 := ddp_x_df_header_rec.attribute_category;
466     p5_a23 := ddp_x_df_header_rec.attribute1;
467     p5_a24 := ddp_x_df_header_rec.attribute2;
468     p5_a25 := ddp_x_df_header_rec.attribute3;
469     p5_a26 := ddp_x_df_header_rec.attribute4;
470     p5_a27 := ddp_x_df_header_rec.attribute5;
471     p5_a28 := ddp_x_df_header_rec.attribute6;
472     p5_a29 := ddp_x_df_header_rec.attribute7;
473     p5_a30 := ddp_x_df_header_rec.attribute8;
474     p5_a31 := ddp_x_df_header_rec.attribute9;
475     p5_a32 := ddp_x_df_header_rec.attribute10;
476     p5_a33 := ddp_x_df_header_rec.attribute11;
477     p5_a34 := ddp_x_df_header_rec.attribute12;
478     p5_a35 := ddp_x_df_header_rec.attribute13;
479     p5_a36 := ddp_x_df_header_rec.attribute14;
480     p5_a37 := ddp_x_df_header_rec.attribute15;
481     p5_a38 := ddp_x_df_header_rec.user_deferral_type_code;
482 
483     ahl_prd_df_pvt_w.rosetta_table_copy_out_p15(ddp_x_df_schedules_tbl, p6_a0
484       , p6_a1
485       , p6_a2
486       , p6_a3
487       , p6_a4
488       , p6_a5
489       , p6_a6
490       , p6_a7
491       , p6_a8
492       , p6_a9
493       , p6_a10
494       , p6_a11
495       , p6_a12
496       , p6_a13
497       , p6_a14
498       , p6_a15
499       , p6_a16
500       , p6_a17
501       , p6_a18
502       , p6_a19
503       , p6_a20
504       , p6_a21
505       , p6_a22
506       , p6_a23
507       , p6_a24
508       , p6_a25
509       , p6_a26
510       , p6_a27
511       , p6_a28
512       , p6_a29
513       );
514 
515 
516 
517   end;
518 
519   procedure get_deferral_details(p_init_msg_list  VARCHAR2
520     , p_unit_effectivity_id  NUMBER
521     , p2_a0 out nocopy  NUMBER
522     , p2_a1 out nocopy  NUMBER
523     , p2_a2 out nocopy  NUMBER
524     , p2_a3 out nocopy  VARCHAR2
525     , p2_a4 out nocopy  VARCHAR2
526     , p2_a5 out nocopy  VARCHAR2
527     , p2_a6 out nocopy  VARCHAR2
528     , p2_a7 out nocopy  VARCHAR2
529     , p2_a8 out nocopy  VARCHAR2
530     , p2_a9 out nocopy  VARCHAR2
531     , p2_a10 out nocopy  DATE
532     , p2_a11 out nocopy  DATE
533     , p2_a12 out nocopy  VARCHAR2
534     , p2_a13 out nocopy  NUMBER
535     , p2_a14 out nocopy  VARCHAR2
536     , p2_a15 out nocopy  VARCHAR2
537     , p2_a16 out nocopy  NUMBER
538     , p2_a17 out nocopy  VARCHAR2
539     , p2_a18 out nocopy  VARCHAR2
540     , p2_a19 out nocopy  DATE
541     , p2_a20 out nocopy  VARCHAR2
542     , p2_a21 out nocopy  VARCHAR2
543     , p2_a22 out nocopy  NUMBER
544     , p2_a23 out nocopy  NUMBER
545     , p2_a24 out nocopy  VARCHAR2
546     , p2_a25 out nocopy  VARCHAR2
547     , p2_a26 out nocopy  VARCHAR2
548     , p2_a27 out nocopy  VARCHAR2
549     , p2_a28 out nocopy  VARCHAR2
550     , p3_a0 out nocopy JTF_NUMBER_TABLE
551     , p3_a1 out nocopy JTF_NUMBER_TABLE
552     , p3_a2 out nocopy JTF_NUMBER_TABLE
553     , p3_a3 out nocopy JTF_DATE_TABLE
554     , p3_a4 out nocopy JTF_NUMBER_TABLE
555     , p3_a5 out nocopy JTF_DATE_TABLE
556     , p3_a6 out nocopy JTF_NUMBER_TABLE
557     , p3_a7 out nocopy JTF_NUMBER_TABLE
558     , p3_a8 out nocopy JTF_NUMBER_TABLE
559     , p3_a9 out nocopy JTF_VARCHAR2_TABLE_100
560     , p3_a10 out nocopy JTF_NUMBER_TABLE
561     , p3_a11 out nocopy JTF_VARCHAR2_TABLE_100
562     , p3_a12 out nocopy JTF_VARCHAR2_TABLE_100
563     , p3_a13 out nocopy JTF_VARCHAR2_TABLE_100
564     , p3_a14 out nocopy JTF_VARCHAR2_TABLE_100
565     , p3_a15 out nocopy JTF_VARCHAR2_TABLE_200
566     , p3_a16 out nocopy JTF_VARCHAR2_TABLE_200
567     , p3_a17 out nocopy JTF_VARCHAR2_TABLE_200
568     , p3_a18 out nocopy JTF_VARCHAR2_TABLE_200
569     , p3_a19 out nocopy JTF_VARCHAR2_TABLE_200
570     , p3_a20 out nocopy JTF_VARCHAR2_TABLE_200
571     , p3_a21 out nocopy JTF_VARCHAR2_TABLE_200
572     , p3_a22 out nocopy JTF_VARCHAR2_TABLE_200
573     , p3_a23 out nocopy JTF_VARCHAR2_TABLE_200
574     , p3_a24 out nocopy JTF_VARCHAR2_TABLE_200
575     , p3_a25 out nocopy JTF_VARCHAR2_TABLE_200
576     , p3_a26 out nocopy JTF_VARCHAR2_TABLE_200
577     , p3_a27 out nocopy JTF_VARCHAR2_TABLE_200
578     , p3_a28 out nocopy JTF_VARCHAR2_TABLE_200
579     , p3_a29 out nocopy JTF_VARCHAR2_TABLE_200
580     , x_return_status out nocopy  VARCHAR2
581     , x_msg_count out nocopy  NUMBER
582     , x_msg_data out nocopy  VARCHAR2
583   )
584 
585   as
586     ddx_df_header_info_rec ahl_prd_df_pvt.df_header_info_rec_type;
587     ddx_df_schedules_tbl ahl_prd_df_pvt.df_schedules_tbl_type;
588     ddindx binary_integer; indx binary_integer;
589   begin
590 
591     -- copy data to the local IN or IN-OUT args, if any
592 
593 
594 
595 
596 
597 
598 
599     -- here's the delegated call to the old PL/SQL routine
600     ahl_prd_df_pvt.get_deferral_details(p_init_msg_list,
601       p_unit_effectivity_id,
602       ddx_df_header_info_rec,
603       ddx_df_schedules_tbl,
604       x_return_status,
605       x_msg_count,
606       x_msg_data);
607 
608     -- copy data back from the local variables to OUT or IN-OUT args, if any
609 
610 
611     p2_a0 := ddx_df_header_info_rec.unit_deferral_id;
612     p2_a1 := ddx_df_header_info_rec.object_version_number;
613     p2_a2 := ddx_df_header_info_rec.unit_effectivity_id;
614     p2_a3 := ddx_df_header_info_rec.approval_status_code;
615     p2_a4 := ddx_df_header_info_rec.approval_status_meaning;
616     p2_a5 := ddx_df_header_info_rec.defer_reason_code;
617     p2_a6 := ddx_df_header_info_rec.remarks;
618     p2_a7 := ddx_df_header_info_rec.approver_notes;
619     p2_a8 := ddx_df_header_info_rec.skip_mr_flag;
620     p2_a9 := ddx_df_header_info_rec.affect_due_calc_flag;
621     p2_a10 := ddx_df_header_info_rec.set_due_date;
622     p2_a11 := ddx_df_header_info_rec.deferral_effective_on;
623     p2_a12 := ddx_df_header_info_rec.deferral_type;
624     p2_a13 := ddx_df_header_info_rec.mr_header_id;
625     p2_a14 := ddx_df_header_info_rec.mr_title;
626     p2_a15 := ddx_df_header_info_rec.mr_description;
627     p2_a16 := ddx_df_header_info_rec.incident_id;
628     p2_a17 := ddx_df_header_info_rec.incident_number;
629     p2_a18 := ddx_df_header_info_rec.summary;
630     p2_a19 := ddx_df_header_info_rec.due_date;
631     p2_a20 := ddx_df_header_info_rec.ue_status_code;
632     p2_a21 := ddx_df_header_info_rec.ue_status_meaning;
633     p2_a22 := ddx_df_header_info_rec.visit_id;
634     p2_a23 := ddx_df_header_info_rec.visit_number;
635     p2_a24 := ddx_df_header_info_rec.mr_repetitive_flag;
636     p2_a25 := ddx_df_header_info_rec.reset_counter_flag;
637     p2_a26 := ddx_df_header_info_rec.manually_planned_flag;
638     p2_a27 := ddx_df_header_info_rec.user_deferral_type_code;
639     p2_a28 := ddx_df_header_info_rec.user_deferral_type_mean;
640 
641     ahl_prd_df_pvt_w.rosetta_table_copy_out_p15(ddx_df_schedules_tbl, p3_a0
642       , p3_a1
643       , p3_a2
644       , p3_a3
645       , p3_a4
646       , p3_a5
647       , p3_a6
648       , p3_a7
649       , p3_a8
650       , p3_a9
651       , p3_a10
652       , p3_a11
653       , p3_a12
654       , p3_a13
655       , p3_a14
656       , p3_a15
657       , p3_a16
658       , p3_a17
659       , p3_a18
660       , p3_a19
661       , p3_a20
662       , p3_a21
663       , p3_a22
664       , p3_a23
665       , p3_a24
666       , p3_a25
667       , p3_a26
668       , p3_a27
669       , p3_a28
670       , p3_a29
671       );
672 
673 
674 
675   end;
676 
677   procedure process_deferred_exceptions(p_unit_effectivity_id  NUMBER
678     , ddrosetta_retval_bool OUT NOCOPY NUMBER
679   )
680 
681   as
682     ddindx binary_integer; indx binary_integer;
683     ddrosetta_retval boolean;
684   begin
685 
686     -- copy data to the local IN or IN-OUT args, if any
687 
688     -- here's the delegated call to the old PL/SQL routine
689     ddrosetta_retval := ahl_prd_df_pvt.process_deferred_exceptions(p_unit_effectivity_id);
690 
691     -- copy data back from the local variables to OUT or IN-OUT args, if any
692     if ddrosetta_retval is null
693       then ddrosetta_retval_bool := null;
694     elsif ddrosetta_retval
695       then ddrosetta_retval_bool := 1;
696     else ddrosetta_retval_bool := 0;
697     end if;
698   end;
699 
700 end ahl_prd_df_pvt_w;