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