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