DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_FMP_PVT_W

Source


1 package body ahl_fmp_pvt_w as
2   /* $Header: AHLWFMPB.pls 120.2.12020000.3 2013/04/01 02:21:08 sracha 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_p1(t out nocopy ahl_fmp_pvt.mr_item_instance_tbl_type, a0 JTF_VARCHAR2_TABLE_100
17     , a1 JTF_VARCHAR2_TABLE_100
18     , a2 JTF_VARCHAR2_TABLE_4000
19     , a3 JTF_VARCHAR2_TABLE_100
20     , a4 JTF_VARCHAR2_TABLE_400
21     , a5 JTF_VARCHAR2_TABLE_300
22     , a6 JTF_VARCHAR2_TABLE_100
23     , a7 JTF_NUMBER_TABLE
24     , a8 JTF_NUMBER_TABLE
25     , a9 JTF_NUMBER_TABLE
26     , a10 JTF_NUMBER_TABLE
27     , a11 JTF_VARCHAR2_TABLE_100
28     ) as
29     ddindx binary_integer; indx binary_integer;
30   begin
31   if a0 is not null and a0.count > 0 then
32       if a0.count > 0 then
33         indx := a0.first;
34         ddindx := 1;
35         while true loop
36           t(ddindx).item_number := a0(indx);
37           t(ddindx).serial_number := a1(indx);
38           t(ddindx).location := a2(indx);
39           t(ddindx).status := a3(indx);
40           t(ddindx).owner := a4(indx);
41           t(ddindx).condition := a5(indx);
42           t(ddindx).unit_name := a6(indx);
43           t(ddindx).item_instance_id := a7(indx);
44           t(ddindx).inventory_item_id := a8(indx);
45           t(ddindx).mr_effectivity_id := a9(indx);
46           t(ddindx).uc_header_id := a10(indx);
47           t(ddindx).terminate_flag := a11(indx);
48           ddindx := ddindx+1;
49           if a0.last =indx
50             then exit;
51           end if;
52           indx := a0.next(indx);
53         end loop;
54       end if;
55    end if;
56   end rosetta_table_copy_in_p1;
57   procedure rosetta_table_copy_out_p1(t ahl_fmp_pvt.mr_item_instance_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
58     , a1 out nocopy JTF_VARCHAR2_TABLE_100
59     , a2 out nocopy JTF_VARCHAR2_TABLE_4000
60     , a3 out nocopy JTF_VARCHAR2_TABLE_100
61     , a4 out nocopy JTF_VARCHAR2_TABLE_400
62     , a5 out nocopy JTF_VARCHAR2_TABLE_300
63     , a6 out nocopy JTF_VARCHAR2_TABLE_100
64     , a7 out nocopy JTF_NUMBER_TABLE
65     , a8 out nocopy JTF_NUMBER_TABLE
66     , a9 out nocopy JTF_NUMBER_TABLE
67     , a10 out nocopy JTF_NUMBER_TABLE
68     , a11 out nocopy JTF_VARCHAR2_TABLE_100
69     ) as
70     ddindx binary_integer; indx binary_integer;
71   begin
72   if t is null or t.count = 0 then
73     a0 := JTF_VARCHAR2_TABLE_100();
74     a1 := JTF_VARCHAR2_TABLE_100();
75     a2 := JTF_VARCHAR2_TABLE_4000();
76     a3 := JTF_VARCHAR2_TABLE_100();
77     a4 := JTF_VARCHAR2_TABLE_400();
78     a5 := JTF_VARCHAR2_TABLE_300();
79     a6 := JTF_VARCHAR2_TABLE_100();
80     a7 := JTF_NUMBER_TABLE();
81     a8 := JTF_NUMBER_TABLE();
82     a9 := JTF_NUMBER_TABLE();
83     a10 := JTF_NUMBER_TABLE();
84     a11 := JTF_VARCHAR2_TABLE_100();
85   else
86       a0 := JTF_VARCHAR2_TABLE_100();
87       a1 := JTF_VARCHAR2_TABLE_100();
88       a2 := JTF_VARCHAR2_TABLE_4000();
89       a3 := JTF_VARCHAR2_TABLE_100();
90       a4 := JTF_VARCHAR2_TABLE_400();
91       a5 := JTF_VARCHAR2_TABLE_300();
92       a6 := JTF_VARCHAR2_TABLE_100();
93       a7 := JTF_NUMBER_TABLE();
94       a8 := JTF_NUMBER_TABLE();
95       a9 := JTF_NUMBER_TABLE();
96       a10 := JTF_NUMBER_TABLE();
97       a11 := JTF_VARCHAR2_TABLE_100();
98       if t.count > 0 then
99         a0.extend(t.count);
100         a1.extend(t.count);
101         a2.extend(t.count);
102         a3.extend(t.count);
103         a4.extend(t.count);
104         a5.extend(t.count);
105         a6.extend(t.count);
106         a7.extend(t.count);
107         a8.extend(t.count);
108         a9.extend(t.count);
109         a10.extend(t.count);
110         a11.extend(t.count);
111         ddindx := t.first;
112         indx := 1;
113         while true loop
114           a0(indx) := t(ddindx).item_number;
115           a1(indx) := t(ddindx).serial_number;
116           a2(indx) := t(ddindx).location;
117           a3(indx) := t(ddindx).status;
118           a4(indx) := t(ddindx).owner;
119           a5(indx) := t(ddindx).condition;
120           a6(indx) := t(ddindx).unit_name;
121           a7(indx) := t(ddindx).item_instance_id;
122           a8(indx) := t(ddindx).inventory_item_id;
123           a9(indx) := t(ddindx).mr_effectivity_id;
124           a10(indx) := t(ddindx).uc_header_id;
125           a11(indx) := t(ddindx).terminate_flag;
126           indx := indx+1;
127           if t.last =ddindx
128             then exit;
129           end if;
130           ddindx := t.next(ddindx);
131         end loop;
132       end if;
133    end if;
134   end rosetta_table_copy_out_p1;
135 
136   procedure rosetta_table_copy_in_p3(t out nocopy ahl_fmp_pvt.applicable_mr_tbl_type, a0 JTF_NUMBER_TABLE
137     , a1 JTF_NUMBER_TABLE
138     , a2 JTF_NUMBER_TABLE
139     , a3 JTF_VARCHAR2_TABLE_100
140     , a4 JTF_VARCHAR2_TABLE_100
141     , a5 JTF_NUMBER_TABLE
142     , a6 JTF_VARCHAR2_TABLE_100
143     , a7 JTF_VARCHAR2_TABLE_100
144     , a8 JTF_NUMBER_TABLE
145     , a9 JTF_VARCHAR2_TABLE_100
146     , a10 JTF_NUMBER_TABLE
147     , a11 JTF_NUMBER_TABLE
148     ) as
149     ddindx binary_integer; indx binary_integer;
150   begin
151   if a0 is not null and a0.count > 0 then
152       if a0.count > 0 then
153         indx := a0.first;
154         ddindx := 1;
155         while true loop
156           t(ddindx).mr_header_id := a0(indx);
157           t(ddindx).mr_effectivity_id := a1(indx);
158           t(ddindx).item_instance_id := a2(indx);
159           t(ddindx).repetitive_flag := a3(indx);
160           t(ddindx).show_repetitive_code := a4(indx);
161           t(ddindx).preceding_mr_header_id := a5(indx);
162           t(ddindx).copy_accomplishment_flag := a6(indx);
163           t(ddindx).implement_status_code := a7(indx);
164           t(ddindx).descendent_count := a8(indx);
165           t(ddindx).relationship_code := a9(indx);
166           t(ddindx).start_mr_header_id := a10(indx);
167           t(ddindx).sequence_number := a11(indx);
168           ddindx := ddindx+1;
169           if a0.last =indx
170             then exit;
171           end if;
172           indx := a0.next(indx);
173         end loop;
174       end if;
175    end if;
176   end rosetta_table_copy_in_p3;
177   procedure rosetta_table_copy_out_p3(t ahl_fmp_pvt.applicable_mr_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
178     , a1 out nocopy JTF_NUMBER_TABLE
179     , a2 out nocopy JTF_NUMBER_TABLE
180     , a3 out nocopy JTF_VARCHAR2_TABLE_100
181     , a4 out nocopy JTF_VARCHAR2_TABLE_100
182     , a5 out nocopy JTF_NUMBER_TABLE
183     , a6 out nocopy JTF_VARCHAR2_TABLE_100
184     , a7 out nocopy JTF_VARCHAR2_TABLE_100
185     , a8 out nocopy JTF_NUMBER_TABLE
186     , a9 out nocopy JTF_VARCHAR2_TABLE_100
187     , a10 out nocopy JTF_NUMBER_TABLE
188     , a11 out nocopy JTF_NUMBER_TABLE
189     ) as
190     ddindx binary_integer; indx binary_integer;
191   begin
192   if t is null or t.count = 0 then
193     a0 := JTF_NUMBER_TABLE();
194     a1 := JTF_NUMBER_TABLE();
195     a2 := JTF_NUMBER_TABLE();
196     a3 := JTF_VARCHAR2_TABLE_100();
197     a4 := JTF_VARCHAR2_TABLE_100();
198     a5 := JTF_NUMBER_TABLE();
199     a6 := JTF_VARCHAR2_TABLE_100();
200     a7 := JTF_VARCHAR2_TABLE_100();
201     a8 := JTF_NUMBER_TABLE();
202     a9 := JTF_VARCHAR2_TABLE_100();
203     a10 := JTF_NUMBER_TABLE();
204     a11 := JTF_NUMBER_TABLE();
205   else
206       a0 := JTF_NUMBER_TABLE();
207       a1 := JTF_NUMBER_TABLE();
208       a2 := JTF_NUMBER_TABLE();
209       a3 := JTF_VARCHAR2_TABLE_100();
210       a4 := JTF_VARCHAR2_TABLE_100();
211       a5 := JTF_NUMBER_TABLE();
212       a6 := JTF_VARCHAR2_TABLE_100();
213       a7 := JTF_VARCHAR2_TABLE_100();
214       a8 := JTF_NUMBER_TABLE();
215       a9 := JTF_VARCHAR2_TABLE_100();
216       a10 := JTF_NUMBER_TABLE();
217       a11 := JTF_NUMBER_TABLE();
218       if t.count > 0 then
219         a0.extend(t.count);
220         a1.extend(t.count);
221         a2.extend(t.count);
222         a3.extend(t.count);
223         a4.extend(t.count);
224         a5.extend(t.count);
225         a6.extend(t.count);
226         a7.extend(t.count);
227         a8.extend(t.count);
228         a9.extend(t.count);
229         a10.extend(t.count);
230         a11.extend(t.count);
231         ddindx := t.first;
232         indx := 1;
233         while true loop
234           a0(indx) := t(ddindx).mr_header_id;
235           a1(indx) := t(ddindx).mr_effectivity_id;
236           a2(indx) := t(ddindx).item_instance_id;
237           a3(indx) := t(ddindx).repetitive_flag;
238           a4(indx) := t(ddindx).show_repetitive_code;
239           a5(indx) := t(ddindx).preceding_mr_header_id;
240           a6(indx) := t(ddindx).copy_accomplishment_flag;
241           a7(indx) := t(ddindx).implement_status_code;
242           a8(indx) := t(ddindx).descendent_count;
243           a9(indx) := t(ddindx).relationship_code;
244           a10(indx) := t(ddindx).start_mr_header_id;
245           a11(indx) := t(ddindx).sequence_number;
246           indx := indx+1;
247           if t.last =ddindx
248             then exit;
249           end if;
250           ddindx := t.next(ddindx);
251         end loop;
252       end if;
253    end if;
254   end rosetta_table_copy_out_p3;
255 
256   procedure rosetta_table_copy_in_p5(t out nocopy ahl_fmp_pvt.applicable_activities_tbl_type, a0 JTF_NUMBER_TABLE
257     , a1 JTF_NUMBER_TABLE
258     , a2 JTF_NUMBER_TABLE
259     , a3 JTF_NUMBER_TABLE
260     , a4 JTF_NUMBER_TABLE
261     , a5 JTF_VARCHAR2_TABLE_100
262     , a6 JTF_VARCHAR2_TABLE_100
263     , a7 JTF_VARCHAR2_TABLE_100
264     , a8 JTF_VARCHAR2_TABLE_100
265     , a9 JTF_VARCHAR2_TABLE_100
266     ) as
267     ddindx binary_integer; indx binary_integer;
268   begin
269   if a0 is not null and a0.count > 0 then
270       if a0.count > 0 then
271         indx := a0.first;
272         ddindx := 1;
273         while true loop
274           t(ddindx).mr_header_id := a0(indx);
275           t(ddindx).program_mr_header_id := a1(indx);
276           t(ddindx).service_line_id := a2(indx);
277           t(ddindx).mr_effectivity_id := a3(indx);
278           t(ddindx).item_instance_id := a4(indx);
279           t(ddindx).repetitive_flag := a5(indx);
280           t(ddindx).whichever_first_code := a6(indx);
281           t(ddindx).show_repetitive_code := a7(indx);
282           t(ddindx).implement_status_code := a8(indx);
283           t(ddindx).act_schedule_exists := a9(indx);
284           ddindx := ddindx+1;
285           if a0.last =indx
286             then exit;
287           end if;
288           indx := a0.next(indx);
289         end loop;
290       end if;
291    end if;
292   end rosetta_table_copy_in_p5;
293   procedure rosetta_table_copy_out_p5(t ahl_fmp_pvt.applicable_activities_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
294     , a1 out nocopy JTF_NUMBER_TABLE
295     , a2 out nocopy JTF_NUMBER_TABLE
296     , a3 out nocopy JTF_NUMBER_TABLE
297     , a4 out nocopy JTF_NUMBER_TABLE
298     , a5 out nocopy JTF_VARCHAR2_TABLE_100
299     , a6 out nocopy JTF_VARCHAR2_TABLE_100
300     , a7 out nocopy JTF_VARCHAR2_TABLE_100
301     , a8 out nocopy JTF_VARCHAR2_TABLE_100
302     , a9 out nocopy JTF_VARCHAR2_TABLE_100
303     ) as
304     ddindx binary_integer; indx binary_integer;
305   begin
306   if t is null or t.count = 0 then
307     a0 := JTF_NUMBER_TABLE();
308     a1 := JTF_NUMBER_TABLE();
309     a2 := JTF_NUMBER_TABLE();
310     a3 := JTF_NUMBER_TABLE();
311     a4 := JTF_NUMBER_TABLE();
312     a5 := JTF_VARCHAR2_TABLE_100();
313     a6 := JTF_VARCHAR2_TABLE_100();
314     a7 := JTF_VARCHAR2_TABLE_100();
315     a8 := JTF_VARCHAR2_TABLE_100();
316     a9 := JTF_VARCHAR2_TABLE_100();
317   else
318       a0 := JTF_NUMBER_TABLE();
319       a1 := JTF_NUMBER_TABLE();
320       a2 := JTF_NUMBER_TABLE();
321       a3 := JTF_NUMBER_TABLE();
322       a4 := JTF_NUMBER_TABLE();
323       a5 := JTF_VARCHAR2_TABLE_100();
324       a6 := JTF_VARCHAR2_TABLE_100();
325       a7 := JTF_VARCHAR2_TABLE_100();
326       a8 := JTF_VARCHAR2_TABLE_100();
327       a9 := JTF_VARCHAR2_TABLE_100();
328       if t.count > 0 then
329         a0.extend(t.count);
330         a1.extend(t.count);
331         a2.extend(t.count);
332         a3.extend(t.count);
333         a4.extend(t.count);
334         a5.extend(t.count);
335         a6.extend(t.count);
336         a7.extend(t.count);
337         a8.extend(t.count);
338         a9.extend(t.count);
339         ddindx := t.first;
340         indx := 1;
341         while true loop
342           a0(indx) := t(ddindx).mr_header_id;
343           a1(indx) := t(ddindx).program_mr_header_id;
344           a2(indx) := t(ddindx).service_line_id;
345           a3(indx) := t(ddindx).mr_effectivity_id;
346           a4(indx) := t(ddindx).item_instance_id;
347           a5(indx) := t(ddindx).repetitive_flag;
348           a6(indx) := t(ddindx).whichever_first_code;
349           a7(indx) := t(ddindx).show_repetitive_code;
350           a8(indx) := t(ddindx).implement_status_code;
351           a9(indx) := t(ddindx).act_schedule_exists;
352           indx := indx+1;
353           if t.last =ddindx
354             then exit;
355           end if;
356           ddindx := t.next(ddindx);
357         end loop;
358       end if;
359    end if;
360   end rosetta_table_copy_out_p5;
361 
362   procedure rosetta_table_copy_in_p7(t out nocopy ahl_fmp_pvt.applicable_programs_tbl_type, a0 JTF_NUMBER_TABLE
363     , a1 JTF_VARCHAR2_TABLE_200
364     , a2 JTF_VARCHAR2_TABLE_200
365     , a3 JTF_VARCHAR2_TABLE_100
366     , a4 JTF_NUMBER_TABLE
367     , a5 JTF_VARCHAR2_TABLE_300
368     , a6 JTF_VARCHAR2_TABLE_300
369     , a7 JTF_NUMBER_TABLE
370     , a8 JTF_VARCHAR2_TABLE_200
371     , a9 JTF_VARCHAR2_TABLE_2000
372     , a10 JTF_VARCHAR2_TABLE_100
373     , a11 JTF_VARCHAR2_TABLE_100
374     , a12 JTF_NUMBER_TABLE
375     , a13 JTF_DATE_TABLE
376     , a14 JTF_DATE_TABLE
377     , a15 JTF_VARCHAR2_TABLE_100
378     , a16 JTF_VARCHAR2_TABLE_100
379     , a17 JTF_DATE_TABLE
380     , a18 JTF_DATE_TABLE
381     , a19 JTF_VARCHAR2_TABLE_100
382     , a20 JTF_VARCHAR2_TABLE_2000
383     , a21 JTF_DATE_TABLE
384     , a22 JTF_VARCHAR2_TABLE_100
385     , a23 JTF_VARCHAR2_TABLE_500
386     , a24 JTF_NUMBER_TABLE
387     ) as
388     ddindx binary_integer; indx binary_integer;
389   begin
390   if a0 is not null and a0.count > 0 then
391       if a0.count > 0 then
392         indx := a0.first;
393         ddindx := 1;
394         while true loop
395           t(ddindx).contract_id := a0(indx);
396           t(ddindx).contract_number := a1(indx);
397           t(ddindx).contract_number_modifier := a2(indx);
398           t(ddindx).sts_code := a3(indx);
399           t(ddindx).service_line_id := a4(indx);
400           t(ddindx).service_name := a5(indx);
401           t(ddindx).service_description := a6(indx);
402           t(ddindx).coverage_term_line_id := a7(indx);
403           t(ddindx).coverage_term_name := a8(indx);
404           t(ddindx).coverage_term_description := a9(indx);
405           t(ddindx).coverage_type_code := a10(indx);
406           t(ddindx).coverage_type_meaning := a11(indx);
407           t(ddindx).coverage_type_imp_level := a12(indx);
408           t(ddindx).service_start_date := rosetta_g_miss_date_in_map(a13(indx));
409           t(ddindx).service_end_date := rosetta_g_miss_date_in_map(a14(indx));
410           t(ddindx).warranty_flag := a15(indx);
411           t(ddindx).eligible_for_entitlement := a16(indx);
412           t(ddindx).exp_reaction_time := rosetta_g_miss_date_in_map(a17(indx));
413           t(ddindx).exp_resolution_time := rosetta_g_miss_date_in_map(a18(indx));
414           t(ddindx).status_code := a19(indx);
415           t(ddindx).status_text := a20(indx);
416           t(ddindx).date_terminated := rosetta_g_miss_date_in_map(a21(indx));
417           t(ddindx).pm_program_id := a22(indx);
418           t(ddindx).pm_schedule_exists := a23(indx);
419           t(ddindx).mr_effectivity_id := a24(indx);
420           ddindx := ddindx+1;
421           if a0.last =indx
422             then exit;
423           end if;
424           indx := a0.next(indx);
425         end loop;
426       end if;
427    end if;
428   end rosetta_table_copy_in_p7;
429   procedure rosetta_table_copy_out_p7(t ahl_fmp_pvt.applicable_programs_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
430     , a1 out nocopy JTF_VARCHAR2_TABLE_200
431     , a2 out nocopy JTF_VARCHAR2_TABLE_200
432     , a3 out nocopy JTF_VARCHAR2_TABLE_100
433     , a4 out nocopy JTF_NUMBER_TABLE
434     , a5 out nocopy JTF_VARCHAR2_TABLE_300
435     , a6 out nocopy JTF_VARCHAR2_TABLE_300
436     , a7 out nocopy JTF_NUMBER_TABLE
437     , a8 out nocopy JTF_VARCHAR2_TABLE_200
438     , a9 out nocopy JTF_VARCHAR2_TABLE_2000
439     , a10 out nocopy JTF_VARCHAR2_TABLE_100
440     , a11 out nocopy JTF_VARCHAR2_TABLE_100
441     , a12 out nocopy JTF_NUMBER_TABLE
442     , a13 out nocopy JTF_DATE_TABLE
443     , a14 out nocopy JTF_DATE_TABLE
444     , a15 out nocopy JTF_VARCHAR2_TABLE_100
445     , a16 out nocopy JTF_VARCHAR2_TABLE_100
446     , a17 out nocopy JTF_DATE_TABLE
447     , a18 out nocopy JTF_DATE_TABLE
448     , a19 out nocopy JTF_VARCHAR2_TABLE_100
449     , a20 out nocopy JTF_VARCHAR2_TABLE_2000
450     , a21 out nocopy JTF_DATE_TABLE
451     , a22 out nocopy JTF_VARCHAR2_TABLE_100
452     , a23 out nocopy JTF_VARCHAR2_TABLE_500
453     , a24 out nocopy JTF_NUMBER_TABLE
454     ) as
455     ddindx binary_integer; indx binary_integer;
456   begin
457   if t is null or t.count = 0 then
458     a0 := JTF_NUMBER_TABLE();
459     a1 := JTF_VARCHAR2_TABLE_200();
460     a2 := JTF_VARCHAR2_TABLE_200();
461     a3 := JTF_VARCHAR2_TABLE_100();
462     a4 := JTF_NUMBER_TABLE();
463     a5 := JTF_VARCHAR2_TABLE_300();
464     a6 := JTF_VARCHAR2_TABLE_300();
465     a7 := JTF_NUMBER_TABLE();
466     a8 := JTF_VARCHAR2_TABLE_200();
467     a9 := JTF_VARCHAR2_TABLE_2000();
468     a10 := JTF_VARCHAR2_TABLE_100();
469     a11 := JTF_VARCHAR2_TABLE_100();
470     a12 := JTF_NUMBER_TABLE();
471     a13 := JTF_DATE_TABLE();
472     a14 := JTF_DATE_TABLE();
473     a15 := JTF_VARCHAR2_TABLE_100();
474     a16 := JTF_VARCHAR2_TABLE_100();
475     a17 := JTF_DATE_TABLE();
476     a18 := JTF_DATE_TABLE();
477     a19 := JTF_VARCHAR2_TABLE_100();
478     a20 := JTF_VARCHAR2_TABLE_2000();
479     a21 := JTF_DATE_TABLE();
480     a22 := JTF_VARCHAR2_TABLE_100();
481     a23 := JTF_VARCHAR2_TABLE_500();
482     a24 := JTF_NUMBER_TABLE();
483   else
484       a0 := JTF_NUMBER_TABLE();
485       a1 := JTF_VARCHAR2_TABLE_200();
486       a2 := JTF_VARCHAR2_TABLE_200();
487       a3 := JTF_VARCHAR2_TABLE_100();
488       a4 := JTF_NUMBER_TABLE();
489       a5 := JTF_VARCHAR2_TABLE_300();
490       a6 := JTF_VARCHAR2_TABLE_300();
491       a7 := JTF_NUMBER_TABLE();
492       a8 := JTF_VARCHAR2_TABLE_200();
493       a9 := JTF_VARCHAR2_TABLE_2000();
494       a10 := JTF_VARCHAR2_TABLE_100();
495       a11 := JTF_VARCHAR2_TABLE_100();
496       a12 := JTF_NUMBER_TABLE();
497       a13 := JTF_DATE_TABLE();
498       a14 := JTF_DATE_TABLE();
499       a15 := JTF_VARCHAR2_TABLE_100();
500       a16 := JTF_VARCHAR2_TABLE_100();
501       a17 := JTF_DATE_TABLE();
502       a18 := JTF_DATE_TABLE();
503       a19 := JTF_VARCHAR2_TABLE_100();
504       a20 := JTF_VARCHAR2_TABLE_2000();
505       a21 := JTF_DATE_TABLE();
506       a22 := JTF_VARCHAR2_TABLE_100();
507       a23 := JTF_VARCHAR2_TABLE_500();
508       a24 := JTF_NUMBER_TABLE();
509       if t.count > 0 then
510         a0.extend(t.count);
511         a1.extend(t.count);
512         a2.extend(t.count);
513         a3.extend(t.count);
514         a4.extend(t.count);
515         a5.extend(t.count);
516         a6.extend(t.count);
517         a7.extend(t.count);
518         a8.extend(t.count);
519         a9.extend(t.count);
520         a10.extend(t.count);
521         a11.extend(t.count);
522         a12.extend(t.count);
523         a13.extend(t.count);
524         a14.extend(t.count);
525         a15.extend(t.count);
526         a16.extend(t.count);
527         a17.extend(t.count);
528         a18.extend(t.count);
529         a19.extend(t.count);
530         a20.extend(t.count);
531         a21.extend(t.count);
532         a22.extend(t.count);
533         a23.extend(t.count);
534         a24.extend(t.count);
535         ddindx := t.first;
536         indx := 1;
537         while true loop
538           a0(indx) := t(ddindx).contract_id;
539           a1(indx) := t(ddindx).contract_number;
540           a2(indx) := t(ddindx).contract_number_modifier;
541           a3(indx) := t(ddindx).sts_code;
542           a4(indx) := t(ddindx).service_line_id;
543           a5(indx) := t(ddindx).service_name;
544           a6(indx) := t(ddindx).service_description;
545           a7(indx) := t(ddindx).coverage_term_line_id;
546           a8(indx) := t(ddindx).coverage_term_name;
547           a9(indx) := t(ddindx).coverage_term_description;
548           a10(indx) := t(ddindx).coverage_type_code;
549           a11(indx) := t(ddindx).coverage_type_meaning;
550           a12(indx) := t(ddindx).coverage_type_imp_level;
551           a13(indx) := t(ddindx).service_start_date;
552           a14(indx) := t(ddindx).service_end_date;
553           a15(indx) := t(ddindx).warranty_flag;
554           a16(indx) := t(ddindx).eligible_for_entitlement;
555           a17(indx) := t(ddindx).exp_reaction_time;
556           a18(indx) := t(ddindx).exp_resolution_time;
557           a19(indx) := t(ddindx).status_code;
558           a20(indx) := t(ddindx).status_text;
559           a21(indx) := t(ddindx).date_terminated;
560           a22(indx) := t(ddindx).pm_program_id;
561           a23(indx) := t(ddindx).pm_schedule_exists;
562           a24(indx) := t(ddindx).mr_effectivity_id;
563           indx := indx+1;
564           if t.last =ddindx
565             then exit;
566           end if;
567           ddindx := t.next(ddindx);
568         end loop;
569       end if;
570    end if;
571   end rosetta_table_copy_out_p7;
572 
573   procedure get_mr_affected_items(p_api_version  NUMBER
574     , p_init_msg_list  VARCHAR2
575     , p_commit  VARCHAR2
576     , p_validation_level  NUMBER
577     , x_return_status out nocopy  VARCHAR2
578     , x_msg_count out nocopy  NUMBER
579     , x_msg_data out nocopy  VARCHAR2
580     , p_mr_header_id  NUMBER
581     , p_mr_effectivity_id  NUMBER
582     , p_top_node_flag  VARCHAR2
583     , p_unique_inst_flag  VARCHAR2
584     , p_sort_flag  VARCHAR2
585     , p_consider_fleet_flag  VARCHAR2
586     , p_flt_range_calc_date  date
587     , p14_a0 out nocopy JTF_VARCHAR2_TABLE_100
588     , p14_a1 out nocopy JTF_VARCHAR2_TABLE_100
589     , p14_a2 out nocopy JTF_VARCHAR2_TABLE_4000
590     , p14_a3 out nocopy JTF_VARCHAR2_TABLE_100
591     , p14_a4 out nocopy JTF_VARCHAR2_TABLE_400
592     , p14_a5 out nocopy JTF_VARCHAR2_TABLE_300
593     , p14_a6 out nocopy JTF_VARCHAR2_TABLE_100
594     , p14_a7 out nocopy JTF_NUMBER_TABLE
595     , p14_a8 out nocopy JTF_NUMBER_TABLE
596     , p14_a9 out nocopy JTF_NUMBER_TABLE
597     , p14_a10 out nocopy JTF_NUMBER_TABLE
598     , p14_a11 out nocopy JTF_VARCHAR2_TABLE_100
599   )
600 
601   as
602     ddp_flt_range_calc_date date;
603     ddx_mr_item_inst_tbl ahl_fmp_pvt.mr_item_instance_tbl_type;
604     ddindx binary_integer; indx binary_integer;
605   begin
606 
607     -- copy data to the local IN or IN-OUT args, if any
608 
609 
610 
611 
612 
613 
614 
615 
616 
617 
618 
619 
620 
621     ddp_flt_range_calc_date := rosetta_g_miss_date_in_map(p_flt_range_calc_date);
622 
623 
624     -- here's the delegated call to the old PL/SQL routine
625     ahl_fmp_pvt.get_mr_affected_items(p_api_version,
626       p_init_msg_list,
627       p_commit,
628       p_validation_level,
629       x_return_status,
630       x_msg_count,
631       x_msg_data,
632       p_mr_header_id,
633       p_mr_effectivity_id,
634       p_top_node_flag,
635       p_unique_inst_flag,
636       p_sort_flag,
637       p_consider_fleet_flag,
638       ddp_flt_range_calc_date,
639       ddx_mr_item_inst_tbl);
640 
641     -- copy data back from the local variables to OUT or IN-OUT args, if any
642 
643 
644 
645 
646 
647 
648 
649 
650 
651 
652 
653 
654 
655 
656     ahl_fmp_pvt_w.rosetta_table_copy_out_p1(ddx_mr_item_inst_tbl, p14_a0
657       , p14_a1
658       , p14_a2
659       , p14_a3
660       , p14_a4
661       , p14_a5
662       , p14_a6
663       , p14_a7
664       , p14_a8
665       , p14_a9
666       , p14_a10
667       , p14_a11
668       );
669   end;
670 
671   procedure get_applicable_mrs(p_api_version  NUMBER
672     , p_init_msg_list  VARCHAR2
673     , p_commit  VARCHAR2
674     , p_validation_level  NUMBER
675     , x_return_status out nocopy  VARCHAR2
676     , x_msg_count out nocopy  NUMBER
677     , x_msg_data out nocopy  VARCHAR2
678     , p_item_instance_id  NUMBER
679     , p_mr_header_id  NUMBER
680     , p_components_flag  VARCHAR2
681     , p_include_donotimplmt  VARCHAR2
682     , p_visit_type_code  VARCHAR2
683     , p_consider_fleet_flag  VARCHAR2
684     , p_flt_range_calc_date  date
685     , p_insert_into_tmp_tbl  VARCHAR2
686     , p15_a0 out nocopy JTF_NUMBER_TABLE
687     , p15_a1 out nocopy JTF_NUMBER_TABLE
688     , p15_a2 out nocopy JTF_NUMBER_TABLE
689     , p15_a3 out nocopy JTF_VARCHAR2_TABLE_100
690     , p15_a4 out nocopy JTF_VARCHAR2_TABLE_100
691     , p15_a5 out nocopy JTF_NUMBER_TABLE
692     , p15_a6 out nocopy JTF_VARCHAR2_TABLE_100
693     , p15_a7 out nocopy JTF_VARCHAR2_TABLE_100
694     , p15_a8 out nocopy JTF_NUMBER_TABLE
695     , p15_a9 out nocopy JTF_VARCHAR2_TABLE_100
696     , p15_a10 out nocopy JTF_NUMBER_TABLE
697     , p15_a11 out nocopy JTF_NUMBER_TABLE
698   )
699 
700   as
701     ddp_flt_range_calc_date date;
702     ddx_applicable_mr_tbl ahl_fmp_pvt.applicable_mr_tbl_type;
703     ddindx binary_integer; indx binary_integer;
704   begin
705 
706     -- copy data to the local IN or IN-OUT args, if any
707 
708 
709 
710 
711 
712 
713 
714 
715 
716 
717 
718 
719 
720     ddp_flt_range_calc_date := rosetta_g_miss_date_in_map(p_flt_range_calc_date);
721 
722 
723 
724     -- here's the delegated call to the old PL/SQL routine
725     ahl_fmp_pvt.get_applicable_mrs(p_api_version,
726       p_init_msg_list,
727       p_commit,
728       p_validation_level,
729       x_return_status,
730       x_msg_count,
731       x_msg_data,
732       p_item_instance_id,
733       p_mr_header_id,
734       p_components_flag,
735       p_include_donotimplmt,
736       p_visit_type_code,
737       p_consider_fleet_flag,
738       ddp_flt_range_calc_date,
739       p_insert_into_tmp_tbl,
740       ddx_applicable_mr_tbl);
741 
742     -- copy data back from the local variables to OUT or IN-OUT args, if any
743 
744 
745 
746 
747 
748 
749 
750 
751 
752 
753 
754 
755 
756 
757 
758     ahl_fmp_pvt_w.rosetta_table_copy_out_p3(ddx_applicable_mr_tbl, p15_a0
759       , p15_a1
760       , p15_a2
761       , p15_a3
762       , p15_a4
763       , p15_a5
764       , p15_a6
765       , p15_a7
766       , p15_a8
767       , p15_a9
768       , p15_a10
769       , p15_a11
770       );
771   end;
772 
773   procedure get_pm_applicable_mrs(p_api_version  NUMBER
774     , p_init_msg_list  VARCHAR2
775     , p_commit  VARCHAR2
776     , p_validation_level  NUMBER
777     , x_return_status out nocopy  VARCHAR2
778     , x_msg_count out nocopy  NUMBER
779     , x_msg_data out nocopy  VARCHAR2
780     , p_item_instance_id  NUMBER
781     , p8_a0 out nocopy JTF_NUMBER_TABLE
782     , p8_a1 out nocopy JTF_NUMBER_TABLE
783     , p8_a2 out nocopy JTF_NUMBER_TABLE
784     , p8_a3 out nocopy JTF_NUMBER_TABLE
785     , p8_a4 out nocopy JTF_NUMBER_TABLE
786     , p8_a5 out nocopy JTF_VARCHAR2_TABLE_100
787     , p8_a6 out nocopy JTF_VARCHAR2_TABLE_100
788     , p8_a7 out nocopy JTF_VARCHAR2_TABLE_100
789     , p8_a8 out nocopy JTF_VARCHAR2_TABLE_100
790     , p8_a9 out nocopy JTF_VARCHAR2_TABLE_100
791     , p9_a0 out nocopy JTF_NUMBER_TABLE
792     , p9_a1 out nocopy JTF_VARCHAR2_TABLE_200
793     , p9_a2 out nocopy JTF_VARCHAR2_TABLE_200
794     , p9_a3 out nocopy JTF_VARCHAR2_TABLE_100
795     , p9_a4 out nocopy JTF_NUMBER_TABLE
796     , p9_a5 out nocopy JTF_VARCHAR2_TABLE_300
797     , p9_a6 out nocopy JTF_VARCHAR2_TABLE_300
798     , p9_a7 out nocopy JTF_NUMBER_TABLE
799     , p9_a8 out nocopy JTF_VARCHAR2_TABLE_200
800     , p9_a9 out nocopy JTF_VARCHAR2_TABLE_2000
801     , p9_a10 out nocopy JTF_VARCHAR2_TABLE_100
802     , p9_a11 out nocopy JTF_VARCHAR2_TABLE_100
803     , p9_a12 out nocopy JTF_NUMBER_TABLE
804     , p9_a13 out nocopy JTF_DATE_TABLE
805     , p9_a14 out nocopy JTF_DATE_TABLE
806     , p9_a15 out nocopy JTF_VARCHAR2_TABLE_100
807     , p9_a16 out nocopy JTF_VARCHAR2_TABLE_100
808     , p9_a17 out nocopy JTF_DATE_TABLE
809     , p9_a18 out nocopy JTF_DATE_TABLE
810     , p9_a19 out nocopy JTF_VARCHAR2_TABLE_100
811     , p9_a20 out nocopy JTF_VARCHAR2_TABLE_2000
812     , p9_a21 out nocopy JTF_DATE_TABLE
813     , p9_a22 out nocopy JTF_VARCHAR2_TABLE_100
814     , p9_a23 out nocopy JTF_VARCHAR2_TABLE_500
815     , p9_a24 out nocopy JTF_NUMBER_TABLE
816   )
817 
818   as
819     ddx_applicable_activities_tbl ahl_fmp_pvt.applicable_activities_tbl_type;
820     ddx_applicable_programs_tbl ahl_fmp_pvt.applicable_programs_tbl_type;
821     ddindx binary_integer; indx binary_integer;
822   begin
823 
824     -- copy data to the local IN or IN-OUT args, if any
825 
826 
827 
828 
829 
830 
831 
832 
833 
834 
835     -- here's the delegated call to the old PL/SQL routine
836     ahl_fmp_pvt.get_pm_applicable_mrs(p_api_version,
837       p_init_msg_list,
838       p_commit,
839       p_validation_level,
840       x_return_status,
841       x_msg_count,
842       x_msg_data,
843       p_item_instance_id,
844       ddx_applicable_activities_tbl,
845       ddx_applicable_programs_tbl);
846 
847     -- copy data back from the local variables to OUT or IN-OUT args, if any
848 
849 
850 
851 
852 
853 
854 
855 
856     ahl_fmp_pvt_w.rosetta_table_copy_out_p5(ddx_applicable_activities_tbl, p8_a0
857       , p8_a1
858       , p8_a2
859       , p8_a3
860       , p8_a4
861       , p8_a5
862       , p8_a6
863       , p8_a7
864       , p8_a8
865       , p8_a9
866       );
867 
868     ahl_fmp_pvt_w.rosetta_table_copy_out_p7(ddx_applicable_programs_tbl, p9_a0
869       , p9_a1
870       , p9_a2
871       , p9_a3
872       , p9_a4
873       , p9_a5
874       , p9_a6
875       , p9_a7
876       , p9_a8
877       , p9_a9
878       , p9_a10
879       , p9_a11
880       , p9_a12
881       , p9_a13
882       , p9_a14
883       , p9_a15
884       , p9_a16
885       , p9_a17
886       , p9_a18
887       , p9_a19
888       , p9_a20
889       , p9_a21
890       , p9_a22
891       , p9_a23
892       , p9_a24
893       );
894   end;
895 
896   procedure get_mr_applicability(p_api_version  NUMBER
897     , p_init_msg_list  VARCHAR2
898     , p_commit  VARCHAR2
899     , p_validation_level  NUMBER
900     , x_return_status out nocopy  VARCHAR2
901     , x_msg_count out nocopy  NUMBER
902     , x_msg_data out nocopy  VARCHAR2
903     , p_item_instance_id  NUMBER
904     , p_mr_header_id  NUMBER
905     , p_components_flag  VARCHAR2
906     , p_include_donotimplmt  VARCHAR2
907     , p11_a0 out nocopy JTF_NUMBER_TABLE
908     , p11_a1 out nocopy JTF_NUMBER_TABLE
909     , p11_a2 out nocopy JTF_NUMBER_TABLE
910     , p11_a3 out nocopy JTF_VARCHAR2_TABLE_100
911     , p11_a4 out nocopy JTF_VARCHAR2_TABLE_100
912     , p11_a5 out nocopy JTF_NUMBER_TABLE
913     , p11_a6 out nocopy JTF_VARCHAR2_TABLE_100
914     , p11_a7 out nocopy JTF_VARCHAR2_TABLE_100
915     , p11_a8 out nocopy JTF_NUMBER_TABLE
916     , p11_a9 out nocopy JTF_VARCHAR2_TABLE_100
917     , p11_a10 out nocopy JTF_NUMBER_TABLE
918     , p11_a11 out nocopy JTF_NUMBER_TABLE
919   )
920 
921   as
922     ddx_applicable_mr_tbl ahl_fmp_pvt.applicable_mr_tbl_type;
923     ddindx binary_integer; indx binary_integer;
924   begin
925 
926     -- copy data to the local IN or IN-OUT args, if any
927 
928 
929 
930 
931 
932 
933 
934 
935 
936 
937 
938 
939     -- here's the delegated call to the old PL/SQL routine
940     ahl_fmp_pvt.get_mr_applicability(p_api_version,
941       p_init_msg_list,
942       p_commit,
943       p_validation_level,
944       x_return_status,
945       x_msg_count,
946       x_msg_data,
947       p_item_instance_id,
948       p_mr_header_id,
949       p_components_flag,
950       p_include_donotimplmt,
951       ddx_applicable_mr_tbl);
952 
953     -- copy data back from the local variables to OUT or IN-OUT args, if any
954 
955 
956 
957 
958 
959 
960 
961 
962 
963 
964 
965     ahl_fmp_pvt_w.rosetta_table_copy_out_p3(ddx_applicable_mr_tbl, p11_a0
966       , p11_a1
967       , p11_a2
968       , p11_a3
969       , p11_a4
970       , p11_a5
971       , p11_a6
972       , p11_a7
973       , p11_a8
974       , p11_a9
975       , p11_a10
976       , p11_a11
977       );
978   end;
979 
980 end ahl_fmp_pvt_w;