DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_ENTITLEMENTS_PUB_W

Source


1 package body oks_entitlements_pub_w as
2   /* $Header: OKSWENTB.pls 120.3 2005/12/22 10:52 jvarghes noship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5 
6   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7   function rosetta_g_miss_date_in_map(d date) return date as
8   begin
9     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10     return d;
11   end;
12 
13   procedure rosetta_table_copy_in_p4(t out nocopy oks_entitlements_pub.apl_tbl_type, a0 JTF_NUMBER_TABLE
14     , a1 JTF_NUMBER_TABLE
15     , a2 JTF_NUMBER_TABLE
16     , a3 JTF_NUMBER_TABLE
17     , a4 JTF_NUMBER_TABLE
18     , a5 JTF_NUMBER_TABLE
19     , a6 JTF_NUMBER_TABLE
20     ) as
21     ddindx binary_integer; indx binary_integer;
22   begin
23   if a0 is not null and a0.count > 0 then
24       if a0.count > 0 then
25         indx := a0.first;
26         ddindx := 1;
27         while true loop
28           t(ddindx).charges_line_number := a0(indx);
29           t(ddindx).contract_line_id := a1(indx);
30           t(ddindx).coverage_id := a2(indx);
31           t(ddindx).txn_group_id := a3(indx);
32           t(ddindx).billing_type_id := a4(indx);
33           t(ddindx).charge_amount := a5(indx);
34           t(ddindx).discounted_amount := a6(indx);
35           ddindx := ddindx+1;
36           if a0.last =indx
37             then exit;
38           end if;
39           indx := a0.next(indx);
40         end loop;
41       end if;
42    end if;
43   end rosetta_table_copy_in_p4;
44   procedure rosetta_table_copy_out_p4(t oks_entitlements_pub.apl_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
45     , a1 out nocopy JTF_NUMBER_TABLE
46     , a2 out nocopy JTF_NUMBER_TABLE
47     , a3 out nocopy JTF_NUMBER_TABLE
48     , a4 out nocopy JTF_NUMBER_TABLE
49     , a5 out nocopy JTF_NUMBER_TABLE
50     , a6 out nocopy JTF_NUMBER_TABLE
51     ) as
52     ddindx binary_integer; indx binary_integer;
53   begin
54   if t is null or t.count = 0 then
55     a0 := JTF_NUMBER_TABLE();
56     a1 := JTF_NUMBER_TABLE();
57     a2 := JTF_NUMBER_TABLE();
58     a3 := JTF_NUMBER_TABLE();
59     a4 := JTF_NUMBER_TABLE();
60     a5 := JTF_NUMBER_TABLE();
61     a6 := JTF_NUMBER_TABLE();
62   else
63       a0 := JTF_NUMBER_TABLE();
64       a1 := JTF_NUMBER_TABLE();
65       a2 := JTF_NUMBER_TABLE();
66       a3 := JTF_NUMBER_TABLE();
67       a4 := JTF_NUMBER_TABLE();
68       a5 := JTF_NUMBER_TABLE();
69       a6 := JTF_NUMBER_TABLE();
70       if t.count > 0 then
71         a0.extend(t.count);
72         a1.extend(t.count);
73         a2.extend(t.count);
74         a3.extend(t.count);
75         a4.extend(t.count);
76         a5.extend(t.count);
77         a6.extend(t.count);
78         ddindx := t.first;
79         indx := 1;
80         while true loop
81           a0(indx) := t(ddindx).charges_line_number;
82           a1(indx) := t(ddindx).contract_line_id;
83           a2(indx) := t(ddindx).coverage_id;
84           a3(indx) := t(ddindx).txn_group_id;
85           a4(indx) := t(ddindx).billing_type_id;
86           a5(indx) := t(ddindx).charge_amount;
87           a6(indx) := t(ddindx).discounted_amount;
88           indx := indx+1;
89           if t.last =ddindx
90             then exit;
91           end if;
92           ddindx := t.next(ddindx);
93         end loop;
94       end if;
95    end if;
96   end rosetta_table_copy_out_p4;
97 
98   procedure rosetta_table_copy_in_p16(t out nocopy oks_entitlements_pub.hdr_tbl_type, a0 JTF_NUMBER_TABLE
99     , a1 JTF_NUMBER_TABLE
100     , a2 JTF_VARCHAR2_TABLE_200
101     , a3 JTF_VARCHAR2_TABLE_200
102     , a4 JTF_VARCHAR2_TABLE_600
103     , a5 JTF_NUMBER_TABLE
104     , a6 JTF_VARCHAR2_TABLE_100
105     , a7 JTF_VARCHAR2_TABLE_100
106     , a8 JTF_NUMBER_TABLE
107     , a9 JTF_VARCHAR2_TABLE_100
108     , a10 JTF_VARCHAR2_TABLE_200
109     , a11 JTF_NUMBER_TABLE
110     , a12 JTF_VARCHAR2_TABLE_100
111     , a13 JTF_DATE_TABLE
112     , a14 JTF_DATE_TABLE
113     , a15 JTF_NUMBER_TABLE
114     , a16 JTF_NUMBER_TABLE
115     , a17 JTF_NUMBER_TABLE
116     , a18 JTF_NUMBER_TABLE
117     , a19 JTF_NUMBER_TABLE
118     , a20 JTF_VARCHAR2_TABLE_100
119     , a21 JTF_NUMBER_TABLE
120     , a22 JTF_NUMBER_TABLE
121     , a23 JTF_NUMBER_TABLE
122     , a24 JTF_VARCHAR2_TABLE_200
123     , a25 JTF_NUMBER_TABLE
124     , a26 JTF_VARCHAR2_TABLE_100
125     , a27 JTF_VARCHAR2_TABLE_100
126     , a28 JTF_NUMBER_TABLE
127     , a29 JTF_DATE_TABLE
128     , a30 JTF_DATE_TABLE
129     , a31 JTF_NUMBER_TABLE
130     , a32 JTF_NUMBER_TABLE
131     , a33 JTF_CLOB_TABLE
132     , a34 JTF_CLOB_TABLE
133     , a35 JTF_VARCHAR2_TABLE_500
134     , a36 JTF_VARCHAR2_TABLE_500
135     , a37 JTF_VARCHAR2_TABLE_500
136     ) as
137     ddindx binary_integer; indx binary_integer;
138   begin
139   if a0 is not null and a0.count > 0 then
140       if a0.count > 0 then
141         indx := a0.first;
142         ddindx := 1;
143         while true loop
144           t(ddindx).org_id := a0(indx);
145           t(ddindx).contract_id := a1(indx);
146           t(ddindx).contract_number := a2(indx);
147           t(ddindx).contract_number_modifier := a3(indx);
148           t(ddindx).short_description := a4(indx);
149           t(ddindx).contract_amount := a5(indx);
150           t(ddindx).contract_status_code := a6(indx);
151           t(ddindx).contract_type := a7(indx);
152           t(ddindx).party_id := a8(indx);
153           t(ddindx).template_yn := a9(indx);
154           t(ddindx).template_used := a10(indx);
155           t(ddindx).duration := a11(indx);
156           t(ddindx).period_code := a12(indx);
157           t(ddindx).start_date_active := rosetta_g_miss_date_in_map(a13(indx));
158           t(ddindx).end_date_active := rosetta_g_miss_date_in_map(a14(indx));
159           t(ddindx).bill_to_site_use_id := a15(indx);
160           t(ddindx).ship_to_site_use_id := a16(indx);
161           t(ddindx).agreement_id := a17(indx);
162           t(ddindx).price_list_id := a18(indx);
163           t(ddindx).modifier := a19(indx);
164           t(ddindx).currency_code := a20(indx);
165           t(ddindx).accounting_rule_id := a21(indx);
166           t(ddindx).invoicing_rule_id := a22(indx);
167           t(ddindx).terms_id := a23(indx);
168           t(ddindx).po_number := a24(indx);
169           t(ddindx).billing_profile_id := a25(indx);
170           t(ddindx).billing_frequency := a26(indx);
171           t(ddindx).billing_method := a27(indx);
172           t(ddindx).regular_offset_days := a28(indx);
173           t(ddindx).first_bill_to := rosetta_g_miss_date_in_map(a29(indx));
174           t(ddindx).first_bill_on := rosetta_g_miss_date_in_map(a30(indx));
175           t(ddindx).auto_renew_before_days := a31(indx);
176           t(ddindx).qa_check_list_id := a32(indx);
177           t(ddindx).renewal_note := a33(indx);
178           t(ddindx).termination_note := a34(indx);
179           t(ddindx).tax_exemption := a35(indx);
180           t(ddindx).tax_status := a36(indx);
181           t(ddindx).conversion_type := a37(indx);
182           ddindx := ddindx+1;
183           if a0.last =indx
184             then exit;
185           end if;
186           indx := a0.next(indx);
187         end loop;
188       end if;
189    end if;
190   end rosetta_table_copy_in_p16;
191   procedure rosetta_table_copy_out_p16(t oks_entitlements_pub.hdr_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
192     , a1 out nocopy JTF_NUMBER_TABLE
193     , a2 out nocopy JTF_VARCHAR2_TABLE_200
194     , a3 out nocopy JTF_VARCHAR2_TABLE_200
195     , a4 out nocopy JTF_VARCHAR2_TABLE_600
196     , a5 out nocopy JTF_NUMBER_TABLE
197     , a6 out nocopy JTF_VARCHAR2_TABLE_100
198     , a7 out nocopy JTF_VARCHAR2_TABLE_100
199     , a8 out nocopy JTF_NUMBER_TABLE
200     , a9 out nocopy JTF_VARCHAR2_TABLE_100
201     , a10 out nocopy JTF_VARCHAR2_TABLE_200
202     , a11 out nocopy JTF_NUMBER_TABLE
203     , a12 out nocopy JTF_VARCHAR2_TABLE_100
204     , a13 out nocopy JTF_DATE_TABLE
205     , a14 out nocopy JTF_DATE_TABLE
206     , a15 out nocopy JTF_NUMBER_TABLE
207     , a16 out nocopy JTF_NUMBER_TABLE
208     , a17 out nocopy JTF_NUMBER_TABLE
209     , a18 out nocopy JTF_NUMBER_TABLE
210     , a19 out nocopy JTF_NUMBER_TABLE
211     , a20 out nocopy JTF_VARCHAR2_TABLE_100
212     , a21 out nocopy JTF_NUMBER_TABLE
213     , a22 out nocopy JTF_NUMBER_TABLE
214     , a23 out nocopy JTF_NUMBER_TABLE
215     , a24 out nocopy JTF_VARCHAR2_TABLE_200
216     , a25 out nocopy JTF_NUMBER_TABLE
217     , a26 out nocopy JTF_VARCHAR2_TABLE_100
218     , a27 out nocopy JTF_VARCHAR2_TABLE_100
219     , a28 out nocopy JTF_NUMBER_TABLE
220     , a29 out nocopy JTF_DATE_TABLE
221     , a30 out nocopy JTF_DATE_TABLE
222     , a31 out nocopy JTF_NUMBER_TABLE
223     , a32 out nocopy JTF_NUMBER_TABLE
224     , a33 out nocopy JTF_CLOB_TABLE
225     , a34 out nocopy JTF_CLOB_TABLE
226     , a35 out nocopy JTF_VARCHAR2_TABLE_500
227     , a36 out nocopy JTF_VARCHAR2_TABLE_500
228     , a37 out nocopy JTF_VARCHAR2_TABLE_500
229     ) as
230     ddindx binary_integer; indx binary_integer;
231   begin
232   if t is null or t.count = 0 then
233     a0 := JTF_NUMBER_TABLE();
234     a1 := JTF_NUMBER_TABLE();
235     a2 := JTF_VARCHAR2_TABLE_200();
236     a3 := JTF_VARCHAR2_TABLE_200();
237     a4 := JTF_VARCHAR2_TABLE_600();
238     a5 := JTF_NUMBER_TABLE();
239     a6 := JTF_VARCHAR2_TABLE_100();
240     a7 := JTF_VARCHAR2_TABLE_100();
241     a8 := JTF_NUMBER_TABLE();
242     a9 := JTF_VARCHAR2_TABLE_100();
243     a10 := JTF_VARCHAR2_TABLE_200();
244     a11 := JTF_NUMBER_TABLE();
245     a12 := JTF_VARCHAR2_TABLE_100();
246     a13 := JTF_DATE_TABLE();
247     a14 := JTF_DATE_TABLE();
248     a15 := JTF_NUMBER_TABLE();
249     a16 := JTF_NUMBER_TABLE();
250     a17 := JTF_NUMBER_TABLE();
251     a18 := JTF_NUMBER_TABLE();
252     a19 := JTF_NUMBER_TABLE();
253     a20 := JTF_VARCHAR2_TABLE_100();
254     a21 := JTF_NUMBER_TABLE();
255     a22 := JTF_NUMBER_TABLE();
256     a23 := JTF_NUMBER_TABLE();
257     a24 := JTF_VARCHAR2_TABLE_200();
258     a25 := JTF_NUMBER_TABLE();
259     a26 := JTF_VARCHAR2_TABLE_100();
260     a27 := JTF_VARCHAR2_TABLE_100();
261     a28 := JTF_NUMBER_TABLE();
262     a29 := JTF_DATE_TABLE();
263     a30 := JTF_DATE_TABLE();
264     a31 := JTF_NUMBER_TABLE();
265     a32 := JTF_NUMBER_TABLE();
266     a33 := JTF_CLOB_TABLE();
267     a34 := JTF_CLOB_TABLE();
268     a35 := JTF_VARCHAR2_TABLE_500();
269     a36 := JTF_VARCHAR2_TABLE_500();
270     a37 := JTF_VARCHAR2_TABLE_500();
271   else
272       a0 := JTF_NUMBER_TABLE();
273       a1 := JTF_NUMBER_TABLE();
274       a2 := JTF_VARCHAR2_TABLE_200();
275       a3 := JTF_VARCHAR2_TABLE_200();
276       a4 := JTF_VARCHAR2_TABLE_600();
277       a5 := JTF_NUMBER_TABLE();
278       a6 := JTF_VARCHAR2_TABLE_100();
279       a7 := JTF_VARCHAR2_TABLE_100();
280       a8 := JTF_NUMBER_TABLE();
281       a9 := JTF_VARCHAR2_TABLE_100();
282       a10 := JTF_VARCHAR2_TABLE_200();
283       a11 := JTF_NUMBER_TABLE();
284       a12 := JTF_VARCHAR2_TABLE_100();
285       a13 := JTF_DATE_TABLE();
286       a14 := JTF_DATE_TABLE();
287       a15 := JTF_NUMBER_TABLE();
288       a16 := JTF_NUMBER_TABLE();
289       a17 := JTF_NUMBER_TABLE();
290       a18 := JTF_NUMBER_TABLE();
291       a19 := JTF_NUMBER_TABLE();
292       a20 := JTF_VARCHAR2_TABLE_100();
293       a21 := JTF_NUMBER_TABLE();
294       a22 := JTF_NUMBER_TABLE();
295       a23 := JTF_NUMBER_TABLE();
296       a24 := JTF_VARCHAR2_TABLE_200();
297       a25 := JTF_NUMBER_TABLE();
298       a26 := JTF_VARCHAR2_TABLE_100();
299       a27 := JTF_VARCHAR2_TABLE_100();
300       a28 := JTF_NUMBER_TABLE();
301       a29 := JTF_DATE_TABLE();
302       a30 := JTF_DATE_TABLE();
303       a31 := JTF_NUMBER_TABLE();
304       a32 := JTF_NUMBER_TABLE();
305       a33 := JTF_CLOB_TABLE();
306       a34 := JTF_CLOB_TABLE();
307       a35 := JTF_VARCHAR2_TABLE_500();
308       a36 := JTF_VARCHAR2_TABLE_500();
309       a37 := JTF_VARCHAR2_TABLE_500();
310       if t.count > 0 then
311         a0.extend(t.count);
312         a1.extend(t.count);
313         a2.extend(t.count);
314         a3.extend(t.count);
315         a4.extend(t.count);
316         a5.extend(t.count);
317         a6.extend(t.count);
318         a7.extend(t.count);
319         a8.extend(t.count);
320         a9.extend(t.count);
321         a10.extend(t.count);
322         a11.extend(t.count);
323         a12.extend(t.count);
324         a13.extend(t.count);
325         a14.extend(t.count);
326         a15.extend(t.count);
327         a16.extend(t.count);
328         a17.extend(t.count);
329         a18.extend(t.count);
330         a19.extend(t.count);
331         a20.extend(t.count);
332         a21.extend(t.count);
333         a22.extend(t.count);
334         a23.extend(t.count);
335         a24.extend(t.count);
336         a25.extend(t.count);
337         a26.extend(t.count);
338         a27.extend(t.count);
339         a28.extend(t.count);
340         a29.extend(t.count);
341         a30.extend(t.count);
342         a31.extend(t.count);
343         a32.extend(t.count);
344         a33.extend(t.count);
345         a34.extend(t.count);
346         a35.extend(t.count);
347         a36.extend(t.count);
348         a37.extend(t.count);
349         ddindx := t.first;
350         indx := 1;
351         while true loop
352           a0(indx) := t(ddindx).org_id;
353           a1(indx) := t(ddindx).contract_id;
354           a2(indx) := t(ddindx).contract_number;
355           a3(indx) := t(ddindx).contract_number_modifier;
356           a4(indx) := t(ddindx).short_description;
357           a5(indx) := t(ddindx).contract_amount;
358           a6(indx) := t(ddindx).contract_status_code;
359           a7(indx) := t(ddindx).contract_type;
360           a8(indx) := t(ddindx).party_id;
361           a9(indx) := t(ddindx).template_yn;
362           a10(indx) := t(ddindx).template_used;
363           a11(indx) := t(ddindx).duration;
364           a12(indx) := t(ddindx).period_code;
365           a13(indx) := t(ddindx).start_date_active;
366           a14(indx) := t(ddindx).end_date_active;
367           a15(indx) := t(ddindx).bill_to_site_use_id;
368           a16(indx) := t(ddindx).ship_to_site_use_id;
369           a17(indx) := t(ddindx).agreement_id;
370           a18(indx) := t(ddindx).price_list_id;
371           a19(indx) := t(ddindx).modifier;
372           a20(indx) := t(ddindx).currency_code;
373           a21(indx) := t(ddindx).accounting_rule_id;
374           a22(indx) := t(ddindx).invoicing_rule_id;
375           a23(indx) := t(ddindx).terms_id;
376           a24(indx) := t(ddindx).po_number;
377           a25(indx) := t(ddindx).billing_profile_id;
378           a26(indx) := t(ddindx).billing_frequency;
379           a27(indx) := t(ddindx).billing_method;
380           a28(indx) := t(ddindx).regular_offset_days;
381           a29(indx) := t(ddindx).first_bill_to;
382           a30(indx) := t(ddindx).first_bill_on;
383           a31(indx) := t(ddindx).auto_renew_before_days;
384           a32(indx) := t(ddindx).qa_check_list_id;
385           a33(indx) := t(ddindx).renewal_note;
386           a34(indx) := t(ddindx).termination_note;
387           a35(indx) := t(ddindx).tax_exemption;
388           a36(indx) := t(ddindx).tax_status;
389           a37(indx) := t(ddindx).conversion_type;
390           indx := indx+1;
391           if t.last =ddindx
392             then exit;
393           end if;
394           ddindx := t.next(ddindx);
395         end loop;
396       end if;
397    end if;
398   end rosetta_table_copy_out_p16;
399 
400   procedure rosetta_table_copy_in_p19(t out nocopy oks_entitlements_pub.line_tbl_type, a0 JTF_NUMBER_TABLE
401     , a1 JTF_NUMBER_TABLE
402     , a2 JTF_NUMBER_TABLE
403     , a3 JTF_VARCHAR2_TABLE_100
404     , a4 JTF_NUMBER_TABLE
405     , a5 JTF_VARCHAR2_TABLE_100
406     , a6 JTF_DATE_TABLE
407     , a7 JTF_DATE_TABLE
408     , a8 JTF_VARCHAR2_TABLE_200
409     , a9 JTF_NUMBER_TABLE
410     , a10 JTF_NUMBER_TABLE
411     , a11 JTF_NUMBER_TABLE
412     , a12 JTF_NUMBER_TABLE
413     , a13 JTF_NUMBER_TABLE
414     , a14 JTF_NUMBER_TABLE
415     , a15 JTF_NUMBER_TABLE
416     , a16 JTF_VARCHAR2_TABLE_100
417     , a17 JTF_VARCHAR2_TABLE_100
418     , a18 JTF_NUMBER_TABLE
419     , a19 JTF_DATE_TABLE
420     , a20 JTF_DATE_TABLE
421     , a21 JTF_DATE_TABLE
422     ) as
423     ddindx binary_integer; indx binary_integer;
424   begin
425   if a0 is not null and a0.count > 0 then
426       if a0.count > 0 then
427         indx := a0.first;
428         ddindx := 1;
429         while true loop
430           t(ddindx).contract_line_id := a0(indx);
431           t(ddindx).contract_parent_line_id := a1(indx);
432           t(ddindx).contract_id := a2(indx);
433           t(ddindx).line_status_code := a3(indx);
434           t(ddindx).duration := a4(indx);
435           t(ddindx).period_code := a5(indx);
436           t(ddindx).start_date_active := rosetta_g_miss_date_in_map(a6(indx));
437           t(ddindx).end_date_active := rosetta_g_miss_date_in_map(a7(indx));
438           t(ddindx).line_name := a8(indx);
439           t(ddindx).bill_to_site_use_id := a9(indx);
440           t(ddindx).ship_to_site_use_id := a10(indx);
441           t(ddindx).agreement_id := a11(indx);
442           t(ddindx).modifier := a12(indx);
443           t(ddindx).price_list_id := a13(indx);
444           t(ddindx).price_negotiated := a14(indx);
445           t(ddindx).billing_profile_id := a15(indx);
446           t(ddindx).billing_frequency := a16(indx);
447           t(ddindx).billing_method := a17(indx);
448           t(ddindx).regular_offset_days := a18(indx);
449           t(ddindx).first_bill_to := rosetta_g_miss_date_in_map(a19(indx));
450           t(ddindx).first_bill_on := rosetta_g_miss_date_in_map(a20(indx));
451           t(ddindx).termination_date := rosetta_g_miss_date_in_map(a21(indx));
452           ddindx := ddindx+1;
453           if a0.last =indx
454             then exit;
455           end if;
456           indx := a0.next(indx);
457         end loop;
458       end if;
459    end if;
460   end rosetta_table_copy_in_p19;
461   procedure rosetta_table_copy_out_p19(t oks_entitlements_pub.line_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
462     , a1 out nocopy JTF_NUMBER_TABLE
463     , a2 out nocopy JTF_NUMBER_TABLE
464     , a3 out nocopy JTF_VARCHAR2_TABLE_100
465     , a4 out nocopy JTF_NUMBER_TABLE
466     , a5 out nocopy JTF_VARCHAR2_TABLE_100
467     , a6 out nocopy JTF_DATE_TABLE
468     , a7 out nocopy JTF_DATE_TABLE
469     , a8 out nocopy JTF_VARCHAR2_TABLE_200
470     , a9 out nocopy JTF_NUMBER_TABLE
471     , a10 out nocopy JTF_NUMBER_TABLE
472     , a11 out nocopy JTF_NUMBER_TABLE
473     , a12 out nocopy JTF_NUMBER_TABLE
474     , a13 out nocopy JTF_NUMBER_TABLE
475     , a14 out nocopy JTF_NUMBER_TABLE
476     , a15 out nocopy JTF_NUMBER_TABLE
477     , a16 out nocopy JTF_VARCHAR2_TABLE_100
478     , a17 out nocopy JTF_VARCHAR2_TABLE_100
479     , a18 out nocopy JTF_NUMBER_TABLE
480     , a19 out nocopy JTF_DATE_TABLE
481     , a20 out nocopy JTF_DATE_TABLE
482     , a21 out nocopy JTF_DATE_TABLE
483     ) as
484     ddindx binary_integer; indx binary_integer;
485   begin
486   if t is null or t.count = 0 then
487     a0 := JTF_NUMBER_TABLE();
488     a1 := JTF_NUMBER_TABLE();
489     a2 := JTF_NUMBER_TABLE();
490     a3 := JTF_VARCHAR2_TABLE_100();
491     a4 := JTF_NUMBER_TABLE();
492     a5 := JTF_VARCHAR2_TABLE_100();
493     a6 := JTF_DATE_TABLE();
494     a7 := JTF_DATE_TABLE();
495     a8 := JTF_VARCHAR2_TABLE_200();
496     a9 := JTF_NUMBER_TABLE();
497     a10 := JTF_NUMBER_TABLE();
498     a11 := JTF_NUMBER_TABLE();
499     a12 := JTF_NUMBER_TABLE();
500     a13 := JTF_NUMBER_TABLE();
501     a14 := JTF_NUMBER_TABLE();
502     a15 := JTF_NUMBER_TABLE();
503     a16 := JTF_VARCHAR2_TABLE_100();
504     a17 := JTF_VARCHAR2_TABLE_100();
505     a18 := JTF_NUMBER_TABLE();
506     a19 := JTF_DATE_TABLE();
507     a20 := JTF_DATE_TABLE();
508     a21 := JTF_DATE_TABLE();
509   else
510       a0 := JTF_NUMBER_TABLE();
511       a1 := JTF_NUMBER_TABLE();
512       a2 := JTF_NUMBER_TABLE();
513       a3 := JTF_VARCHAR2_TABLE_100();
514       a4 := JTF_NUMBER_TABLE();
515       a5 := JTF_VARCHAR2_TABLE_100();
516       a6 := JTF_DATE_TABLE();
517       a7 := JTF_DATE_TABLE();
518       a8 := JTF_VARCHAR2_TABLE_200();
519       a9 := JTF_NUMBER_TABLE();
520       a10 := JTF_NUMBER_TABLE();
521       a11 := JTF_NUMBER_TABLE();
522       a12 := JTF_NUMBER_TABLE();
523       a13 := JTF_NUMBER_TABLE();
524       a14 := JTF_NUMBER_TABLE();
525       a15 := JTF_NUMBER_TABLE();
526       a16 := JTF_VARCHAR2_TABLE_100();
527       a17 := JTF_VARCHAR2_TABLE_100();
528       a18 := JTF_NUMBER_TABLE();
529       a19 := JTF_DATE_TABLE();
530       a20 := JTF_DATE_TABLE();
531       a21 := JTF_DATE_TABLE();
532       if t.count > 0 then
533         a0.extend(t.count);
534         a1.extend(t.count);
535         a2.extend(t.count);
536         a3.extend(t.count);
537         a4.extend(t.count);
538         a5.extend(t.count);
539         a6.extend(t.count);
540         a7.extend(t.count);
541         a8.extend(t.count);
542         a9.extend(t.count);
543         a10.extend(t.count);
544         a11.extend(t.count);
545         a12.extend(t.count);
546         a13.extend(t.count);
547         a14.extend(t.count);
548         a15.extend(t.count);
549         a16.extend(t.count);
550         a17.extend(t.count);
551         a18.extend(t.count);
552         a19.extend(t.count);
553         a20.extend(t.count);
554         a21.extend(t.count);
555         ddindx := t.first;
556         indx := 1;
557         while true loop
558           a0(indx) := t(ddindx).contract_line_id;
559           a1(indx) := t(ddindx).contract_parent_line_id;
560           a2(indx) := t(ddindx).contract_id;
561           a3(indx) := t(ddindx).line_status_code;
562           a4(indx) := t(ddindx).duration;
563           a5(indx) := t(ddindx).period_code;
564           a6(indx) := t(ddindx).start_date_active;
565           a7(indx) := t(ddindx).end_date_active;
566           a8(indx) := t(ddindx).line_name;
567           a9(indx) := t(ddindx).bill_to_site_use_id;
568           a10(indx) := t(ddindx).ship_to_site_use_id;
569           a11(indx) := t(ddindx).agreement_id;
570           a12(indx) := t(ddindx).modifier;
571           a13(indx) := t(ddindx).price_list_id;
572           a14(indx) := t(ddindx).price_negotiated;
573           a15(indx) := t(ddindx).billing_profile_id;
574           a16(indx) := t(ddindx).billing_frequency;
575           a17(indx) := t(ddindx).billing_method;
576           a18(indx) := t(ddindx).regular_offset_days;
577           a19(indx) := t(ddindx).first_bill_to;
578           a20(indx) := t(ddindx).first_bill_on;
579           a21(indx) := t(ddindx).termination_date;
580           indx := indx+1;
581           if t.last =ddindx
582             then exit;
583           end if;
584           ddindx := t.next(ddindx);
585         end loop;
586       end if;
587    end if;
588   end rosetta_table_copy_out_p19;
589 
590   procedure rosetta_table_copy_in_p22(t out nocopy oks_entitlements_pub.clvl_tbl_type, a0 JTF_VARCHAR2_TABLE_100
591     , a1 JTF_NUMBER_TABLE
592     , a2 JTF_NUMBER_TABLE
593     , a3 JTF_NUMBER_TABLE
594     , a4 JTF_VARCHAR2_TABLE_200
595     , a5 JTF_NUMBER_TABLE
596     , a6 JTF_VARCHAR2_TABLE_300
597     , a7 JTF_NUMBER_TABLE
598     , a8 JTF_VARCHAR2_TABLE_300
599     , a9 JTF_NUMBER_TABLE
600     , a10 JTF_VARCHAR2_TABLE_300
601     , a11 JTF_NUMBER_TABLE
602     , a12 JTF_VARCHAR2_TABLE_300
603     , a13 JTF_NUMBER_TABLE
604     , a14 JTF_VARCHAR2_TABLE_300
605     , a15 JTF_NUMBER_TABLE
606     , a16 JTF_VARCHAR2_TABLE_500
607     , a17 JTF_NUMBER_TABLE
608     , a18 JTF_NUMBER_TABLE
609     , a19 JTF_NUMBER_TABLE
610     , a20 JTF_VARCHAR2_TABLE_200
611     , a21 JTF_VARCHAR2_TABLE_100
612     , a22 JTF_NUMBER_TABLE
613     , a23 JTF_VARCHAR2_TABLE_100
614     , a24 JTF_NUMBER_TABLE
615     , a25 JTF_VARCHAR2_TABLE_100
616     , a26 JTF_NUMBER_TABLE
617     , a27 JTF_VARCHAR2_TABLE_100
618     , a28 JTF_NUMBER_TABLE
619     , a29 JTF_VARCHAR2_TABLE_100
620     , a30 JTF_NUMBER_TABLE
621     , a31 JTF_VARCHAR2_TABLE_100
622     , a32 JTF_NUMBER_TABLE
623     , a33 JTF_VARCHAR2_TABLE_100
624     , a34 JTF_VARCHAR2_TABLE_100
625     ) as
626     ddindx binary_integer; indx binary_integer;
627   begin
628   if a0 is not null and a0.count > 0 then
629       if a0.count > 0 then
630         indx := a0.first;
631         ddindx := 1;
632         while true loop
633           t(ddindx).row_id := a0(indx);
634           t(ddindx).line_id := a1(indx);
635           t(ddindx).header_id := a2(indx);
636           t(ddindx).parent_line_id := a3(indx);
637           t(ddindx).line_level := a4(indx);
638           t(ddindx).cp_id := a5(indx);
639           t(ddindx).cp_name := a6(indx);
640           t(ddindx).inv_item_id := a7(indx);
641           t(ddindx).item_name := a8(indx);
642           t(ddindx).site_id := a9(indx);
643           t(ddindx).site_name := a10(indx);
644           t(ddindx).system_id := a11(indx);
645           t(ddindx).system_name := a12(indx);
646           t(ddindx).customer_id := a13(indx);
647           t(ddindx).customer_name := a14(indx);
648           t(ddindx).party_id := a15(indx);
649           t(ddindx).party_name := a16(indx);
650           t(ddindx).quantity := a17(indx);
651           t(ddindx).list_price := a18(indx);
652           t(ddindx).price_negotiated := a19(indx);
653           t(ddindx).line_name := a20(indx);
654           t(ddindx).default_amcv_flag := a21(indx);
655           t(ddindx).default_qty := a22(indx);
656           t(ddindx).default_uom := a23(indx);
657           t(ddindx).default_duration := a24(indx);
658           t(ddindx).default_period := a25(indx);
659           t(ddindx).minimum_qty := a26(indx);
660           t(ddindx).minimum_uom := a27(indx);
661           t(ddindx).minimum_duration := a28(indx);
662           t(ddindx).minimum_period := a29(indx);
663           t(ddindx).fixed_qty := a30(indx);
664           t(ddindx).fixed_uom := a31(indx);
665           t(ddindx).fixed_duration := a32(indx);
666           t(ddindx).fixed_period := a33(indx);
667           t(ddindx).level_flag := a34(indx);
668           ddindx := ddindx+1;
669           if a0.last =indx
670             then exit;
671           end if;
672           indx := a0.next(indx);
673         end loop;
674       end if;
675    end if;
676   end rosetta_table_copy_in_p22;
677   procedure rosetta_table_copy_out_p22(t oks_entitlements_pub.clvl_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
678     , a1 out nocopy JTF_NUMBER_TABLE
679     , a2 out nocopy JTF_NUMBER_TABLE
680     , a3 out nocopy JTF_NUMBER_TABLE
681     , a4 out nocopy JTF_VARCHAR2_TABLE_200
682     , a5 out nocopy JTF_NUMBER_TABLE
683     , a6 out nocopy JTF_VARCHAR2_TABLE_300
684     , a7 out nocopy JTF_NUMBER_TABLE
685     , a8 out nocopy JTF_VARCHAR2_TABLE_300
686     , a9 out nocopy JTF_NUMBER_TABLE
687     , a10 out nocopy JTF_VARCHAR2_TABLE_300
688     , a11 out nocopy JTF_NUMBER_TABLE
689     , a12 out nocopy JTF_VARCHAR2_TABLE_300
690     , a13 out nocopy JTF_NUMBER_TABLE
691     , a14 out nocopy JTF_VARCHAR2_TABLE_300
692     , a15 out nocopy JTF_NUMBER_TABLE
693     , a16 out nocopy JTF_VARCHAR2_TABLE_500
694     , a17 out nocopy JTF_NUMBER_TABLE
695     , a18 out nocopy JTF_NUMBER_TABLE
696     , a19 out nocopy JTF_NUMBER_TABLE
697     , a20 out nocopy JTF_VARCHAR2_TABLE_200
698     , a21 out nocopy JTF_VARCHAR2_TABLE_100
699     , a22 out nocopy JTF_NUMBER_TABLE
700     , a23 out nocopy JTF_VARCHAR2_TABLE_100
701     , a24 out nocopy JTF_NUMBER_TABLE
702     , a25 out nocopy JTF_VARCHAR2_TABLE_100
703     , a26 out nocopy JTF_NUMBER_TABLE
704     , a27 out nocopy JTF_VARCHAR2_TABLE_100
705     , a28 out nocopy JTF_NUMBER_TABLE
706     , a29 out nocopy JTF_VARCHAR2_TABLE_100
707     , a30 out nocopy JTF_NUMBER_TABLE
708     , a31 out nocopy JTF_VARCHAR2_TABLE_100
709     , a32 out nocopy JTF_NUMBER_TABLE
710     , a33 out nocopy JTF_VARCHAR2_TABLE_100
711     , a34 out nocopy JTF_VARCHAR2_TABLE_100
712     ) as
713     ddindx binary_integer; indx binary_integer;
714   begin
715   if t is null or t.count = 0 then
716     a0 := JTF_VARCHAR2_TABLE_100();
717     a1 := JTF_NUMBER_TABLE();
718     a2 := JTF_NUMBER_TABLE();
719     a3 := JTF_NUMBER_TABLE();
720     a4 := JTF_VARCHAR2_TABLE_200();
721     a5 := JTF_NUMBER_TABLE();
722     a6 := JTF_VARCHAR2_TABLE_300();
723     a7 := JTF_NUMBER_TABLE();
724     a8 := JTF_VARCHAR2_TABLE_300();
725     a9 := JTF_NUMBER_TABLE();
726     a10 := JTF_VARCHAR2_TABLE_300();
727     a11 := JTF_NUMBER_TABLE();
728     a12 := JTF_VARCHAR2_TABLE_300();
729     a13 := JTF_NUMBER_TABLE();
730     a14 := JTF_VARCHAR2_TABLE_300();
731     a15 := JTF_NUMBER_TABLE();
732     a16 := JTF_VARCHAR2_TABLE_500();
733     a17 := JTF_NUMBER_TABLE();
734     a18 := JTF_NUMBER_TABLE();
735     a19 := JTF_NUMBER_TABLE();
736     a20 := JTF_VARCHAR2_TABLE_200();
737     a21 := JTF_VARCHAR2_TABLE_100();
738     a22 := JTF_NUMBER_TABLE();
739     a23 := JTF_VARCHAR2_TABLE_100();
740     a24 := JTF_NUMBER_TABLE();
741     a25 := JTF_VARCHAR2_TABLE_100();
742     a26 := JTF_NUMBER_TABLE();
743     a27 := JTF_VARCHAR2_TABLE_100();
744     a28 := JTF_NUMBER_TABLE();
745     a29 := JTF_VARCHAR2_TABLE_100();
746     a30 := JTF_NUMBER_TABLE();
747     a31 := JTF_VARCHAR2_TABLE_100();
748     a32 := JTF_NUMBER_TABLE();
749     a33 := JTF_VARCHAR2_TABLE_100();
750     a34 := JTF_VARCHAR2_TABLE_100();
751   else
752       a0 := JTF_VARCHAR2_TABLE_100();
753       a1 := JTF_NUMBER_TABLE();
754       a2 := JTF_NUMBER_TABLE();
755       a3 := JTF_NUMBER_TABLE();
756       a4 := JTF_VARCHAR2_TABLE_200();
757       a5 := JTF_NUMBER_TABLE();
758       a6 := JTF_VARCHAR2_TABLE_300();
759       a7 := JTF_NUMBER_TABLE();
760       a8 := JTF_VARCHAR2_TABLE_300();
761       a9 := JTF_NUMBER_TABLE();
762       a10 := JTF_VARCHAR2_TABLE_300();
763       a11 := JTF_NUMBER_TABLE();
764       a12 := JTF_VARCHAR2_TABLE_300();
765       a13 := JTF_NUMBER_TABLE();
766       a14 := JTF_VARCHAR2_TABLE_300();
767       a15 := JTF_NUMBER_TABLE();
768       a16 := JTF_VARCHAR2_TABLE_500();
769       a17 := JTF_NUMBER_TABLE();
770       a18 := JTF_NUMBER_TABLE();
771       a19 := JTF_NUMBER_TABLE();
772       a20 := JTF_VARCHAR2_TABLE_200();
773       a21 := JTF_VARCHAR2_TABLE_100();
774       a22 := JTF_NUMBER_TABLE();
775       a23 := JTF_VARCHAR2_TABLE_100();
776       a24 := JTF_NUMBER_TABLE();
777       a25 := JTF_VARCHAR2_TABLE_100();
778       a26 := JTF_NUMBER_TABLE();
779       a27 := JTF_VARCHAR2_TABLE_100();
780       a28 := JTF_NUMBER_TABLE();
781       a29 := JTF_VARCHAR2_TABLE_100();
782       a30 := JTF_NUMBER_TABLE();
783       a31 := JTF_VARCHAR2_TABLE_100();
784       a32 := JTF_NUMBER_TABLE();
785       a33 := JTF_VARCHAR2_TABLE_100();
786       a34 := JTF_VARCHAR2_TABLE_100();
787       if t.count > 0 then
788         a0.extend(t.count);
789         a1.extend(t.count);
790         a2.extend(t.count);
791         a3.extend(t.count);
792         a4.extend(t.count);
793         a5.extend(t.count);
794         a6.extend(t.count);
795         a7.extend(t.count);
796         a8.extend(t.count);
797         a9.extend(t.count);
798         a10.extend(t.count);
799         a11.extend(t.count);
800         a12.extend(t.count);
801         a13.extend(t.count);
802         a14.extend(t.count);
803         a15.extend(t.count);
804         a16.extend(t.count);
805         a17.extend(t.count);
806         a18.extend(t.count);
807         a19.extend(t.count);
808         a20.extend(t.count);
809         a21.extend(t.count);
810         a22.extend(t.count);
811         a23.extend(t.count);
812         a24.extend(t.count);
813         a25.extend(t.count);
814         a26.extend(t.count);
815         a27.extend(t.count);
816         a28.extend(t.count);
817         a29.extend(t.count);
818         a30.extend(t.count);
819         a31.extend(t.count);
820         a32.extend(t.count);
821         a33.extend(t.count);
822         a34.extend(t.count);
823         ddindx := t.first;
824         indx := 1;
825         while true loop
826           a0(indx) := t(ddindx).row_id;
827           a1(indx) := t(ddindx).line_id;
828           a2(indx) := t(ddindx).header_id;
829           a3(indx) := t(ddindx).parent_line_id;
830           a4(indx) := t(ddindx).line_level;
831           a5(indx) := t(ddindx).cp_id;
832           a6(indx) := t(ddindx).cp_name;
833           a7(indx) := t(ddindx).inv_item_id;
834           a8(indx) := t(ddindx).item_name;
835           a9(indx) := t(ddindx).site_id;
836           a10(indx) := t(ddindx).site_name;
837           a11(indx) := t(ddindx).system_id;
838           a12(indx) := t(ddindx).system_name;
839           a13(indx) := t(ddindx).customer_id;
840           a14(indx) := t(ddindx).customer_name;
841           a15(indx) := t(ddindx).party_id;
842           a16(indx) := t(ddindx).party_name;
843           a17(indx) := t(ddindx).quantity;
844           a18(indx) := t(ddindx).list_price;
845           a19(indx) := t(ddindx).price_negotiated;
846           a20(indx) := t(ddindx).line_name;
847           a21(indx) := t(ddindx).default_amcv_flag;
848           a22(indx) := t(ddindx).default_qty;
849           a23(indx) := t(ddindx).default_uom;
850           a24(indx) := t(ddindx).default_duration;
851           a25(indx) := t(ddindx).default_period;
852           a26(indx) := t(ddindx).minimum_qty;
853           a27(indx) := t(ddindx).minimum_uom;
854           a28(indx) := t(ddindx).minimum_duration;
855           a29(indx) := t(ddindx).minimum_period;
856           a30(indx) := t(ddindx).fixed_qty;
857           a31(indx) := t(ddindx).fixed_uom;
858           a32(indx) := t(ddindx).fixed_duration;
859           a33(indx) := t(ddindx).fixed_period;
860           a34(indx) := t(ddindx).level_flag;
861           indx := indx+1;
862           if t.last =ddindx
863             then exit;
864           end if;
865           ddindx := t.next(ddindx);
866         end loop;
867       end if;
868    end if;
869   end rosetta_table_copy_out_p22;
870 
871   procedure rosetta_table_copy_in_p26(t out nocopy oks_entitlements_pub.ent_cont_tbl, a0 JTF_NUMBER_TABLE
872     , a1 JTF_VARCHAR2_TABLE_200
873     , a2 JTF_VARCHAR2_TABLE_200
874     , a3 JTF_NUMBER_TABLE
875     , a4 JTF_VARCHAR2_TABLE_300
876     , a5 JTF_VARCHAR2_TABLE_300
877     , a6 JTF_NUMBER_TABLE
878     , a7 JTF_VARCHAR2_TABLE_200
879     , a8 JTF_VARCHAR2_TABLE_2000
880     , a9 JTF_VARCHAR2_TABLE_100
881     , a10 JTF_VARCHAR2_TABLE_100
882     , a11 JTF_NUMBER_TABLE
883     , a12 JTF_NUMBER_TABLE
884     , a13 JTF_VARCHAR2_TABLE_200
885     , a14 JTF_VARCHAR2_TABLE_100
886     , a15 JTF_DATE_TABLE
887     , a16 JTF_DATE_TABLE
888     , a17 JTF_NUMBER_TABLE
889     , a18 JTF_VARCHAR2_TABLE_100
890     , a19 JTF_VARCHAR2_TABLE_100
891     ) as
892     ddindx binary_integer; indx binary_integer;
893   begin
894   if a0 is not null and a0.count > 0 then
895       if a0.count > 0 then
896         indx := a0.first;
897         ddindx := 1;
898         while true loop
899           t(ddindx).contract_id := a0(indx);
900           t(ddindx).contract_number := a1(indx);
901           t(ddindx).contract_number_modifier := a2(indx);
902           t(ddindx).service_line_id := a3(indx);
903           t(ddindx).service_name := a4(indx);
904           t(ddindx).service_description := a5(indx);
905           t(ddindx).coverage_term_line_id := a6(indx);
906           t(ddindx).coverage_term_name := a7(indx);
907           t(ddindx).coverage_term_description := a8(indx);
908           t(ddindx).coverage_type_code := a9(indx);
909           t(ddindx).coverage_type_meaning := a10(indx);
910           t(ddindx).coverage_type_imp_level := a11(indx);
911           t(ddindx).coverage_level_line_id := a12(indx);
912           t(ddindx).coverage_level := a13(indx);
913           t(ddindx).coverage_level_code := a14(indx);
914           t(ddindx).coverage_level_start_date := rosetta_g_miss_date_in_map(a15(indx));
915           t(ddindx).coverage_level_end_date := rosetta_g_miss_date_in_map(a16(indx));
916           t(ddindx).coverage_level_id := a17(indx);
917           t(ddindx).warranty_flag := a18(indx);
918           t(ddindx).eligible_for_entitlement := a19(indx);
919           ddindx := ddindx+1;
920           if a0.last =indx
921             then exit;
922           end if;
923           indx := a0.next(indx);
924         end loop;
925       end if;
926    end if;
927   end rosetta_table_copy_in_p26;
928   procedure rosetta_table_copy_out_p26(t oks_entitlements_pub.ent_cont_tbl, a0 out nocopy JTF_NUMBER_TABLE
929     , a1 out nocopy JTF_VARCHAR2_TABLE_200
930     , a2 out nocopy JTF_VARCHAR2_TABLE_200
931     , a3 out nocopy JTF_NUMBER_TABLE
932     , a4 out nocopy JTF_VARCHAR2_TABLE_300
933     , a5 out nocopy JTF_VARCHAR2_TABLE_300
934     , a6 out nocopy JTF_NUMBER_TABLE
935     , a7 out nocopy JTF_VARCHAR2_TABLE_200
936     , a8 out nocopy JTF_VARCHAR2_TABLE_2000
937     , a9 out nocopy JTF_VARCHAR2_TABLE_100
938     , a10 out nocopy JTF_VARCHAR2_TABLE_100
939     , a11 out nocopy JTF_NUMBER_TABLE
940     , a12 out nocopy JTF_NUMBER_TABLE
941     , a13 out nocopy JTF_VARCHAR2_TABLE_200
942     , a14 out nocopy JTF_VARCHAR2_TABLE_100
943     , a15 out nocopy JTF_DATE_TABLE
944     , a16 out nocopy JTF_DATE_TABLE
945     , a17 out nocopy JTF_NUMBER_TABLE
946     , a18 out nocopy JTF_VARCHAR2_TABLE_100
947     , a19 out nocopy JTF_VARCHAR2_TABLE_100
948     ) as
949     ddindx binary_integer; indx binary_integer;
950   begin
951   if t is null or t.count = 0 then
952     a0 := JTF_NUMBER_TABLE();
953     a1 := JTF_VARCHAR2_TABLE_200();
954     a2 := JTF_VARCHAR2_TABLE_200();
955     a3 := JTF_NUMBER_TABLE();
956     a4 := JTF_VARCHAR2_TABLE_300();
957     a5 := JTF_VARCHAR2_TABLE_300();
958     a6 := JTF_NUMBER_TABLE();
959     a7 := JTF_VARCHAR2_TABLE_200();
960     a8 := JTF_VARCHAR2_TABLE_2000();
961     a9 := JTF_VARCHAR2_TABLE_100();
962     a10 := JTF_VARCHAR2_TABLE_100();
963     a11 := JTF_NUMBER_TABLE();
964     a12 := JTF_NUMBER_TABLE();
965     a13 := JTF_VARCHAR2_TABLE_200();
966     a14 := JTF_VARCHAR2_TABLE_100();
967     a15 := JTF_DATE_TABLE();
968     a16 := JTF_DATE_TABLE();
969     a17 := JTF_NUMBER_TABLE();
970     a18 := JTF_VARCHAR2_TABLE_100();
971     a19 := JTF_VARCHAR2_TABLE_100();
972   else
973       a0 := JTF_NUMBER_TABLE();
974       a1 := JTF_VARCHAR2_TABLE_200();
975       a2 := JTF_VARCHAR2_TABLE_200();
976       a3 := JTF_NUMBER_TABLE();
977       a4 := JTF_VARCHAR2_TABLE_300();
978       a5 := JTF_VARCHAR2_TABLE_300();
979       a6 := JTF_NUMBER_TABLE();
980       a7 := JTF_VARCHAR2_TABLE_200();
981       a8 := JTF_VARCHAR2_TABLE_2000();
982       a9 := JTF_VARCHAR2_TABLE_100();
983       a10 := JTF_VARCHAR2_TABLE_100();
984       a11 := JTF_NUMBER_TABLE();
985       a12 := JTF_NUMBER_TABLE();
986       a13 := JTF_VARCHAR2_TABLE_200();
987       a14 := JTF_VARCHAR2_TABLE_100();
988       a15 := JTF_DATE_TABLE();
989       a16 := JTF_DATE_TABLE();
990       a17 := JTF_NUMBER_TABLE();
991       a18 := JTF_VARCHAR2_TABLE_100();
992       a19 := JTF_VARCHAR2_TABLE_100();
993       if t.count > 0 then
994         a0.extend(t.count);
995         a1.extend(t.count);
996         a2.extend(t.count);
997         a3.extend(t.count);
998         a4.extend(t.count);
999         a5.extend(t.count);
1000         a6.extend(t.count);
1001         a7.extend(t.count);
1002         a8.extend(t.count);
1003         a9.extend(t.count);
1004         a10.extend(t.count);
1005         a11.extend(t.count);
1006         a12.extend(t.count);
1007         a13.extend(t.count);
1008         a14.extend(t.count);
1009         a15.extend(t.count);
1010         a16.extend(t.count);
1011         a17.extend(t.count);
1012         a18.extend(t.count);
1013         a19.extend(t.count);
1014         ddindx := t.first;
1015         indx := 1;
1016         while true loop
1017           a0(indx) := t(ddindx).contract_id;
1018           a1(indx) := t(ddindx).contract_number;
1019           a2(indx) := t(ddindx).contract_number_modifier;
1020           a3(indx) := t(ddindx).service_line_id;
1021           a4(indx) := t(ddindx).service_name;
1022           a5(indx) := t(ddindx).service_description;
1023           a6(indx) := t(ddindx).coverage_term_line_id;
1024           a7(indx) := t(ddindx).coverage_term_name;
1025           a8(indx) := t(ddindx).coverage_term_description;
1026           a9(indx) := t(ddindx).coverage_type_code;
1027           a10(indx) := t(ddindx).coverage_type_meaning;
1028           a11(indx) := t(ddindx).coverage_type_imp_level;
1029           a12(indx) := t(ddindx).coverage_level_line_id;
1030           a13(indx) := t(ddindx).coverage_level;
1031           a14(indx) := t(ddindx).coverage_level_code;
1032           a15(indx) := t(ddindx).coverage_level_start_date;
1033           a16(indx) := t(ddindx).coverage_level_end_date;
1034           a17(indx) := t(ddindx).coverage_level_id;
1035           a18(indx) := t(ddindx).warranty_flag;
1036           a19(indx) := t(ddindx).eligible_for_entitlement;
1037           indx := indx+1;
1038           if t.last =ddindx
1039             then exit;
1040           end if;
1041           ddindx := t.next(ddindx);
1042         end loop;
1043       end if;
1044    end if;
1045   end rosetta_table_copy_out_p26;
1046 
1047   procedure rosetta_table_copy_in_p30(t out nocopy oks_entitlements_pub.get_contop_tbl, a0 JTF_NUMBER_TABLE
1048     , a1 JTF_VARCHAR2_TABLE_200
1049     , a2 JTF_VARCHAR2_TABLE_200
1050     , a3 JTF_VARCHAR2_TABLE_100
1051     , a4 JTF_NUMBER_TABLE
1052     , a5 JTF_VARCHAR2_TABLE_300
1053     , a6 JTF_VARCHAR2_TABLE_300
1054     , a7 JTF_NUMBER_TABLE
1055     , a8 JTF_VARCHAR2_TABLE_200
1056     , a9 JTF_VARCHAR2_TABLE_2000
1057     , a10 JTF_VARCHAR2_TABLE_100
1058     , a11 JTF_VARCHAR2_TABLE_100
1059     , a12 JTF_NUMBER_TABLE
1060     , a13 JTF_DATE_TABLE
1061     , a14 JTF_DATE_TABLE
1062     , a15 JTF_VARCHAR2_TABLE_100
1063     , a16 JTF_VARCHAR2_TABLE_100
1064     , a17 JTF_DATE_TABLE
1065     , a18 JTF_DATE_TABLE
1066     , a19 JTF_VARCHAR2_TABLE_100
1067     , a20 JTF_VARCHAR2_TABLE_2000
1068     , a21 JTF_DATE_TABLE
1069     , a22 JTF_VARCHAR2_TABLE_100
1070     , a23 JTF_VARCHAR2_TABLE_500
1071     , a24 JTF_VARCHAR2_TABLE_100
1072     , a25 JTF_VARCHAR2_TABLE_500
1073     , a26 JTF_VARCHAR2_TABLE_100
1074     , a27 JTF_NUMBER_TABLE
1075     ) as
1076     ddindx binary_integer; indx binary_integer;
1077   begin
1078   if a0 is not null and a0.count > 0 then
1079       if a0.count > 0 then
1080         indx := a0.first;
1081         ddindx := 1;
1082         while true loop
1083           t(ddindx).contract_id := a0(indx);
1084           t(ddindx).contract_number := a1(indx);
1085           t(ddindx).contract_number_modifier := a2(indx);
1086           t(ddindx).sts_code := a3(indx);
1087           t(ddindx).service_line_id := a4(indx);
1088           t(ddindx).service_name := a5(indx);
1089           t(ddindx).service_description := a6(indx);
1090           t(ddindx).coverage_term_line_id := a7(indx);
1091           t(ddindx).coverage_term_name := a8(indx);
1092           t(ddindx).coverage_term_description := a9(indx);
1093           t(ddindx).coverage_type_code := a10(indx);
1094           t(ddindx).coverage_type_meaning := a11(indx);
1095           t(ddindx).coverage_type_imp_level := a12(indx);
1096           t(ddindx).service_start_date := rosetta_g_miss_date_in_map(a13(indx));
1097           t(ddindx).service_end_date := rosetta_g_miss_date_in_map(a14(indx));
1098           t(ddindx).warranty_flag := a15(indx);
1099           t(ddindx).eligible_for_entitlement := a16(indx);
1100           t(ddindx).exp_reaction_time := rosetta_g_miss_date_in_map(a17(indx));
1101           t(ddindx).exp_resolution_time := rosetta_g_miss_date_in_map(a18(indx));
1102           t(ddindx).status_code := a19(indx);
1103           t(ddindx).status_text := a20(indx);
1104           t(ddindx).date_terminated := rosetta_g_miss_date_in_map(a21(indx));
1105           t(ddindx).pm_program_id := a22(indx);
1106           t(ddindx).pm_schedule_exists := a23(indx);
1107           t(ddindx).hd_currency_code := a24(indx);
1108           t(ddindx).service_po_number := a25(indx);
1109           t(ddindx).service_po_required_flag := a26(indx);
1110           t(ddindx).covlvl_line_id := a27(indx);
1111           ddindx := ddindx+1;
1112           if a0.last =indx
1113             then exit;
1114           end if;
1115           indx := a0.next(indx);
1116         end loop;
1117       end if;
1118    end if;
1119   end rosetta_table_copy_in_p30;
1120   procedure rosetta_table_copy_out_p30(t oks_entitlements_pub.get_contop_tbl, a0 out nocopy JTF_NUMBER_TABLE
1121     , a1 out nocopy JTF_VARCHAR2_TABLE_200
1122     , a2 out nocopy JTF_VARCHAR2_TABLE_200
1123     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1124     , a4 out nocopy JTF_NUMBER_TABLE
1125     , a5 out nocopy JTF_VARCHAR2_TABLE_300
1126     , a6 out nocopy JTF_VARCHAR2_TABLE_300
1127     , a7 out nocopy JTF_NUMBER_TABLE
1128     , a8 out nocopy JTF_VARCHAR2_TABLE_200
1129     , a9 out nocopy JTF_VARCHAR2_TABLE_2000
1130     , a10 out nocopy JTF_VARCHAR2_TABLE_100
1131     , a11 out nocopy JTF_VARCHAR2_TABLE_100
1132     , a12 out nocopy JTF_NUMBER_TABLE
1133     , a13 out nocopy JTF_DATE_TABLE
1134     , a14 out nocopy JTF_DATE_TABLE
1135     , a15 out nocopy JTF_VARCHAR2_TABLE_100
1136     , a16 out nocopy JTF_VARCHAR2_TABLE_100
1137     , a17 out nocopy JTF_DATE_TABLE
1138     , a18 out nocopy JTF_DATE_TABLE
1139     , a19 out nocopy JTF_VARCHAR2_TABLE_100
1140     , a20 out nocopy JTF_VARCHAR2_TABLE_2000
1141     , a21 out nocopy JTF_DATE_TABLE
1142     , a22 out nocopy JTF_VARCHAR2_TABLE_100
1143     , a23 out nocopy JTF_VARCHAR2_TABLE_500
1144     , a24 out nocopy JTF_VARCHAR2_TABLE_100
1145     , a25 out nocopy JTF_VARCHAR2_TABLE_500
1146     , a26 out nocopy JTF_VARCHAR2_TABLE_100
1147     , a27 out nocopy JTF_NUMBER_TABLE
1148     ) as
1149     ddindx binary_integer; indx binary_integer;
1150   begin
1151   if t is null or t.count = 0 then
1152     a0 := JTF_NUMBER_TABLE();
1153     a1 := JTF_VARCHAR2_TABLE_200();
1154     a2 := JTF_VARCHAR2_TABLE_200();
1155     a3 := JTF_VARCHAR2_TABLE_100();
1156     a4 := JTF_NUMBER_TABLE();
1157     a5 := JTF_VARCHAR2_TABLE_300();
1158     a6 := JTF_VARCHAR2_TABLE_300();
1159     a7 := JTF_NUMBER_TABLE();
1160     a8 := JTF_VARCHAR2_TABLE_200();
1161     a9 := JTF_VARCHAR2_TABLE_2000();
1162     a10 := JTF_VARCHAR2_TABLE_100();
1163     a11 := JTF_VARCHAR2_TABLE_100();
1164     a12 := JTF_NUMBER_TABLE();
1165     a13 := JTF_DATE_TABLE();
1166     a14 := JTF_DATE_TABLE();
1167     a15 := JTF_VARCHAR2_TABLE_100();
1168     a16 := JTF_VARCHAR2_TABLE_100();
1169     a17 := JTF_DATE_TABLE();
1170     a18 := JTF_DATE_TABLE();
1171     a19 := JTF_VARCHAR2_TABLE_100();
1172     a20 := JTF_VARCHAR2_TABLE_2000();
1173     a21 := JTF_DATE_TABLE();
1174     a22 := JTF_VARCHAR2_TABLE_100();
1175     a23 := JTF_VARCHAR2_TABLE_500();
1176     a24 := JTF_VARCHAR2_TABLE_100();
1177     a25 := JTF_VARCHAR2_TABLE_500();
1178     a26 := JTF_VARCHAR2_TABLE_100();
1179     a27 := JTF_NUMBER_TABLE();
1180   else
1181       a0 := JTF_NUMBER_TABLE();
1182       a1 := JTF_VARCHAR2_TABLE_200();
1183       a2 := JTF_VARCHAR2_TABLE_200();
1184       a3 := JTF_VARCHAR2_TABLE_100();
1185       a4 := JTF_NUMBER_TABLE();
1186       a5 := JTF_VARCHAR2_TABLE_300();
1187       a6 := JTF_VARCHAR2_TABLE_300();
1188       a7 := JTF_NUMBER_TABLE();
1189       a8 := JTF_VARCHAR2_TABLE_200();
1190       a9 := JTF_VARCHAR2_TABLE_2000();
1191       a10 := JTF_VARCHAR2_TABLE_100();
1192       a11 := JTF_VARCHAR2_TABLE_100();
1193       a12 := JTF_NUMBER_TABLE();
1194       a13 := JTF_DATE_TABLE();
1195       a14 := JTF_DATE_TABLE();
1196       a15 := JTF_VARCHAR2_TABLE_100();
1197       a16 := JTF_VARCHAR2_TABLE_100();
1198       a17 := JTF_DATE_TABLE();
1199       a18 := JTF_DATE_TABLE();
1200       a19 := JTF_VARCHAR2_TABLE_100();
1201       a20 := JTF_VARCHAR2_TABLE_2000();
1202       a21 := JTF_DATE_TABLE();
1203       a22 := JTF_VARCHAR2_TABLE_100();
1204       a23 := JTF_VARCHAR2_TABLE_500();
1205       a24 := JTF_VARCHAR2_TABLE_100();
1206       a25 := JTF_VARCHAR2_TABLE_500();
1207       a26 := JTF_VARCHAR2_TABLE_100();
1208       a27 := JTF_NUMBER_TABLE();
1209       if t.count > 0 then
1210         a0.extend(t.count);
1211         a1.extend(t.count);
1212         a2.extend(t.count);
1213         a3.extend(t.count);
1214         a4.extend(t.count);
1215         a5.extend(t.count);
1216         a6.extend(t.count);
1217         a7.extend(t.count);
1218         a8.extend(t.count);
1219         a9.extend(t.count);
1220         a10.extend(t.count);
1221         a11.extend(t.count);
1222         a12.extend(t.count);
1223         a13.extend(t.count);
1224         a14.extend(t.count);
1225         a15.extend(t.count);
1226         a16.extend(t.count);
1227         a17.extend(t.count);
1228         a18.extend(t.count);
1229         a19.extend(t.count);
1230         a20.extend(t.count);
1231         a21.extend(t.count);
1232         a22.extend(t.count);
1233         a23.extend(t.count);
1234         a24.extend(t.count);
1235         a25.extend(t.count);
1236         a26.extend(t.count);
1237         a27.extend(t.count);
1238         ddindx := t.first;
1239         indx := 1;
1240         while true loop
1241           a0(indx) := t(ddindx).contract_id;
1242           a1(indx) := t(ddindx).contract_number;
1243           a2(indx) := t(ddindx).contract_number_modifier;
1244           a3(indx) := t(ddindx).sts_code;
1245           a4(indx) := t(ddindx).service_line_id;
1246           a5(indx) := t(ddindx).service_name;
1247           a6(indx) := t(ddindx).service_description;
1248           a7(indx) := t(ddindx).coverage_term_line_id;
1249           a8(indx) := t(ddindx).coverage_term_name;
1250           a9(indx) := t(ddindx).coverage_term_description;
1251           a10(indx) := t(ddindx).coverage_type_code;
1252           a11(indx) := t(ddindx).coverage_type_meaning;
1253           a12(indx) := t(ddindx).coverage_type_imp_level;
1254           a13(indx) := t(ddindx).service_start_date;
1255           a14(indx) := t(ddindx).service_end_date;
1256           a15(indx) := t(ddindx).warranty_flag;
1257           a16(indx) := t(ddindx).eligible_for_entitlement;
1258           a17(indx) := t(ddindx).exp_reaction_time;
1259           a18(indx) := t(ddindx).exp_resolution_time;
1260           a19(indx) := t(ddindx).status_code;
1261           a20(indx) := t(ddindx).status_text;
1262           a21(indx) := t(ddindx).date_terminated;
1263           a22(indx) := t(ddindx).pm_program_id;
1264           a23(indx) := t(ddindx).pm_schedule_exists;
1265           a24(indx) := t(ddindx).hd_currency_code;
1266           a25(indx) := t(ddindx).service_po_number;
1267           a26(indx) := t(ddindx).service_po_required_flag;
1268           a27(indx) := t(ddindx).covlvl_line_id;
1269           indx := indx+1;
1270           if t.last =ddindx
1271             then exit;
1272           end if;
1273           ddindx := t.next(ddindx);
1274         end loop;
1275       end if;
1276    end if;
1277   end rosetta_table_copy_out_p30;
1278 
1279   procedure rosetta_table_copy_in_p34(t out nocopy oks_entitlements_pub.output_tbl_ib, a0 JTF_NUMBER_TABLE
1280     , a1 JTF_VARCHAR2_TABLE_200
1281     , a2 JTF_VARCHAR2_TABLE_200
1282     , a3 JTF_VARCHAR2_TABLE_100
1283     , a4 JTF_NUMBER_TABLE
1284     , a5 JTF_VARCHAR2_TABLE_300
1285     , a6 JTF_VARCHAR2_TABLE_300
1286     , a7 JTF_NUMBER_TABLE
1287     , a8 JTF_VARCHAR2_TABLE_200
1288     , a9 JTF_VARCHAR2_TABLE_2000
1289     , a10 JTF_VARCHAR2_TABLE_100
1290     , a11 JTF_NUMBER_TABLE
1291     , a12 JTF_DATE_TABLE
1292     , a13 JTF_DATE_TABLE
1293     , a14 JTF_VARCHAR2_TABLE_100
1294     , a15 JTF_VARCHAR2_TABLE_100
1295     , a16 JTF_DATE_TABLE
1296     , a17 JTF_DATE_TABLE
1297     , a18 JTF_VARCHAR2_TABLE_100
1298     , a19 JTF_VARCHAR2_TABLE_2000
1299     , a20 JTF_DATE_TABLE
1300     , a21 JTF_NUMBER_TABLE
1301     ) as
1302     ddindx binary_integer; indx binary_integer;
1303   begin
1304   if a0 is not null and a0.count > 0 then
1305       if a0.count > 0 then
1306         indx := a0.first;
1307         ddindx := 1;
1308         while true loop
1309           t(ddindx).contract_id := a0(indx);
1310           t(ddindx).contract_number := a1(indx);
1311           t(ddindx).contract_number_modifier := a2(indx);
1312           t(ddindx).sts_code := a3(indx);
1313           t(ddindx).service_line_id := a4(indx);
1314           t(ddindx).service_name := a5(indx);
1315           t(ddindx).service_description := a6(indx);
1316           t(ddindx).coverage_term_line_id := a7(indx);
1317           t(ddindx).coverage_term_name := a8(indx);
1318           t(ddindx).coverage_term_description := a9(indx);
1319           t(ddindx).coverage_type_code := a10(indx);
1320           t(ddindx).coverage_type_imp_level := a11(indx);
1321           t(ddindx).service_start_date := rosetta_g_miss_date_in_map(a12(indx));
1322           t(ddindx).service_end_date := rosetta_g_miss_date_in_map(a13(indx));
1323           t(ddindx).warranty_flag := a14(indx);
1324           t(ddindx).eligible_for_entitlement := a15(indx);
1325           t(ddindx).exp_reaction_time := rosetta_g_miss_date_in_map(a16(indx));
1326           t(ddindx).exp_resolution_time := rosetta_g_miss_date_in_map(a17(indx));
1327           t(ddindx).status_code := a18(indx);
1328           t(ddindx).status_text := a19(indx);
1329           t(ddindx).date_terminated := rosetta_g_miss_date_in_map(a20(indx));
1330           t(ddindx).covlvl_line_id := a21(indx);
1331           ddindx := ddindx+1;
1332           if a0.last =indx
1333             then exit;
1334           end if;
1335           indx := a0.next(indx);
1336         end loop;
1337       end if;
1338    end if;
1339   end rosetta_table_copy_in_p34;
1340   procedure rosetta_table_copy_out_p34(t oks_entitlements_pub.output_tbl_ib, a0 out nocopy JTF_NUMBER_TABLE
1341     , a1 out nocopy JTF_VARCHAR2_TABLE_200
1342     , a2 out nocopy JTF_VARCHAR2_TABLE_200
1343     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1344     , a4 out nocopy JTF_NUMBER_TABLE
1345     , a5 out nocopy JTF_VARCHAR2_TABLE_300
1346     , a6 out nocopy JTF_VARCHAR2_TABLE_300
1347     , a7 out nocopy JTF_NUMBER_TABLE
1348     , a8 out nocopy JTF_VARCHAR2_TABLE_200
1349     , a9 out nocopy JTF_VARCHAR2_TABLE_2000
1350     , a10 out nocopy JTF_VARCHAR2_TABLE_100
1351     , a11 out nocopy JTF_NUMBER_TABLE
1352     , a12 out nocopy JTF_DATE_TABLE
1353     , a13 out nocopy JTF_DATE_TABLE
1354     , a14 out nocopy JTF_VARCHAR2_TABLE_100
1355     , a15 out nocopy JTF_VARCHAR2_TABLE_100
1356     , a16 out nocopy JTF_DATE_TABLE
1357     , a17 out nocopy JTF_DATE_TABLE
1358     , a18 out nocopy JTF_VARCHAR2_TABLE_100
1359     , a19 out nocopy JTF_VARCHAR2_TABLE_2000
1360     , a20 out nocopy JTF_DATE_TABLE
1361     , a21 out nocopy JTF_NUMBER_TABLE
1362     ) as
1363     ddindx binary_integer; indx binary_integer;
1364   begin
1365   if t is null or t.count = 0 then
1366     a0 := JTF_NUMBER_TABLE();
1367     a1 := JTF_VARCHAR2_TABLE_200();
1368     a2 := JTF_VARCHAR2_TABLE_200();
1369     a3 := JTF_VARCHAR2_TABLE_100();
1370     a4 := JTF_NUMBER_TABLE();
1371     a5 := JTF_VARCHAR2_TABLE_300();
1372     a6 := JTF_VARCHAR2_TABLE_300();
1373     a7 := JTF_NUMBER_TABLE();
1374     a8 := JTF_VARCHAR2_TABLE_200();
1375     a9 := JTF_VARCHAR2_TABLE_2000();
1376     a10 := JTF_VARCHAR2_TABLE_100();
1377     a11 := JTF_NUMBER_TABLE();
1378     a12 := JTF_DATE_TABLE();
1379     a13 := JTF_DATE_TABLE();
1380     a14 := JTF_VARCHAR2_TABLE_100();
1381     a15 := JTF_VARCHAR2_TABLE_100();
1382     a16 := JTF_DATE_TABLE();
1383     a17 := JTF_DATE_TABLE();
1384     a18 := JTF_VARCHAR2_TABLE_100();
1385     a19 := JTF_VARCHAR2_TABLE_2000();
1386     a20 := JTF_DATE_TABLE();
1387     a21 := JTF_NUMBER_TABLE();
1388   else
1389       a0 := JTF_NUMBER_TABLE();
1390       a1 := JTF_VARCHAR2_TABLE_200();
1391       a2 := JTF_VARCHAR2_TABLE_200();
1392       a3 := JTF_VARCHAR2_TABLE_100();
1393       a4 := JTF_NUMBER_TABLE();
1394       a5 := JTF_VARCHAR2_TABLE_300();
1395       a6 := JTF_VARCHAR2_TABLE_300();
1396       a7 := JTF_NUMBER_TABLE();
1397       a8 := JTF_VARCHAR2_TABLE_200();
1398       a9 := JTF_VARCHAR2_TABLE_2000();
1399       a10 := JTF_VARCHAR2_TABLE_100();
1400       a11 := JTF_NUMBER_TABLE();
1401       a12 := JTF_DATE_TABLE();
1402       a13 := JTF_DATE_TABLE();
1403       a14 := JTF_VARCHAR2_TABLE_100();
1404       a15 := JTF_VARCHAR2_TABLE_100();
1405       a16 := JTF_DATE_TABLE();
1406       a17 := JTF_DATE_TABLE();
1407       a18 := JTF_VARCHAR2_TABLE_100();
1408       a19 := JTF_VARCHAR2_TABLE_2000();
1409       a20 := JTF_DATE_TABLE();
1410       a21 := JTF_NUMBER_TABLE();
1411       if t.count > 0 then
1412         a0.extend(t.count);
1413         a1.extend(t.count);
1414         a2.extend(t.count);
1415         a3.extend(t.count);
1416         a4.extend(t.count);
1417         a5.extend(t.count);
1418         a6.extend(t.count);
1419         a7.extend(t.count);
1420         a8.extend(t.count);
1421         a9.extend(t.count);
1422         a10.extend(t.count);
1423         a11.extend(t.count);
1424         a12.extend(t.count);
1425         a13.extend(t.count);
1426         a14.extend(t.count);
1427         a15.extend(t.count);
1428         a16.extend(t.count);
1429         a17.extend(t.count);
1430         a18.extend(t.count);
1431         a19.extend(t.count);
1432         a20.extend(t.count);
1433         a21.extend(t.count);
1434         ddindx := t.first;
1435         indx := 1;
1436         while true loop
1437           a0(indx) := t(ddindx).contract_id;
1438           a1(indx) := t(ddindx).contract_number;
1439           a2(indx) := t(ddindx).contract_number_modifier;
1440           a3(indx) := t(ddindx).sts_code;
1441           a4(indx) := t(ddindx).service_line_id;
1442           a5(indx) := t(ddindx).service_name;
1443           a6(indx) := t(ddindx).service_description;
1444           a7(indx) := t(ddindx).coverage_term_line_id;
1445           a8(indx) := t(ddindx).coverage_term_name;
1446           a9(indx) := t(ddindx).coverage_term_description;
1447           a10(indx) := t(ddindx).coverage_type_code;
1448           a11(indx) := t(ddindx).coverage_type_imp_level;
1449           a12(indx) := t(ddindx).service_start_date;
1450           a13(indx) := t(ddindx).service_end_date;
1451           a14(indx) := t(ddindx).warranty_flag;
1452           a15(indx) := t(ddindx).eligible_for_entitlement;
1453           a16(indx) := t(ddindx).exp_reaction_time;
1454           a17(indx) := t(ddindx).exp_resolution_time;
1455           a18(indx) := t(ddindx).status_code;
1456           a19(indx) := t(ddindx).status_text;
1457           a20(indx) := t(ddindx).date_terminated;
1458           a21(indx) := t(ddindx).covlvl_line_id;
1459           indx := indx+1;
1460           if t.last =ddindx
1461             then exit;
1462           end if;
1463           ddindx := t.next(ddindx);
1464         end loop;
1465       end if;
1466    end if;
1467   end rosetta_table_copy_out_p34;
1468 
1469   procedure rosetta_table_copy_in_p38(t out nocopy oks_entitlements_pub.output_tbl_entfrm, a0 JTF_NUMBER_TABLE
1470     , a1 JTF_VARCHAR2_TABLE_200
1471     , a2 JTF_VARCHAR2_TABLE_200
1472     , a3 JTF_VARCHAR2_TABLE_300
1473     , a4 JTF_VARCHAR2_TABLE_600
1474     , a5 JTF_VARCHAR2_TABLE_100
1475     , a6 JTF_DATE_TABLE
1476     , a7 JTF_DATE_TABLE
1477     , a8 JTF_DATE_TABLE
1478     ) as
1479     ddindx binary_integer; indx binary_integer;
1480   begin
1481   if a0 is not null and a0.count > 0 then
1482       if a0.count > 0 then
1483         indx := a0.first;
1484         ddindx := 1;
1485         while true loop
1486           t(ddindx).contract_id := a0(indx);
1487           t(ddindx).contract_number := a1(indx);
1488           t(ddindx).contract_number_modifier := a2(indx);
1489           t(ddindx).contract_known_as := a3(indx);
1490           t(ddindx).contract_short_description := a4(indx);
1491           t(ddindx).contract_status_code := a5(indx);
1492           t(ddindx).contract_start_date := rosetta_g_miss_date_in_map(a6(indx));
1493           t(ddindx).contract_end_date := rosetta_g_miss_date_in_map(a7(indx));
1494           t(ddindx).contract_terminated_date := rosetta_g_miss_date_in_map(a8(indx));
1495           ddindx := ddindx+1;
1496           if a0.last =indx
1497             then exit;
1498           end if;
1499           indx := a0.next(indx);
1500         end loop;
1501       end if;
1502    end if;
1503   end rosetta_table_copy_in_p38;
1504   procedure rosetta_table_copy_out_p38(t oks_entitlements_pub.output_tbl_entfrm, a0 out nocopy JTF_NUMBER_TABLE
1505     , a1 out nocopy JTF_VARCHAR2_TABLE_200
1506     , a2 out nocopy JTF_VARCHAR2_TABLE_200
1507     , a3 out nocopy JTF_VARCHAR2_TABLE_300
1508     , a4 out nocopy JTF_VARCHAR2_TABLE_600
1509     , a5 out nocopy JTF_VARCHAR2_TABLE_100
1510     , a6 out nocopy JTF_DATE_TABLE
1511     , a7 out nocopy JTF_DATE_TABLE
1512     , a8 out nocopy JTF_DATE_TABLE
1513     ) as
1514     ddindx binary_integer; indx binary_integer;
1515   begin
1516   if t is null or t.count = 0 then
1517     a0 := JTF_NUMBER_TABLE();
1518     a1 := JTF_VARCHAR2_TABLE_200();
1519     a2 := JTF_VARCHAR2_TABLE_200();
1520     a3 := JTF_VARCHAR2_TABLE_300();
1521     a4 := JTF_VARCHAR2_TABLE_600();
1522     a5 := JTF_VARCHAR2_TABLE_100();
1523     a6 := JTF_DATE_TABLE();
1524     a7 := JTF_DATE_TABLE();
1525     a8 := JTF_DATE_TABLE();
1526   else
1527       a0 := JTF_NUMBER_TABLE();
1528       a1 := JTF_VARCHAR2_TABLE_200();
1529       a2 := JTF_VARCHAR2_TABLE_200();
1530       a3 := JTF_VARCHAR2_TABLE_300();
1531       a4 := JTF_VARCHAR2_TABLE_600();
1532       a5 := JTF_VARCHAR2_TABLE_100();
1533       a6 := JTF_DATE_TABLE();
1534       a7 := JTF_DATE_TABLE();
1535       a8 := JTF_DATE_TABLE();
1536       if t.count > 0 then
1537         a0.extend(t.count);
1538         a1.extend(t.count);
1539         a2.extend(t.count);
1540         a3.extend(t.count);
1541         a4.extend(t.count);
1542         a5.extend(t.count);
1543         a6.extend(t.count);
1544         a7.extend(t.count);
1545         a8.extend(t.count);
1546         ddindx := t.first;
1547         indx := 1;
1548         while true loop
1549           a0(indx) := t(ddindx).contract_id;
1550           a1(indx) := t(ddindx).contract_number;
1551           a2(indx) := t(ddindx).contract_number_modifier;
1552           a3(indx) := t(ddindx).contract_known_as;
1553           a4(indx) := t(ddindx).contract_short_description;
1554           a5(indx) := t(ddindx).contract_status_code;
1555           a6(indx) := t(ddindx).contract_start_date;
1556           a7(indx) := t(ddindx).contract_end_date;
1557           a8(indx) := t(ddindx).contract_terminated_date;
1558           indx := indx+1;
1559           if t.last =ddindx
1560             then exit;
1561           end if;
1562           ddindx := t.next(ddindx);
1563         end loop;
1564       end if;
1565    end if;
1566   end rosetta_table_copy_out_p38;
1567 
1568   procedure rosetta_table_copy_in_p41(t out nocopy oks_entitlements_pub.covlevel_tbl_type, a0 JTF_VARCHAR2_TABLE_100
1569     , a1 JTF_NUMBER_TABLE
1570     , a2 JTF_NUMBER_TABLE
1571     , a3 JTF_VARCHAR2_TABLE_100
1572     ) as
1573     ddindx binary_integer; indx binary_integer;
1574   begin
1575   if a0 is not null and a0.count > 0 then
1576       if a0.count > 0 then
1577         indx := a0.first;
1578         ddindx := 1;
1579         while true loop
1580           t(ddindx).covlevel_code := a0(indx);
1581           t(ddindx).covlevel_id := a1(indx);
1582           t(ddindx).inv_org_id := a2(indx);
1583           t(ddindx).covered_yn := a3(indx);
1584           ddindx := ddindx+1;
1585           if a0.last =indx
1586             then exit;
1587           end if;
1588           indx := a0.next(indx);
1589         end loop;
1590       end if;
1591    end if;
1592   end rosetta_table_copy_in_p41;
1593   procedure rosetta_table_copy_out_p41(t oks_entitlements_pub.covlevel_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
1594     , a1 out nocopy JTF_NUMBER_TABLE
1595     , a2 out nocopy JTF_NUMBER_TABLE
1596     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1597     ) as
1598     ddindx binary_integer; indx binary_integer;
1599   begin
1600   if t is null or t.count = 0 then
1601     a0 := JTF_VARCHAR2_TABLE_100();
1602     a1 := JTF_NUMBER_TABLE();
1603     a2 := JTF_NUMBER_TABLE();
1604     a3 := JTF_VARCHAR2_TABLE_100();
1605   else
1606       a0 := JTF_VARCHAR2_TABLE_100();
1607       a1 := JTF_NUMBER_TABLE();
1608       a2 := JTF_NUMBER_TABLE();
1609       a3 := JTF_VARCHAR2_TABLE_100();
1610       if t.count > 0 then
1611         a0.extend(t.count);
1612         a1.extend(t.count);
1613         a2.extend(t.count);
1614         a3.extend(t.count);
1615         ddindx := t.first;
1616         indx := 1;
1617         while true loop
1618           a0(indx) := t(ddindx).covlevel_code;
1619           a1(indx) := t(ddindx).covlevel_id;
1620           a2(indx) := t(ddindx).inv_org_id;
1621           a3(indx) := t(ddindx).covered_yn;
1622           indx := indx+1;
1623           if t.last =ddindx
1624             then exit;
1625           end if;
1626           ddindx := t.next(ddindx);
1627         end loop;
1628       end if;
1629    end if;
1630   end rosetta_table_copy_out_p41;
1631 
1632   procedure rosetta_table_copy_in_p44(t out nocopy oks_entitlements_pub.covlvl_id_tbl, a0 JTF_NUMBER_TABLE
1633     , a1 JTF_VARCHAR2_TABLE_100
1634     ) as
1635     ddindx binary_integer; indx binary_integer;
1636   begin
1637   if a0 is not null and a0.count > 0 then
1638       if a0.count > 0 then
1639         indx := a0.first;
1640         ddindx := 1;
1641         while true loop
1642           t(ddindx).covlvl_id := a0(indx);
1643           t(ddindx).covlvl_code := a1(indx);
1644           ddindx := ddindx+1;
1645           if a0.last =indx
1646             then exit;
1647           end if;
1648           indx := a0.next(indx);
1649         end loop;
1650       end if;
1651    end if;
1652   end rosetta_table_copy_in_p44;
1653   procedure rosetta_table_copy_out_p44(t oks_entitlements_pub.covlvl_id_tbl, a0 out nocopy JTF_NUMBER_TABLE
1654     , a1 out nocopy JTF_VARCHAR2_TABLE_100
1655     ) as
1656     ddindx binary_integer; indx binary_integer;
1657   begin
1658   if t is null or t.count = 0 then
1659     a0 := JTF_NUMBER_TABLE();
1660     a1 := JTF_VARCHAR2_TABLE_100();
1661   else
1662       a0 := JTF_NUMBER_TABLE();
1663       a1 := JTF_VARCHAR2_TABLE_100();
1664       if t.count > 0 then
1665         a0.extend(t.count);
1666         a1.extend(t.count);
1667         ddindx := t.first;
1668         indx := 1;
1669         while true loop
1670           a0(indx) := t(ddindx).covlvl_id;
1671           a1(indx) := t(ddindx).covlvl_code;
1672           indx := indx+1;
1673           if t.last =ddindx
1674             then exit;
1675           end if;
1676           ddindx := t.next(ddindx);
1677         end loop;
1678       end if;
1679    end if;
1680   end rosetta_table_copy_out_p44;
1681 
1682   procedure rosetta_table_copy_in_p47(t out nocopy oks_entitlements_pub.output_tbl_contract, a0 JTF_VARCHAR2_TABLE_200
1683     , a1 JTF_VARCHAR2_TABLE_200
1684     , a2 JTF_VARCHAR2_TABLE_100
1685     , a3 JTF_VARCHAR2_TABLE_100
1686     , a4 JTF_VARCHAR2_TABLE_300
1687     , a5 JTF_VARCHAR2_TABLE_2000
1688     , a6 JTF_DATE_TABLE
1689     , a7 JTF_DATE_TABLE
1690     , a8 JTF_DATE_TABLE
1691     , a9 JTF_NUMBER_TABLE
1692     , a10 JTF_VARCHAR2_TABLE_100
1693     , a11 JTF_VARCHAR2_TABLE_100
1694     , a12 JTF_VARCHAR2_TABLE_100
1695     ) as
1696     ddindx binary_integer; indx binary_integer;
1697   begin
1698   if a0 is not null and a0.count > 0 then
1699       if a0.count > 0 then
1700         indx := a0.first;
1701         ddindx := 1;
1702         while true loop
1703           t(ddindx).contract_number := a0(indx);
1704           t(ddindx).contract_number_modifier := a1(indx);
1705           t(ddindx).contract_category := a2(indx);
1706           t(ddindx).contract_status_code := a3(indx);
1707           t(ddindx).known_as := a4(indx);
1708           t(ddindx).short_description := a5(indx);
1709           t(ddindx).start_date := rosetta_g_miss_date_in_map(a6(indx));
1710           t(ddindx).end_date := rosetta_g_miss_date_in_map(a7(indx));
1711           t(ddindx).date_terminated := rosetta_g_miss_date_in_map(a8(indx));
1712           t(ddindx).contract_amount := a9(indx);
1713           t(ddindx).currency_code := a10(indx);
1714           t(ddindx).hd_sts_meaning := a11(indx);
1715           t(ddindx).hd_cat_meaning := a12(indx);
1716           ddindx := ddindx+1;
1717           if a0.last =indx
1718             then exit;
1719           end if;
1720           indx := a0.next(indx);
1721         end loop;
1722       end if;
1723    end if;
1724   end rosetta_table_copy_in_p47;
1725   procedure rosetta_table_copy_out_p47(t oks_entitlements_pub.output_tbl_contract, a0 out nocopy JTF_VARCHAR2_TABLE_200
1726     , a1 out nocopy JTF_VARCHAR2_TABLE_200
1727     , a2 out nocopy JTF_VARCHAR2_TABLE_100
1728     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1729     , a4 out nocopy JTF_VARCHAR2_TABLE_300
1730     , a5 out nocopy JTF_VARCHAR2_TABLE_2000
1731     , a6 out nocopy JTF_DATE_TABLE
1732     , a7 out nocopy JTF_DATE_TABLE
1733     , a8 out nocopy JTF_DATE_TABLE
1734     , a9 out nocopy JTF_NUMBER_TABLE
1735     , a10 out nocopy JTF_VARCHAR2_TABLE_100
1736     , a11 out nocopy JTF_VARCHAR2_TABLE_100
1737     , a12 out nocopy JTF_VARCHAR2_TABLE_100
1738     ) as
1739     ddindx binary_integer; indx binary_integer;
1740   begin
1741   if t is null or t.count = 0 then
1742     a0 := JTF_VARCHAR2_TABLE_200();
1743     a1 := JTF_VARCHAR2_TABLE_200();
1744     a2 := JTF_VARCHAR2_TABLE_100();
1745     a3 := JTF_VARCHAR2_TABLE_100();
1746     a4 := JTF_VARCHAR2_TABLE_300();
1747     a5 := JTF_VARCHAR2_TABLE_2000();
1748     a6 := JTF_DATE_TABLE();
1749     a7 := JTF_DATE_TABLE();
1750     a8 := JTF_DATE_TABLE();
1751     a9 := JTF_NUMBER_TABLE();
1752     a10 := JTF_VARCHAR2_TABLE_100();
1753     a11 := JTF_VARCHAR2_TABLE_100();
1754     a12 := JTF_VARCHAR2_TABLE_100();
1755   else
1756       a0 := JTF_VARCHAR2_TABLE_200();
1757       a1 := JTF_VARCHAR2_TABLE_200();
1758       a2 := JTF_VARCHAR2_TABLE_100();
1759       a3 := JTF_VARCHAR2_TABLE_100();
1760       a4 := JTF_VARCHAR2_TABLE_300();
1761       a5 := JTF_VARCHAR2_TABLE_2000();
1762       a6 := JTF_DATE_TABLE();
1763       a7 := JTF_DATE_TABLE();
1764       a8 := JTF_DATE_TABLE();
1765       a9 := JTF_NUMBER_TABLE();
1766       a10 := JTF_VARCHAR2_TABLE_100();
1767       a11 := JTF_VARCHAR2_TABLE_100();
1768       a12 := JTF_VARCHAR2_TABLE_100();
1769       if t.count > 0 then
1770         a0.extend(t.count);
1771         a1.extend(t.count);
1772         a2.extend(t.count);
1773         a3.extend(t.count);
1774         a4.extend(t.count);
1775         a5.extend(t.count);
1776         a6.extend(t.count);
1777         a7.extend(t.count);
1778         a8.extend(t.count);
1779         a9.extend(t.count);
1780         a10.extend(t.count);
1781         a11.extend(t.count);
1782         a12.extend(t.count);
1783         ddindx := t.first;
1784         indx := 1;
1785         while true loop
1786           a0(indx) := t(ddindx).contract_number;
1787           a1(indx) := t(ddindx).contract_number_modifier;
1788           a2(indx) := t(ddindx).contract_category;
1789           a3(indx) := t(ddindx).contract_status_code;
1790           a4(indx) := t(ddindx).known_as;
1791           a5(indx) := t(ddindx).short_description;
1792           a6(indx) := t(ddindx).start_date;
1793           a7(indx) := t(ddindx).end_date;
1794           a8(indx) := t(ddindx).date_terminated;
1795           a9(indx) := t(ddindx).contract_amount;
1796           a10(indx) := t(ddindx).currency_code;
1797           a11(indx) := t(ddindx).hd_sts_meaning;
1798           a12(indx) := t(ddindx).hd_cat_meaning;
1799           indx := indx+1;
1800           if t.last =ddindx
1801             then exit;
1802           end if;
1803           ddindx := t.next(ddindx);
1804         end loop;
1805       end if;
1806    end if;
1807   end rosetta_table_copy_out_p47;
1808 
1809   procedure rosetta_table_copy_in_p60(t out nocopy oks_entitlements_pub.ent_contact_tbl, a0 JTF_NUMBER_TABLE
1810     , a1 JTF_NUMBER_TABLE
1811     , a2 JTF_NUMBER_TABLE
1812     , a3 JTF_VARCHAR2_TABLE_100
1813     , a4 JTF_NUMBER_TABLE
1814     , a5 JTF_VARCHAR2_TABLE_100
1815     , a6 JTF_VARCHAR2_TABLE_100
1816     ) as
1817     ddindx binary_integer; indx binary_integer;
1818   begin
1819   if a0 is not null and a0.count > 0 then
1820       if a0.count > 0 then
1821         indx := a0.first;
1822         ddindx := 1;
1823         while true loop
1824           t(ddindx).contract_id := a0(indx);
1825           t(ddindx).contract_line_id := a1(indx);
1826           t(ddindx).contact_id := a2(indx);
1827           t(ddindx).contact_name := a3(indx);
1828           t(ddindx).contact_role_id := a4(indx);
1829           t(ddindx).contact_role_code := a5(indx);
1830           t(ddindx).contact_role_name := a6(indx);
1831           ddindx := ddindx+1;
1832           if a0.last =indx
1833             then exit;
1834           end if;
1835           indx := a0.next(indx);
1836         end loop;
1837       end if;
1838    end if;
1839   end rosetta_table_copy_in_p60;
1840   procedure rosetta_table_copy_out_p60(t oks_entitlements_pub.ent_contact_tbl, a0 out nocopy JTF_NUMBER_TABLE
1841     , a1 out nocopy JTF_NUMBER_TABLE
1842     , a2 out nocopy JTF_NUMBER_TABLE
1843     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1844     , a4 out nocopy JTF_NUMBER_TABLE
1845     , a5 out nocopy JTF_VARCHAR2_TABLE_100
1846     , a6 out nocopy JTF_VARCHAR2_TABLE_100
1847     ) as
1848     ddindx binary_integer; indx binary_integer;
1849   begin
1850   if t is null or t.count = 0 then
1851     a0 := JTF_NUMBER_TABLE();
1852     a1 := JTF_NUMBER_TABLE();
1853     a2 := JTF_NUMBER_TABLE();
1854     a3 := JTF_VARCHAR2_TABLE_100();
1855     a4 := JTF_NUMBER_TABLE();
1856     a5 := JTF_VARCHAR2_TABLE_100();
1857     a6 := JTF_VARCHAR2_TABLE_100();
1858   else
1859       a0 := JTF_NUMBER_TABLE();
1860       a1 := JTF_NUMBER_TABLE();
1861       a2 := JTF_NUMBER_TABLE();
1862       a3 := JTF_VARCHAR2_TABLE_100();
1863       a4 := JTF_NUMBER_TABLE();
1864       a5 := JTF_VARCHAR2_TABLE_100();
1865       a6 := JTF_VARCHAR2_TABLE_100();
1866       if t.count > 0 then
1867         a0.extend(t.count);
1868         a1.extend(t.count);
1869         a2.extend(t.count);
1870         a3.extend(t.count);
1871         a4.extend(t.count);
1872         a5.extend(t.count);
1873         a6.extend(t.count);
1874         ddindx := t.first;
1875         indx := 1;
1876         while true loop
1877           a0(indx) := t(ddindx).contract_id;
1878           a1(indx) := t(ddindx).contract_line_id;
1879           a2(indx) := t(ddindx).contact_id;
1880           a3(indx) := t(ddindx).contact_name;
1881           a4(indx) := t(ddindx).contact_role_id;
1882           a5(indx) := t(ddindx).contact_role_code;
1883           a6(indx) := t(ddindx).contact_role_name;
1884           indx := indx+1;
1885           if t.last =ddindx
1886             then exit;
1887           end if;
1888           ddindx := t.next(ddindx);
1889         end loop;
1890       end if;
1891    end if;
1892   end rosetta_table_copy_out_p60;
1893 
1894   procedure rosetta_table_copy_in_p63(t out nocopy oks_entitlements_pub.prfeng_tbl_type, a0 JTF_NUMBER_TABLE
1895     , a1 JTF_NUMBER_TABLE
1896     , a2 JTF_VARCHAR2_TABLE_100
1897     , a3 JTF_VARCHAR2_TABLE_100
1898     , a4 JTF_VARCHAR2_TABLE_100
1899     ) as
1900     ddindx binary_integer; indx binary_integer;
1901   begin
1902   if a0 is not null and a0.count > 0 then
1903       if a0.count > 0 then
1904         indx := a0.first;
1905         ddindx := 1;
1906         while true loop
1907           t(ddindx).business_process_id := a0(indx);
1908           t(ddindx).engineer_id := a1(indx);
1909           t(ddindx).resource_type := a2(indx);
1910           t(ddindx).primary_flag := a3(indx);
1911           t(ddindx).resource_class := a4(indx);
1912           ddindx := ddindx+1;
1913           if a0.last =indx
1914             then exit;
1915           end if;
1916           indx := a0.next(indx);
1917         end loop;
1918       end if;
1919    end if;
1920   end rosetta_table_copy_in_p63;
1921   procedure rosetta_table_copy_out_p63(t oks_entitlements_pub.prfeng_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
1922     , a1 out nocopy JTF_NUMBER_TABLE
1923     , a2 out nocopy JTF_VARCHAR2_TABLE_100
1924     , a3 out nocopy JTF_VARCHAR2_TABLE_100
1925     , a4 out nocopy JTF_VARCHAR2_TABLE_100
1926     ) as
1927     ddindx binary_integer; indx binary_integer;
1928   begin
1929   if t is null or t.count = 0 then
1930     a0 := JTF_NUMBER_TABLE();
1931     a1 := JTF_NUMBER_TABLE();
1932     a2 := JTF_VARCHAR2_TABLE_100();
1933     a3 := JTF_VARCHAR2_TABLE_100();
1934     a4 := JTF_VARCHAR2_TABLE_100();
1935   else
1936       a0 := JTF_NUMBER_TABLE();
1937       a1 := JTF_NUMBER_TABLE();
1938       a2 := JTF_VARCHAR2_TABLE_100();
1939       a3 := JTF_VARCHAR2_TABLE_100();
1940       a4 := JTF_VARCHAR2_TABLE_100();
1941       if t.count > 0 then
1942         a0.extend(t.count);
1943         a1.extend(t.count);
1944         a2.extend(t.count);
1945         a3.extend(t.count);
1946         a4.extend(t.count);
1947         ddindx := t.first;
1948         indx := 1;
1949         while true loop
1950           a0(indx) := t(ddindx).business_process_id;
1951           a1(indx) := t(ddindx).engineer_id;
1952           a2(indx) := t(ddindx).resource_type;
1953           a3(indx) := t(ddindx).primary_flag;
1954           a4(indx) := t(ddindx).resource_class;
1955           indx := indx+1;
1956           if t.last =ddindx
1957             then exit;
1958           end if;
1959           ddindx := t.next(ddindx);
1960         end loop;
1961       end if;
1962    end if;
1963   end rosetta_table_copy_out_p63;
1964 
1965   procedure rosetta_table_copy_in_p70(t out nocopy oks_entitlements_pub.output_tbl_bp, a0 JTF_NUMBER_TABLE
1966     , a1 JTF_NUMBER_TABLE
1967     , a2 JTF_DATE_TABLE
1968     , a3 JTF_DATE_TABLE
1969     ) as
1970     ddindx binary_integer; indx binary_integer;
1971   begin
1972   if a0 is not null and a0.count > 0 then
1973       if a0.count > 0 then
1974         indx := a0.first;
1975         ddindx := 1;
1976         while true loop
1977           t(ddindx).cov_txn_grp_line_id := a0(indx);
1978           t(ddindx).bp_id := a1(indx);
1979           t(ddindx).start_date := rosetta_g_miss_date_in_map(a2(indx));
1980           t(ddindx).end_date := rosetta_g_miss_date_in_map(a3(indx));
1981           ddindx := ddindx+1;
1982           if a0.last =indx
1983             then exit;
1984           end if;
1985           indx := a0.next(indx);
1986         end loop;
1987       end if;
1988    end if;
1989   end rosetta_table_copy_in_p70;
1990   procedure rosetta_table_copy_out_p70(t oks_entitlements_pub.output_tbl_bp, a0 out nocopy JTF_NUMBER_TABLE
1991     , a1 out nocopy JTF_NUMBER_TABLE
1992     , a2 out nocopy JTF_DATE_TABLE
1993     , a3 out nocopy JTF_DATE_TABLE
1994     ) as
1995     ddindx binary_integer; indx binary_integer;
1996   begin
1997   if t is null or t.count = 0 then
1998     a0 := JTF_NUMBER_TABLE();
1999     a1 := JTF_NUMBER_TABLE();
2000     a2 := JTF_DATE_TABLE();
2001     a3 := JTF_DATE_TABLE();
2002   else
2003       a0 := JTF_NUMBER_TABLE();
2004       a1 := JTF_NUMBER_TABLE();
2005       a2 := JTF_DATE_TABLE();
2006       a3 := JTF_DATE_TABLE();
2007       if t.count > 0 then
2008         a0.extend(t.count);
2009         a1.extend(t.count);
2010         a2.extend(t.count);
2011         a3.extend(t.count);
2012         ddindx := t.first;
2013         indx := 1;
2014         while true loop
2015           a0(indx) := t(ddindx).cov_txn_grp_line_id;
2016           a1(indx) := t(ddindx).bp_id;
2017           a2(indx) := t(ddindx).start_date;
2018           a3(indx) := t(ddindx).end_date;
2019           indx := indx+1;
2020           if t.last =ddindx
2021             then exit;
2022           end if;
2023           ddindx := t.next(ddindx);
2024         end loop;
2025       end if;
2026    end if;
2027   end rosetta_table_copy_out_p70;
2028 
2029   procedure rosetta_table_copy_in_p73(t out nocopy oks_entitlements_pub.output_tbl_bt, a0 JTF_NUMBER_TABLE
2030     , a1 JTF_NUMBER_TABLE
2031     , a2 JTF_NUMBER_TABLE
2032     , a3 JTF_NUMBER_TABLE
2033     ) as
2034     ddindx binary_integer; indx binary_integer;
2035   begin
2036   if a0 is not null and a0.count > 0 then
2037       if a0.count > 0 then
2038         indx := a0.first;
2039         ddindx := 1;
2040         while true loop
2041           t(ddindx).txn_bt_line_id := a0(indx);
2042           t(ddindx).txn_bill_type_id := a1(indx);
2043           t(ddindx).covered_upto_amount := a2(indx);
2044           t(ddindx).percent_covered := a3(indx);
2045           ddindx := ddindx+1;
2046           if a0.last =indx
2047             then exit;
2048           end if;
2049           indx := a0.next(indx);
2050         end loop;
2051       end if;
2052    end if;
2053   end rosetta_table_copy_in_p73;
2054   procedure rosetta_table_copy_out_p73(t oks_entitlements_pub.output_tbl_bt, a0 out nocopy JTF_NUMBER_TABLE
2055     , a1 out nocopy JTF_NUMBER_TABLE
2056     , a2 out nocopy JTF_NUMBER_TABLE
2057     , a3 out nocopy JTF_NUMBER_TABLE
2058     ) as
2059     ddindx binary_integer; indx binary_integer;
2060   begin
2061   if t is null or t.count = 0 then
2062     a0 := JTF_NUMBER_TABLE();
2063     a1 := JTF_NUMBER_TABLE();
2064     a2 := JTF_NUMBER_TABLE();
2065     a3 := JTF_NUMBER_TABLE();
2066   else
2067       a0 := JTF_NUMBER_TABLE();
2068       a1 := JTF_NUMBER_TABLE();
2069       a2 := JTF_NUMBER_TABLE();
2070       a3 := JTF_NUMBER_TABLE();
2071       if t.count > 0 then
2072         a0.extend(t.count);
2073         a1.extend(t.count);
2074         a2.extend(t.count);
2075         a3.extend(t.count);
2076         ddindx := t.first;
2077         indx := 1;
2078         while true loop
2079           a0(indx) := t(ddindx).txn_bt_line_id;
2080           a1(indx) := t(ddindx).txn_bill_type_id;
2081           a2(indx) := t(ddindx).covered_upto_amount;
2082           a3(indx) := t(ddindx).percent_covered;
2083           indx := indx+1;
2084           if t.last =ddindx
2085             then exit;
2086           end if;
2087           ddindx := t.next(ddindx);
2088         end loop;
2089       end if;
2090    end if;
2091   end rosetta_table_copy_out_p73;
2092 
2093   procedure rosetta_table_copy_in_p75(t out nocopy oks_entitlements_pub.output_tbl_br, a0 JTF_NUMBER_TABLE
2094     , a1 JTF_NUMBER_TABLE
2095     , a2 JTF_NUMBER_TABLE
2096     , a3 JTF_VARCHAR2_TABLE_100
2097     , a4 JTF_NUMBER_TABLE
2098     , a5 JTF_VARCHAR2_TABLE_100
2099     , a6 JTF_NUMBER_TABLE
2100     , a7 JTF_NUMBER_TABLE
2101     , a8 JTF_NUMBER_TABLE
2102     , a9 JTF_NUMBER_TABLE
2103     , a10 JTF_NUMBER_TABLE
2104     , a11 JTF_VARCHAR2_TABLE_100
2105     , a12 JTF_VARCHAR2_TABLE_100
2106     , a13 JTF_VARCHAR2_TABLE_100
2107     , a14 JTF_VARCHAR2_TABLE_100
2108     , a15 JTF_VARCHAR2_TABLE_100
2109     , a16 JTF_VARCHAR2_TABLE_100
2110     , a17 JTF_VARCHAR2_TABLE_100
2111     , a18 JTF_NUMBER_TABLE
2112     , a19 JTF_NUMBER_TABLE
2113     , a20 JTF_VARCHAR2_TABLE_100
2114     ) as
2115     ddindx binary_integer; indx binary_integer;
2116   begin
2117   if a0 is not null and a0.count > 0 then
2118       if a0.count > 0 then
2119         indx := a0.first;
2120         ddindx := 1;
2121         while true loop
2122           t(ddindx).bt_line_id := a0(indx);
2123           t(ddindx).br_line_id := a1(indx);
2124           t(ddindx).br_schedule_id := a2(indx);
2125           t(ddindx).bill_rate := a3(indx);
2126           t(ddindx).flat_rate := a4(indx);
2127           t(ddindx).uom := a5(indx);
2128           t(ddindx).percent_over_list_price := a6(indx);
2129           t(ddindx).start_hour := a7(indx);
2130           t(ddindx).start_minute := a8(indx);
2131           t(ddindx).end_hour := a9(indx);
2132           t(ddindx).end_minute := a10(indx);
2133           t(ddindx).monday_flag := a11(indx);
2134           t(ddindx).tuesday_flag := a12(indx);
2135           t(ddindx).wednesday_flag := a13(indx);
2136           t(ddindx).thursday_flag := a14(indx);
2137           t(ddindx).friday_flag := a15(indx);
2138           t(ddindx).saturday_flag := a16(indx);
2139           t(ddindx).sunday_flag := a17(indx);
2140           t(ddindx).labor_item_org_id := a18(indx);
2141           t(ddindx).labor_item_id := a19(indx);
2142           t(ddindx).holiday_yn := a20(indx);
2143           ddindx := ddindx+1;
2144           if a0.last =indx
2145             then exit;
2146           end if;
2147           indx := a0.next(indx);
2148         end loop;
2149       end if;
2150    end if;
2151   end rosetta_table_copy_in_p75;
2152   procedure rosetta_table_copy_out_p75(t oks_entitlements_pub.output_tbl_br, a0 out nocopy JTF_NUMBER_TABLE
2153     , a1 out nocopy JTF_NUMBER_TABLE
2154     , a2 out nocopy JTF_NUMBER_TABLE
2155     , a3 out nocopy JTF_VARCHAR2_TABLE_100
2156     , a4 out nocopy JTF_NUMBER_TABLE
2157     , a5 out nocopy JTF_VARCHAR2_TABLE_100
2158     , a6 out nocopy JTF_NUMBER_TABLE
2159     , a7 out nocopy JTF_NUMBER_TABLE
2160     , a8 out nocopy JTF_NUMBER_TABLE
2161     , a9 out nocopy JTF_NUMBER_TABLE
2162     , a10 out nocopy JTF_NUMBER_TABLE
2163     , a11 out nocopy JTF_VARCHAR2_TABLE_100
2164     , a12 out nocopy JTF_VARCHAR2_TABLE_100
2165     , a13 out nocopy JTF_VARCHAR2_TABLE_100
2166     , a14 out nocopy JTF_VARCHAR2_TABLE_100
2167     , a15 out nocopy JTF_VARCHAR2_TABLE_100
2168     , a16 out nocopy JTF_VARCHAR2_TABLE_100
2169     , a17 out nocopy JTF_VARCHAR2_TABLE_100
2170     , a18 out nocopy JTF_NUMBER_TABLE
2171     , a19 out nocopy JTF_NUMBER_TABLE
2172     , a20 out nocopy JTF_VARCHAR2_TABLE_100
2173     ) as
2174     ddindx binary_integer; indx binary_integer;
2175   begin
2176   if t is null or t.count = 0 then
2177     a0 := JTF_NUMBER_TABLE();
2178     a1 := JTF_NUMBER_TABLE();
2179     a2 := JTF_NUMBER_TABLE();
2180     a3 := JTF_VARCHAR2_TABLE_100();
2181     a4 := JTF_NUMBER_TABLE();
2182     a5 := JTF_VARCHAR2_TABLE_100();
2183     a6 := JTF_NUMBER_TABLE();
2184     a7 := JTF_NUMBER_TABLE();
2185     a8 := JTF_NUMBER_TABLE();
2186     a9 := JTF_NUMBER_TABLE();
2187     a10 := JTF_NUMBER_TABLE();
2188     a11 := JTF_VARCHAR2_TABLE_100();
2189     a12 := JTF_VARCHAR2_TABLE_100();
2190     a13 := JTF_VARCHAR2_TABLE_100();
2191     a14 := JTF_VARCHAR2_TABLE_100();
2192     a15 := JTF_VARCHAR2_TABLE_100();
2193     a16 := JTF_VARCHAR2_TABLE_100();
2194     a17 := JTF_VARCHAR2_TABLE_100();
2195     a18 := JTF_NUMBER_TABLE();
2196     a19 := JTF_NUMBER_TABLE();
2197     a20 := JTF_VARCHAR2_TABLE_100();
2198   else
2199       a0 := JTF_NUMBER_TABLE();
2200       a1 := JTF_NUMBER_TABLE();
2201       a2 := JTF_NUMBER_TABLE();
2202       a3 := JTF_VARCHAR2_TABLE_100();
2203       a4 := JTF_NUMBER_TABLE();
2204       a5 := JTF_VARCHAR2_TABLE_100();
2205       a6 := JTF_NUMBER_TABLE();
2206       a7 := JTF_NUMBER_TABLE();
2207       a8 := JTF_NUMBER_TABLE();
2208       a9 := JTF_NUMBER_TABLE();
2209       a10 := JTF_NUMBER_TABLE();
2210       a11 := JTF_VARCHAR2_TABLE_100();
2211       a12 := JTF_VARCHAR2_TABLE_100();
2212       a13 := JTF_VARCHAR2_TABLE_100();
2213       a14 := JTF_VARCHAR2_TABLE_100();
2214       a15 := JTF_VARCHAR2_TABLE_100();
2215       a16 := JTF_VARCHAR2_TABLE_100();
2216       a17 := JTF_VARCHAR2_TABLE_100();
2217       a18 := JTF_NUMBER_TABLE();
2218       a19 := JTF_NUMBER_TABLE();
2219       a20 := JTF_VARCHAR2_TABLE_100();
2220       if t.count > 0 then
2221         a0.extend(t.count);
2222         a1.extend(t.count);
2223         a2.extend(t.count);
2224         a3.extend(t.count);
2225         a4.extend(t.count);
2226         a5.extend(t.count);
2227         a6.extend(t.count);
2228         a7.extend(t.count);
2229         a8.extend(t.count);
2230         a9.extend(t.count);
2231         a10.extend(t.count);
2232         a11.extend(t.count);
2233         a12.extend(t.count);
2234         a13.extend(t.count);
2235         a14.extend(t.count);
2236         a15.extend(t.count);
2237         a16.extend(t.count);
2238         a17.extend(t.count);
2239         a18.extend(t.count);
2240         a19.extend(t.count);
2241         a20.extend(t.count);
2242         ddindx := t.first;
2243         indx := 1;
2244         while true loop
2245           a0(indx) := t(ddindx).bt_line_id;
2246           a1(indx) := t(ddindx).br_line_id;
2247           a2(indx) := t(ddindx).br_schedule_id;
2248           a3(indx) := t(ddindx).bill_rate;
2249           a4(indx) := t(ddindx).flat_rate;
2250           a5(indx) := t(ddindx).uom;
2251           a6(indx) := t(ddindx).percent_over_list_price;
2252           a7(indx) := t(ddindx).start_hour;
2253           a8(indx) := t(ddindx).start_minute;
2254           a9(indx) := t(ddindx).end_hour;
2255           a10(indx) := t(ddindx).end_minute;
2256           a11(indx) := t(ddindx).monday_flag;
2257           a12(indx) := t(ddindx).tuesday_flag;
2258           a13(indx) := t(ddindx).wednesday_flag;
2259           a14(indx) := t(ddindx).thursday_flag;
2260           a15(indx) := t(ddindx).friday_flag;
2261           a16(indx) := t(ddindx).saturday_flag;
2262           a17(indx) := t(ddindx).sunday_flag;
2263           a18(indx) := t(ddindx).labor_item_org_id;
2264           a19(indx) := t(ddindx).labor_item_id;
2265           a20(indx) := t(ddindx).holiday_yn;
2266           indx := indx+1;
2267           if t.last =ddindx
2268             then exit;
2269           end if;
2270           ddindx := t.next(ddindx);
2271         end loop;
2272       end if;
2273    end if;
2274   end rosetta_table_copy_out_p75;
2275 
2276   procedure rosetta_table_copy_in_p79(t out nocopy oks_entitlements_pub.srchline_inpcontlinerec_tbl, a0 JTF_NUMBER_TABLE
2277     , a1 JTF_VARCHAR2_TABLE_100
2278     , a2 JTF_VARCHAR2_TABLE_100
2279     , a3 JTF_DATE_TABLE
2280     , a4 JTF_DATE_TABLE
2281     , a5 JTF_DATE_TABLE
2282     , a6 JTF_DATE_TABLE
2283     , a7 JTF_NUMBER_TABLE
2284     , a8 JTF_NUMBER_TABLE
2285     , a9 JTF_VARCHAR2_TABLE_100
2286     ) as
2287     ddindx binary_integer; indx binary_integer;
2288   begin
2289   if a0 is not null and a0.count > 0 then
2290       if a0.count > 0 then
2291         indx := a0.first;
2292         ddindx := 1;
2293         while true loop
2294           t(ddindx).service_item_id := a0(indx);
2295           t(ddindx).contract_line_status_code := a1(indx);
2296           t(ddindx).coverage_type_code := a2(indx);
2297           t(ddindx).start_date_from := rosetta_g_miss_date_in_map(a3(indx));
2298           t(ddindx).start_date_to := rosetta_g_miss_date_in_map(a4(indx));
2299           t(ddindx).end_date_from := rosetta_g_miss_date_in_map(a5(indx));
2300           t(ddindx).end_date_to := rosetta_g_miss_date_in_map(a6(indx));
2301           t(ddindx).line_bill_to_site_id := a7(indx);
2302           t(ddindx).line_ship_to_site_id := a8(indx);
2303           t(ddindx).line_renewal_type_code := a9(indx);
2304           ddindx := ddindx+1;
2305           if a0.last =indx
2306             then exit;
2307           end if;
2308           indx := a0.next(indx);
2309         end loop;
2310       end if;
2311    end if;
2312   end rosetta_table_copy_in_p79;
2313   procedure rosetta_table_copy_out_p79(t oks_entitlements_pub.srchline_inpcontlinerec_tbl, a0 out nocopy JTF_NUMBER_TABLE
2314     , a1 out nocopy JTF_VARCHAR2_TABLE_100
2315     , a2 out nocopy JTF_VARCHAR2_TABLE_100
2316     , a3 out nocopy JTF_DATE_TABLE
2317     , a4 out nocopy JTF_DATE_TABLE
2318     , a5 out nocopy JTF_DATE_TABLE
2319     , a6 out nocopy JTF_DATE_TABLE
2320     , a7 out nocopy JTF_NUMBER_TABLE
2321     , a8 out nocopy JTF_NUMBER_TABLE
2322     , a9 out nocopy JTF_VARCHAR2_TABLE_100
2323     ) as
2324     ddindx binary_integer; indx binary_integer;
2325   begin
2326   if t is null or t.count = 0 then
2327     a0 := JTF_NUMBER_TABLE();
2328     a1 := JTF_VARCHAR2_TABLE_100();
2329     a2 := JTF_VARCHAR2_TABLE_100();
2330     a3 := JTF_DATE_TABLE();
2331     a4 := JTF_DATE_TABLE();
2332     a5 := JTF_DATE_TABLE();
2333     a6 := JTF_DATE_TABLE();
2334     a7 := JTF_NUMBER_TABLE();
2335     a8 := JTF_NUMBER_TABLE();
2336     a9 := JTF_VARCHAR2_TABLE_100();
2337   else
2338       a0 := JTF_NUMBER_TABLE();
2339       a1 := JTF_VARCHAR2_TABLE_100();
2340       a2 := JTF_VARCHAR2_TABLE_100();
2341       a3 := JTF_DATE_TABLE();
2342       a4 := JTF_DATE_TABLE();
2343       a5 := JTF_DATE_TABLE();
2344       a6 := JTF_DATE_TABLE();
2345       a7 := JTF_NUMBER_TABLE();
2346       a8 := JTF_NUMBER_TABLE();
2347       a9 := JTF_VARCHAR2_TABLE_100();
2348       if t.count > 0 then
2349         a0.extend(t.count);
2350         a1.extend(t.count);
2351         a2.extend(t.count);
2352         a3.extend(t.count);
2353         a4.extend(t.count);
2354         a5.extend(t.count);
2355         a6.extend(t.count);
2356         a7.extend(t.count);
2357         a8.extend(t.count);
2358         a9.extend(t.count);
2359         ddindx := t.first;
2360         indx := 1;
2361         while true loop
2362           a0(indx) := t(ddindx).service_item_id;
2363           a1(indx) := t(ddindx).contract_line_status_code;
2364           a2(indx) := t(ddindx).coverage_type_code;
2365           a3(indx) := t(ddindx).start_date_from;
2366           a4(indx) := t(ddindx).start_date_to;
2367           a5(indx) := t(ddindx).end_date_from;
2368           a6(indx) := t(ddindx).end_date_to;
2369           a7(indx) := t(ddindx).line_bill_to_site_id;
2370           a8(indx) := t(ddindx).line_ship_to_site_id;
2371           a9(indx) := t(ddindx).line_renewal_type_code;
2372           indx := indx+1;
2373           if t.last =ddindx
2374             then exit;
2375           end if;
2376           ddindx := t.next(ddindx);
2377         end loop;
2378       end if;
2379    end if;
2380   end rosetta_table_copy_out_p79;
2381 
2382   procedure rosetta_table_copy_in_p81(t out nocopy oks_entitlements_pub.srchline_covlvl_id_tbl, a0 JTF_NUMBER_TABLE
2383     , a1 JTF_NUMBER_TABLE
2384     , a2 JTF_VARCHAR2_TABLE_100
2385     ) as
2386     ddindx binary_integer; indx binary_integer;
2387   begin
2388   if a0 is not null and a0.count > 0 then
2389       if a0.count > 0 then
2390         indx := a0.first;
2391         ddindx := 1;
2392         while true loop
2393           t(ddindx).covlvl_id1 := a0(indx);
2394           t(ddindx).covlvl_id2 := a1(indx);
2395           t(ddindx).covlvl_code := a2(indx);
2396           ddindx := ddindx+1;
2397           if a0.last =indx
2398             then exit;
2399           end if;
2400           indx := a0.next(indx);
2401         end loop;
2402       end if;
2403    end if;
2404   end rosetta_table_copy_in_p81;
2405   procedure rosetta_table_copy_out_p81(t oks_entitlements_pub.srchline_covlvl_id_tbl, a0 out nocopy JTF_NUMBER_TABLE
2406     , a1 out nocopy JTF_NUMBER_TABLE
2407     , a2 out nocopy JTF_VARCHAR2_TABLE_100
2408     ) as
2409     ddindx binary_integer; indx binary_integer;
2410   begin
2411   if t is null or t.count = 0 then
2412     a0 := JTF_NUMBER_TABLE();
2413     a1 := JTF_NUMBER_TABLE();
2414     a2 := JTF_VARCHAR2_TABLE_100();
2415   else
2416       a0 := JTF_NUMBER_TABLE();
2417       a1 := JTF_NUMBER_TABLE();
2418       a2 := JTF_VARCHAR2_TABLE_100();
2419       if t.count > 0 then
2420         a0.extend(t.count);
2421         a1.extend(t.count);
2422         a2.extend(t.count);
2423         ddindx := t.first;
2424         indx := 1;
2425         while true loop
2426           a0(indx) := t(ddindx).covlvl_id1;
2427           a1(indx) := t(ddindx).covlvl_id2;
2428           a2(indx) := t(ddindx).covlvl_code;
2429           indx := indx+1;
2430           if t.last =ddindx
2431             then exit;
2432           end if;
2433           ddindx := t.next(ddindx);
2434         end loop;
2435       end if;
2436    end if;
2437   end rosetta_table_copy_out_p81;
2438 
2439   procedure rosetta_table_copy_in_p83(t out nocopy oks_entitlements_pub.output_tbl_contractline, a0 JTF_VARCHAR2_TABLE_200
2440     , a1 JTF_VARCHAR2_TABLE_200
2441     , a2 JTF_VARCHAR2_TABLE_200
2442     , a3 JTF_VARCHAR2_TABLE_200
2443     , a4 JTF_VARCHAR2_TABLE_2000
2444     , a5 JTF_VARCHAR2_TABLE_2000
2445     , a6 JTF_DATE_TABLE
2446     , a7 JTF_DATE_TABLE
2447     , a8 JTF_VARCHAR2_TABLE_100
2448     , a9 JTF_VARCHAR2_TABLE_200
2449     , a10 JTF_NUMBER_TABLE
2450     , a11 JTF_NUMBER_TABLE
2451     , a12 JTF_NUMBER_TABLE
2452     , a13 JTF_NUMBER_TABLE
2453     , a14 JTF_NUMBER_TABLE
2454     , a15 JTF_VARCHAR2_TABLE_100
2455     , a16 JTF_NUMBER_TABLE
2456     , a17 JTF_VARCHAR2_TABLE_300
2457     ) as
2458     ddindx binary_integer; indx binary_integer;
2459   begin
2460   if a0 is not null and a0.count > 0 then
2461       if a0.count > 0 then
2462         indx := a0.first;
2463         ddindx := 1;
2464         while true loop
2465           t(ddindx).contract_number := a0(indx);
2466           t(ddindx).contract_number_modifier := a1(indx);
2467           t(ddindx).contract_line_number := a2(indx);
2468           t(ddindx).contract_line_type := a3(indx);
2469           t(ddindx).service_name := a4(indx);
2470           t(ddindx).contract_description := a5(indx);
2471           t(ddindx).line_start_date := rosetta_g_miss_date_in_map(a6(indx));
2472           t(ddindx).line_end_date := rosetta_g_miss_date_in_map(a7(indx));
2473           t(ddindx).contract_line_status_code := a8(indx);
2474           t(ddindx).coverage_name := a9(indx);
2475           t(ddindx).service_id := a10(indx);
2476           t(ddindx).service_lse_id := a11(indx);
2477           t(ddindx).covlevel_lse_id := a12(indx);
2478           t(ddindx).contract_id := a13(indx);
2479           t(ddindx).coverage_line_id := a14(indx);
2480           t(ddindx).scs_code := a15(indx);
2481           t(ddindx).operating_unit := a16(indx);
2482           t(ddindx).operating_unit_name := a17(indx);
2483           ddindx := ddindx+1;
2484           if a0.last =indx
2485             then exit;
2486           end if;
2487           indx := a0.next(indx);
2488         end loop;
2489       end if;
2490    end if;
2491   end rosetta_table_copy_in_p83;
2492   procedure rosetta_table_copy_out_p83(t oks_entitlements_pub.output_tbl_contractline, a0 out nocopy JTF_VARCHAR2_TABLE_200
2493     , a1 out nocopy JTF_VARCHAR2_TABLE_200
2494     , a2 out nocopy JTF_VARCHAR2_TABLE_200
2495     , a3 out nocopy JTF_VARCHAR2_TABLE_200
2496     , a4 out nocopy JTF_VARCHAR2_TABLE_2000
2497     , a5 out nocopy JTF_VARCHAR2_TABLE_2000
2498     , a6 out nocopy JTF_DATE_TABLE
2499     , a7 out nocopy JTF_DATE_TABLE
2500     , a8 out nocopy JTF_VARCHAR2_TABLE_100
2501     , a9 out nocopy JTF_VARCHAR2_TABLE_200
2502     , a10 out nocopy JTF_NUMBER_TABLE
2503     , a11 out nocopy JTF_NUMBER_TABLE
2504     , a12 out nocopy JTF_NUMBER_TABLE
2505     , a13 out nocopy JTF_NUMBER_TABLE
2506     , a14 out nocopy JTF_NUMBER_TABLE
2507     , a15 out nocopy JTF_VARCHAR2_TABLE_100
2508     , a16 out nocopy JTF_NUMBER_TABLE
2509     , a17 out nocopy JTF_VARCHAR2_TABLE_300
2510     ) as
2511     ddindx binary_integer; indx binary_integer;
2512   begin
2513   if t is null or t.count = 0 then
2514     a0 := JTF_VARCHAR2_TABLE_200();
2515     a1 := JTF_VARCHAR2_TABLE_200();
2516     a2 := JTF_VARCHAR2_TABLE_200();
2517     a3 := JTF_VARCHAR2_TABLE_200();
2518     a4 := JTF_VARCHAR2_TABLE_2000();
2519     a5 := JTF_VARCHAR2_TABLE_2000();
2520     a6 := JTF_DATE_TABLE();
2521     a7 := JTF_DATE_TABLE();
2522     a8 := JTF_VARCHAR2_TABLE_100();
2523     a9 := JTF_VARCHAR2_TABLE_200();
2524     a10 := JTF_NUMBER_TABLE();
2525     a11 := JTF_NUMBER_TABLE();
2526     a12 := JTF_NUMBER_TABLE();
2527     a13 := JTF_NUMBER_TABLE();
2528     a14 := JTF_NUMBER_TABLE();
2529     a15 := JTF_VARCHAR2_TABLE_100();
2530     a16 := JTF_NUMBER_TABLE();
2531     a17 := JTF_VARCHAR2_TABLE_300();
2532   else
2533       a0 := JTF_VARCHAR2_TABLE_200();
2534       a1 := JTF_VARCHAR2_TABLE_200();
2535       a2 := JTF_VARCHAR2_TABLE_200();
2536       a3 := JTF_VARCHAR2_TABLE_200();
2537       a4 := JTF_VARCHAR2_TABLE_2000();
2538       a5 := JTF_VARCHAR2_TABLE_2000();
2539       a6 := JTF_DATE_TABLE();
2540       a7 := JTF_DATE_TABLE();
2541       a8 := JTF_VARCHAR2_TABLE_100();
2542       a9 := JTF_VARCHAR2_TABLE_200();
2543       a10 := JTF_NUMBER_TABLE();
2544       a11 := JTF_NUMBER_TABLE();
2545       a12 := JTF_NUMBER_TABLE();
2546       a13 := JTF_NUMBER_TABLE();
2547       a14 := JTF_NUMBER_TABLE();
2548       a15 := JTF_VARCHAR2_TABLE_100();
2549       a16 := JTF_NUMBER_TABLE();
2550       a17 := JTF_VARCHAR2_TABLE_300();
2551       if t.count > 0 then
2552         a0.extend(t.count);
2553         a1.extend(t.count);
2554         a2.extend(t.count);
2555         a3.extend(t.count);
2556         a4.extend(t.count);
2557         a5.extend(t.count);
2558         a6.extend(t.count);
2559         a7.extend(t.count);
2560         a8.extend(t.count);
2561         a9.extend(t.count);
2562         a10.extend(t.count);
2563         a11.extend(t.count);
2564         a12.extend(t.count);
2565         a13.extend(t.count);
2566         a14.extend(t.count);
2567         a15.extend(t.count);
2568         a16.extend(t.count);
2569         a17.extend(t.count);
2570         ddindx := t.first;
2571         indx := 1;
2572         while true loop
2573           a0(indx) := t(ddindx).contract_number;
2574           a1(indx) := t(ddindx).contract_number_modifier;
2575           a2(indx) := t(ddindx).contract_line_number;
2576           a3(indx) := t(ddindx).contract_line_type;
2577           a4(indx) := t(ddindx).service_name;
2578           a5(indx) := t(ddindx).contract_description;
2579           a6(indx) := t(ddindx).line_start_date;
2580           a7(indx) := t(ddindx).line_end_date;
2581           a8(indx) := t(ddindx).contract_line_status_code;
2582           a9(indx) := t(ddindx).coverage_name;
2583           a10(indx) := t(ddindx).service_id;
2584           a11(indx) := t(ddindx).service_lse_id;
2585           a12(indx) := t(ddindx).covlevel_lse_id;
2586           a13(indx) := t(ddindx).contract_id;
2587           a14(indx) := t(ddindx).coverage_line_id;
2588           a15(indx) := t(ddindx).scs_code;
2589           a16(indx) := t(ddindx).operating_unit;
2590           a17(indx) := t(ddindx).operating_unit_name;
2591           indx := indx+1;
2592           if t.last =ddindx
2593             then exit;
2594           end if;
2595           ddindx := t.next(ddindx);
2596         end loop;
2597       end if;
2598    end if;
2599   end rosetta_table_copy_out_p83;
2600 
2601   procedure get_all_contracts(p_api_version  NUMBER
2602     , p_init_msg_list  VARCHAR2
2603     , p2_a0  NUMBER
2604     , p2_a1  VARCHAR2
2605     , p2_a2  VARCHAR2
2606     , p2_a3  DATE
2607     , p2_a4  NUMBER
2608     , x_return_status out nocopy  VARCHAR2
2609     , x_msg_count out nocopy  NUMBER
2610     , x_msg_data out nocopy  VARCHAR2
2611     , p6_a0 out nocopy JTF_NUMBER_TABLE
2612     , p6_a1 out nocopy JTF_NUMBER_TABLE
2613     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_200
2614     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_200
2615     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_600
2616     , p6_a5 out nocopy JTF_NUMBER_TABLE
2617     , p6_a6 out nocopy JTF_VARCHAR2_TABLE_100
2618     , p6_a7 out nocopy JTF_VARCHAR2_TABLE_100
2619     , p6_a8 out nocopy JTF_NUMBER_TABLE
2620     , p6_a9 out nocopy JTF_VARCHAR2_TABLE_100
2621     , p6_a10 out nocopy JTF_VARCHAR2_TABLE_200
2622     , p6_a11 out nocopy JTF_NUMBER_TABLE
2623     , p6_a12 out nocopy JTF_VARCHAR2_TABLE_100
2624     , p6_a13 out nocopy JTF_DATE_TABLE
2625     , p6_a14 out nocopy JTF_DATE_TABLE
2626     , p6_a15 out nocopy JTF_NUMBER_TABLE
2627     , p6_a16 out nocopy JTF_NUMBER_TABLE
2628     , p6_a17 out nocopy JTF_NUMBER_TABLE
2629     , p6_a18 out nocopy JTF_NUMBER_TABLE
2630     , p6_a19 out nocopy JTF_NUMBER_TABLE
2631     , p6_a20 out nocopy JTF_VARCHAR2_TABLE_100
2632     , p6_a21 out nocopy JTF_NUMBER_TABLE
2633     , p6_a22 out nocopy JTF_NUMBER_TABLE
2634     , p6_a23 out nocopy JTF_NUMBER_TABLE
2635     , p6_a24 out nocopy JTF_VARCHAR2_TABLE_200
2636     , p6_a25 out nocopy JTF_NUMBER_TABLE
2637     , p6_a26 out nocopy JTF_VARCHAR2_TABLE_100
2638     , p6_a27 out nocopy JTF_VARCHAR2_TABLE_100
2639     , p6_a28 out nocopy JTF_NUMBER_TABLE
2640     , p6_a29 out nocopy JTF_DATE_TABLE
2641     , p6_a30 out nocopy JTF_DATE_TABLE
2642     , p6_a31 out nocopy JTF_NUMBER_TABLE
2643     , p6_a32 out nocopy JTF_NUMBER_TABLE
2644     , p6_a33 out nocopy JTF_CLOB_TABLE
2645     , p6_a34 out nocopy JTF_CLOB_TABLE
2646     , p6_a35 out nocopy JTF_VARCHAR2_TABLE_500
2647     , p6_a36 out nocopy JTF_VARCHAR2_TABLE_500
2648     , p6_a37 out nocopy JTF_VARCHAR2_TABLE_500
2649   )
2650 
2651   as
2652     ddp_inp_rec oks_entitlements_pub.inp_rec_type;
2653     ddx_all_contracts oks_entitlements_pub.hdr_tbl_type;
2654     ddindx binary_integer; indx binary_integer;
2655   begin
2656 
2657     -- copy data to the local IN or IN-OUT args, if any
2658 
2659 
2660     ddp_inp_rec.contract_id := p2_a0;
2661     ddp_inp_rec.contract_status_code := p2_a1;
2662     ddp_inp_rec.contract_type_code := p2_a2;
2663     ddp_inp_rec.end_date_active := rosetta_g_miss_date_in_map(p2_a3);
2664     ddp_inp_rec.party_id := p2_a4;
2665 
2666 
2667 
2668 
2669 
2670     -- here's the delegated call to the old PL/SQL routine
2671     oks_entitlements_pub.get_all_contracts(p_api_version,
2672       p_init_msg_list,
2673       ddp_inp_rec,
2674       x_return_status,
2675       x_msg_count,
2676       x_msg_data,
2677       ddx_all_contracts);
2678 
2679     -- copy data back from the local variables to OUT or IN-OUT args, if any
2680 
2681 
2682 
2683 
2684 
2685 
2686     oks_entitlements_pub_w.rosetta_table_copy_out_p16(ddx_all_contracts, p6_a0
2687       , p6_a1
2688       , p6_a2
2689       , p6_a3
2690       , p6_a4
2691       , p6_a5
2692       , p6_a6
2693       , p6_a7
2694       , p6_a8
2695       , p6_a9
2696       , p6_a10
2697       , p6_a11
2698       , p6_a12
2699       , p6_a13
2700       , p6_a14
2701       , p6_a15
2702       , p6_a16
2703       , p6_a17
2704       , p6_a18
2705       , p6_a19
2706       , p6_a20
2707       , p6_a21
2708       , p6_a22
2709       , p6_a23
2710       , p6_a24
2711       , p6_a25
2712       , p6_a26
2713       , p6_a27
2714       , p6_a28
2715       , p6_a29
2716       , p6_a30
2717       , p6_a31
2718       , p6_a32
2719       , p6_a33
2720       , p6_a34
2721       , p6_a35
2722       , p6_a36
2723       , p6_a37
2724       );
2725   end;
2726 
2727   procedure get_contract_details(p_api_version  NUMBER
2728     , p_init_msg_list  VARCHAR2
2729     , p_contract_line_id  NUMBER
2730     , x_return_status out nocopy  VARCHAR2
2731     , x_msg_count out nocopy  NUMBER
2732     , x_msg_data out nocopy  VARCHAR2
2733     , p6_a0 out nocopy JTF_NUMBER_TABLE
2734     , p6_a1 out nocopy JTF_NUMBER_TABLE
2735     , p6_a2 out nocopy JTF_NUMBER_TABLE
2736     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_100
2737     , p6_a4 out nocopy JTF_NUMBER_TABLE
2738     , p6_a5 out nocopy JTF_VARCHAR2_TABLE_100
2739     , p6_a6 out nocopy JTF_DATE_TABLE
2740     , p6_a7 out nocopy JTF_DATE_TABLE
2741     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_200
2742     , p6_a9 out nocopy JTF_NUMBER_TABLE
2743     , p6_a10 out nocopy JTF_NUMBER_TABLE
2744     , p6_a11 out nocopy JTF_NUMBER_TABLE
2745     , p6_a12 out nocopy JTF_NUMBER_TABLE
2746     , p6_a13 out nocopy JTF_NUMBER_TABLE
2747     , p6_a14 out nocopy JTF_NUMBER_TABLE
2748     , p6_a15 out nocopy JTF_NUMBER_TABLE
2749     , p6_a16 out nocopy JTF_VARCHAR2_TABLE_100
2750     , p6_a17 out nocopy JTF_VARCHAR2_TABLE_100
2751     , p6_a18 out nocopy JTF_NUMBER_TABLE
2752     , p6_a19 out nocopy JTF_DATE_TABLE
2753     , p6_a20 out nocopy JTF_DATE_TABLE
2754     , p6_a21 out nocopy JTF_DATE_TABLE
2755   )
2756 
2757   as
2758     ddx_all_lines oks_entitlements_pub.line_tbl_type;
2759     ddindx binary_integer; indx binary_integer;
2760   begin
2761 
2762     -- copy data to the local IN or IN-OUT args, if any
2763 
2764 
2765 
2766 
2767 
2768 
2769 
2770     -- here's the delegated call to the old PL/SQL routine
2771     oks_entitlements_pub.get_contract_details(p_api_version,
2772       p_init_msg_list,
2773       p_contract_line_id,
2774       x_return_status,
2775       x_msg_count,
2776       x_msg_data,
2777       ddx_all_lines);
2778 
2779     -- copy data back from the local variables to OUT or IN-OUT args, if any
2780 
2781 
2782 
2783 
2784 
2785 
2786     oks_entitlements_pub_w.rosetta_table_copy_out_p19(ddx_all_lines, p6_a0
2787       , p6_a1
2788       , p6_a2
2789       , p6_a3
2790       , p6_a4
2791       , p6_a5
2792       , p6_a6
2793       , p6_a7
2794       , p6_a8
2795       , p6_a9
2796       , p6_a10
2797       , p6_a11
2798       , p6_a12
2799       , p6_a13
2800       , p6_a14
2801       , p6_a15
2802       , p6_a16
2803       , p6_a17
2804       , p6_a18
2805       , p6_a19
2806       , p6_a20
2807       , p6_a21
2808       );
2809   end;
2810 
2811   procedure get_coverage_levels(p_api_version  NUMBER
2812     , p_init_msg_list  VARCHAR2
2813     , p_contract_line_id  NUMBER
2814     , x_return_status out nocopy  VARCHAR2
2815     , x_msg_count out nocopy  NUMBER
2816     , x_msg_data out nocopy  VARCHAR2
2817     , p6_a0 out nocopy JTF_VARCHAR2_TABLE_100
2818     , p6_a1 out nocopy JTF_NUMBER_TABLE
2819     , p6_a2 out nocopy JTF_NUMBER_TABLE
2820     , p6_a3 out nocopy JTF_NUMBER_TABLE
2821     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_200
2822     , p6_a5 out nocopy JTF_NUMBER_TABLE
2823     , p6_a6 out nocopy JTF_VARCHAR2_TABLE_300
2824     , p6_a7 out nocopy JTF_NUMBER_TABLE
2825     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_300
2826     , p6_a9 out nocopy JTF_NUMBER_TABLE
2827     , p6_a10 out nocopy JTF_VARCHAR2_TABLE_300
2828     , p6_a11 out nocopy JTF_NUMBER_TABLE
2829     , p6_a12 out nocopy JTF_VARCHAR2_TABLE_300
2830     , p6_a13 out nocopy JTF_NUMBER_TABLE
2831     , p6_a14 out nocopy JTF_VARCHAR2_TABLE_300
2832     , p6_a15 out nocopy JTF_NUMBER_TABLE
2833     , p6_a16 out nocopy JTF_VARCHAR2_TABLE_500
2834     , p6_a17 out nocopy JTF_NUMBER_TABLE
2835     , p6_a18 out nocopy JTF_NUMBER_TABLE
2836     , p6_a19 out nocopy JTF_NUMBER_TABLE
2837     , p6_a20 out nocopy JTF_VARCHAR2_TABLE_200
2838     , p6_a21 out nocopy JTF_VARCHAR2_TABLE_100
2839     , p6_a22 out nocopy JTF_NUMBER_TABLE
2840     , p6_a23 out nocopy JTF_VARCHAR2_TABLE_100
2841     , p6_a24 out nocopy JTF_NUMBER_TABLE
2842     , p6_a25 out nocopy JTF_VARCHAR2_TABLE_100
2843     , p6_a26 out nocopy JTF_NUMBER_TABLE
2844     , p6_a27 out nocopy JTF_VARCHAR2_TABLE_100
2845     , p6_a28 out nocopy JTF_NUMBER_TABLE
2846     , p6_a29 out nocopy JTF_VARCHAR2_TABLE_100
2847     , p6_a30 out nocopy JTF_NUMBER_TABLE
2848     , p6_a31 out nocopy JTF_VARCHAR2_TABLE_100
2849     , p6_a32 out nocopy JTF_NUMBER_TABLE
2850     , p6_a33 out nocopy JTF_VARCHAR2_TABLE_100
2851     , p6_a34 out nocopy JTF_VARCHAR2_TABLE_100
2852   )
2853 
2854   as
2855     ddx_covered_levels oks_entitlements_pub.clvl_tbl_type;
2856     ddindx binary_integer; indx binary_integer;
2857   begin
2858 
2859     -- copy data to the local IN or IN-OUT args, if any
2860 
2861 
2862 
2863 
2864 
2865 
2866 
2867     -- here's the delegated call to the old PL/SQL routine
2868     oks_entitlements_pub.get_coverage_levels(p_api_version,
2869       p_init_msg_list,
2870       p_contract_line_id,
2871       x_return_status,
2872       x_msg_count,
2873       x_msg_data,
2874       ddx_covered_levels);
2875 
2876     -- copy data back from the local variables to OUT or IN-OUT args, if any
2877 
2878 
2879 
2880 
2881 
2882 
2883     oks_entitlements_pub_w.rosetta_table_copy_out_p22(ddx_covered_levels, p6_a0
2884       , p6_a1
2885       , p6_a2
2886       , p6_a3
2887       , p6_a4
2888       , p6_a5
2889       , p6_a6
2890       , p6_a7
2891       , p6_a8
2892       , p6_a9
2893       , p6_a10
2894       , p6_a11
2895       , p6_a12
2896       , p6_a13
2897       , p6_a14
2898       , p6_a15
2899       , p6_a16
2900       , p6_a17
2901       , p6_a18
2902       , p6_a19
2903       , p6_a20
2904       , p6_a21
2905       , p6_a22
2906       , p6_a23
2907       , p6_a24
2908       , p6_a25
2909       , p6_a26
2910       , p6_a27
2911       , p6_a28
2912       , p6_a29
2913       , p6_a30
2914       , p6_a31
2915       , p6_a32
2916       , p6_a33
2917       , p6_a34
2918       );
2919   end;
2920 
2921   procedure get_contracts(p_api_version  NUMBER
2922     , p_init_msg_list  VARCHAR2
2923     , p2_a0  VARCHAR2
2924     , p2_a1  VARCHAR2
2925     , p2_a2  NUMBER
2926     , p2_a3  NUMBER
2927     , p2_a4  NUMBER
2928     , p2_a5  NUMBER
2929     , p2_a6  NUMBER
2930     , p2_a7  NUMBER
2931     , p2_a8  NUMBER
2932     , p2_a9  DATE
2933     , p2_a10  VARCHAR2
2934     , x_return_status out nocopy  VARCHAR2
2935     , x_msg_count out nocopy  NUMBER
2936     , x_msg_data out nocopy  VARCHAR2
2937     , p6_a0 out nocopy JTF_NUMBER_TABLE
2938     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_200
2939     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_200
2940     , p6_a3 out nocopy JTF_NUMBER_TABLE
2941     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_300
2942     , p6_a5 out nocopy JTF_VARCHAR2_TABLE_300
2943     , p6_a6 out nocopy JTF_NUMBER_TABLE
2944     , p6_a7 out nocopy JTF_VARCHAR2_TABLE_200
2945     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_2000
2946     , p6_a9 out nocopy JTF_VARCHAR2_TABLE_100
2947     , p6_a10 out nocopy JTF_VARCHAR2_TABLE_100
2948     , p6_a11 out nocopy JTF_NUMBER_TABLE
2949     , p6_a12 out nocopy JTF_NUMBER_TABLE
2950     , p6_a13 out nocopy JTF_VARCHAR2_TABLE_200
2951     , p6_a14 out nocopy JTF_VARCHAR2_TABLE_100
2952     , p6_a15 out nocopy JTF_DATE_TABLE
2953     , p6_a16 out nocopy JTF_DATE_TABLE
2954     , p6_a17 out nocopy JTF_NUMBER_TABLE
2955     , p6_a18 out nocopy JTF_VARCHAR2_TABLE_100
2956     , p6_a19 out nocopy JTF_VARCHAR2_TABLE_100
2957   )
2958 
2959   as
2960     ddp_inp_rec oks_entitlements_pub.inp_cont_rec;
2961     ddx_ent_contracts oks_entitlements_pub.ent_cont_tbl;
2962     ddindx binary_integer; indx binary_integer;
2963   begin
2964 
2965     -- copy data to the local IN or IN-OUT args, if any
2966 
2967 
2968     ddp_inp_rec.contract_number := p2_a0;
2969     ddp_inp_rec.contract_number_modifier := p2_a1;
2970     ddp_inp_rec.coverage_level_line_id := p2_a2;
2971     ddp_inp_rec.party_id := p2_a3;
2972     ddp_inp_rec.site_id := p2_a4;
2973     ddp_inp_rec.cust_acct_id := p2_a5;
2974     ddp_inp_rec.system_id := p2_a6;
2975     ddp_inp_rec.item_id := p2_a7;
2976     ddp_inp_rec.product_id := p2_a8;
2977     ddp_inp_rec.request_date := rosetta_g_miss_date_in_map(p2_a9);
2978     ddp_inp_rec.validate_flag := p2_a10;
2979 
2980 
2981 
2982 
2983 
2984     -- here's the delegated call to the old PL/SQL routine
2985     oks_entitlements_pub.get_contracts(p_api_version,
2986       p_init_msg_list,
2987       ddp_inp_rec,
2988       x_return_status,
2989       x_msg_count,
2990       x_msg_data,
2991       ddx_ent_contracts);
2992 
2993     -- copy data back from the local variables to OUT or IN-OUT args, if any
2994 
2995 
2996 
2997 
2998 
2999 
3000     oks_entitlements_pub_w.rosetta_table_copy_out_p26(ddx_ent_contracts, p6_a0
3001       , p6_a1
3002       , p6_a2
3003       , p6_a3
3004       , p6_a4
3005       , p6_a5
3006       , p6_a6
3007       , p6_a7
3008       , p6_a8
3009       , p6_a9
3010       , p6_a10
3011       , p6_a11
3012       , p6_a12
3013       , p6_a13
3014       , p6_a14
3015       , p6_a15
3016       , p6_a16
3017       , p6_a17
3018       , p6_a18
3019       , p6_a19
3020       );
3021   end;
3022 
3023   procedure get_contracts(p_api_version  NUMBER
3024     , p_init_msg_list  VARCHAR2
3025     , p2_a0  VARCHAR2
3026     , p2_a1  VARCHAR2
3027     , p2_a2  NUMBER
3028     , p2_a3  NUMBER
3029     , p2_a4  NUMBER
3030     , p2_a5  NUMBER
3031     , p2_a6  NUMBER
3032     , p2_a7  NUMBER
3033     , p2_a8  NUMBER
3034     , p2_a9  DATE
3035     , p2_a10  DATE
3036     , p2_a11  NUMBER
3037     , p2_a12  NUMBER
3038     , p2_a13  NUMBER
3039     , p2_a14  VARCHAR2
3040     , p2_a15  VARCHAR2
3041     , p2_a16  VARCHAR2
3042     , p2_a17  VARCHAR2
3043     , x_return_status out nocopy  VARCHAR2
3044     , x_msg_count out nocopy  NUMBER
3045     , x_msg_data out nocopy  VARCHAR2
3046     , p6_a0 out nocopy JTF_NUMBER_TABLE
3047     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_200
3048     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_200
3049     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_100
3050     , p6_a4 out nocopy JTF_NUMBER_TABLE
3051     , p6_a5 out nocopy JTF_VARCHAR2_TABLE_300
3052     , p6_a6 out nocopy JTF_VARCHAR2_TABLE_300
3053     , p6_a7 out nocopy JTF_NUMBER_TABLE
3054     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_200
3055     , p6_a9 out nocopy JTF_VARCHAR2_TABLE_2000
3056     , p6_a10 out nocopy JTF_VARCHAR2_TABLE_100
3057     , p6_a11 out nocopy JTF_VARCHAR2_TABLE_100
3058     , p6_a12 out nocopy JTF_NUMBER_TABLE
3059     , p6_a13 out nocopy JTF_DATE_TABLE
3060     , p6_a14 out nocopy JTF_DATE_TABLE
3061     , p6_a15 out nocopy JTF_VARCHAR2_TABLE_100
3062     , p6_a16 out nocopy JTF_VARCHAR2_TABLE_100
3063     , p6_a17 out nocopy JTF_DATE_TABLE
3064     , p6_a18 out nocopy JTF_DATE_TABLE
3065     , p6_a19 out nocopy JTF_VARCHAR2_TABLE_100
3066     , p6_a20 out nocopy JTF_VARCHAR2_TABLE_2000
3067     , p6_a21 out nocopy JTF_DATE_TABLE
3068     , p6_a22 out nocopy JTF_VARCHAR2_TABLE_100
3069     , p6_a23 out nocopy JTF_VARCHAR2_TABLE_500
3070     , p6_a24 out nocopy JTF_VARCHAR2_TABLE_100
3071     , p6_a25 out nocopy JTF_VARCHAR2_TABLE_500
3072     , p6_a26 out nocopy JTF_VARCHAR2_TABLE_100
3073     , p6_a27 out nocopy JTF_NUMBER_TABLE
3074   )
3075 
3076   as
3077     ddp_inp_rec oks_entitlements_pub.get_contin_rec;
3078     ddx_ent_contracts oks_entitlements_pub.get_contop_tbl;
3079     ddindx binary_integer; indx binary_integer;
3080   begin
3081 
3082     -- copy data to the local IN or IN-OUT args, if any
3083 
3084 
3085     ddp_inp_rec.contract_number := p2_a0;
3086     ddp_inp_rec.contract_number_modifier := p2_a1;
3087     ddp_inp_rec.service_line_id := p2_a2;
3088     ddp_inp_rec.party_id := p2_a3;
3089     ddp_inp_rec.site_id := p2_a4;
3090     ddp_inp_rec.cust_acct_id := p2_a5;
3091     ddp_inp_rec.system_id := p2_a6;
3092     ddp_inp_rec.item_id := p2_a7;
3093     ddp_inp_rec.product_id := p2_a8;
3094     ddp_inp_rec.request_date := rosetta_g_miss_date_in_map(p2_a9);
3095     ddp_inp_rec.incident_date := rosetta_g_miss_date_in_map(p2_a10);
3096     ddp_inp_rec.business_process_id := p2_a11;
3097     ddp_inp_rec.severity_id := p2_a12;
3098     ddp_inp_rec.time_zone_id := p2_a13;
3099     ddp_inp_rec.dates_in_input_tz := p2_a14;
3100     ddp_inp_rec.calc_resptime_flag := p2_a15;
3101     ddp_inp_rec.validate_flag := p2_a16;
3102     ddp_inp_rec.sort_key := p2_a17;
3103 
3104 
3105 
3106 
3107 
3108     -- here's the delegated call to the old PL/SQL routine
3109     oks_entitlements_pub.get_contracts(p_api_version,
3110       p_init_msg_list,
3111       ddp_inp_rec,
3112       x_return_status,
3113       x_msg_count,
3114       x_msg_data,
3115       ddx_ent_contracts);
3116 
3117     -- copy data back from the local variables to OUT or IN-OUT args, if any
3118 
3119 
3120 
3121 
3122 
3123 
3124     oks_entitlements_pub_w.rosetta_table_copy_out_p30(ddx_ent_contracts, p6_a0
3125       , p6_a1
3126       , p6_a2
3127       , p6_a3
3128       , p6_a4
3129       , p6_a5
3130       , p6_a6
3131       , p6_a7
3132       , p6_a8
3133       , p6_a9
3134       , p6_a10
3135       , p6_a11
3136       , p6_a12
3137       , p6_a13
3138       , p6_a14
3139       , p6_a15
3140       , p6_a16
3141       , p6_a17
3142       , p6_a18
3143       , p6_a19
3144       , p6_a20
3145       , p6_a21
3146       , p6_a22
3147       , p6_a23
3148       , p6_a24
3149       , p6_a25
3150       , p6_a26
3151       , p6_a27
3152       );
3153   end;
3154 
3155   procedure get_contracts(p_api_version  NUMBER
3156     , p_init_msg_list  VARCHAR2
3157     , p2_a0  VARCHAR2
3158     , p2_a1  VARCHAR2
3159     , p2_a2  NUMBER
3160     , p2_a3  NUMBER
3161     , p2_a4  NUMBER
3162     , p2_a5  NUMBER
3163     , p2_a6  NUMBER
3164     , p2_a7  NUMBER
3165     , p2_a8  NUMBER
3166     , p2_a9  NUMBER
3167     , p2_a10  NUMBER
3168     , p2_a11  NUMBER
3169     , p2_a12  VARCHAR2
3170     , p2_a13  VARCHAR2
3171     , p2_a14  VARCHAR2
3172     , x_return_status out nocopy  VARCHAR2
3173     , x_msg_count out nocopy  NUMBER
3174     , x_msg_data out nocopy  VARCHAR2
3175     , p6_a0 out nocopy JTF_NUMBER_TABLE
3176     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_200
3177     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_200
3178     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_100
3179     , p6_a4 out nocopy JTF_NUMBER_TABLE
3180     , p6_a5 out nocopy JTF_VARCHAR2_TABLE_300
3181     , p6_a6 out nocopy JTF_VARCHAR2_TABLE_300
3182     , p6_a7 out nocopy JTF_NUMBER_TABLE
3183     , p6_a8 out nocopy JTF_VARCHAR2_TABLE_200
3184     , p6_a9 out nocopy JTF_VARCHAR2_TABLE_2000
3185     , p6_a10 out nocopy JTF_VARCHAR2_TABLE_100
3186     , p6_a11 out nocopy JTF_NUMBER_TABLE
3187     , p6_a12 out nocopy JTF_DATE_TABLE
3188     , p6_a13 out nocopy JTF_DATE_TABLE
3189     , p6_a14 out nocopy JTF_VARCHAR2_TABLE_100
3190     , p6_a15 out nocopy JTF_VARCHAR2_TABLE_100
3191     , p6_a16 out nocopy JTF_DATE_TABLE
3192     , p6_a17 out nocopy JTF_DATE_TABLE
3193     , p6_a18 out nocopy JTF_VARCHAR2_TABLE_100
3194     , p6_a19 out nocopy JTF_VARCHAR2_TABLE_2000
3195     , p6_a20 out nocopy JTF_DATE_TABLE
3196     , p6_a21 out nocopy JTF_NUMBER_TABLE
3197   )
3198 
3199   as
3200     ddp_inp_rec oks_entitlements_pub.input_rec_ib;
3201     ddx_ent_contracts oks_entitlements_pub.output_tbl_ib;
3202     ddindx binary_integer; indx binary_integer;
3203   begin
3204 
3205     -- copy data to the local IN or IN-OUT args, if any
3206 
3207 
3208     ddp_inp_rec.contract_number := p2_a0;
3209     ddp_inp_rec.contract_number_modifier := p2_a1;
3210     ddp_inp_rec.service_line_id := p2_a2;
3211     ddp_inp_rec.party_id := p2_a3;
3212     ddp_inp_rec.site_id := p2_a4;
3213     ddp_inp_rec.cust_acct_id := p2_a5;
3214     ddp_inp_rec.system_id := p2_a6;
3215     ddp_inp_rec.item_id := p2_a7;
3216     ddp_inp_rec.product_id := p2_a8;
3217     ddp_inp_rec.business_process_id := p2_a9;
3218     ddp_inp_rec.severity_id := p2_a10;
3219     ddp_inp_rec.time_zone_id := p2_a11;
3220     ddp_inp_rec.dates_in_input_tz := p2_a12;
3221     ddp_inp_rec.calc_resptime_flag := p2_a13;
3222     ddp_inp_rec.validate_flag := p2_a14;
3223 
3224 
3225 
3226 
3227 
3228     -- here's the delegated call to the old PL/SQL routine
3229     oks_entitlements_pub.get_contracts(p_api_version,
3230       p_init_msg_list,
3231       ddp_inp_rec,
3232       x_return_status,
3233       x_msg_count,
3234       x_msg_data,
3235       ddx_ent_contracts);
3236 
3237     -- copy data back from the local variables to OUT or IN-OUT args, if any
3238 
3239 
3240 
3241 
3242 
3243 
3244     oks_entitlements_pub_w.rosetta_table_copy_out_p34(ddx_ent_contracts, p6_a0
3245       , p6_a1
3246       , p6_a2
3247       , p6_a3
3248       , p6_a4
3249       , p6_a5
3250       , p6_a6
3251       , p6_a7
3252       , p6_a8
3253       , p6_a9
3254       , p6_a10
3255       , p6_a11
3256       , p6_a12
3257       , p6_a13
3258       , p6_a14
3259       , p6_a15
3260       , p6_a16
3261       , p6_a17
3262       , p6_a18
3263       , p6_a19
3264       , p6_a20
3265       , p6_a21
3266       );
3267   end;
3268 
3269   procedure get_contracts(p_api_version  NUMBER
3270     , p_init_msg_list  VARCHAR2
3271     , p2_a0  VARCHAR2
3272     , p2_a1  VARCHAR2
3273     , p2_a2  NUMBER
3274     , p2_a3  NUMBER
3275     , p2_a4  NUMBER
3276     , p2_a5  NUMBER
3277     , p2_a6  NUMBER
3278     , p2_a7  NUMBER
3279     , p2_a8  NUMBER
3280     , p2_a9  NUMBER
3281     , p2_a10  DATE
3282     , p2_a11  VARCHAR2
3283     , x_return_status out nocopy  VARCHAR2
3284     , x_msg_count out nocopy  NUMBER
3285     , x_msg_data out nocopy  VARCHAR2
3286     , p6_a0 out nocopy JTF_NUMBER_TABLE
3287     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_200
3288     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_200
3289     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_300
3290     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_600
3291     , p6_a5 out nocopy JTF_VARCHAR2_TABLE_100
3292     , p6_a6 out nocopy JTF_DATE_TABLE
3293     , p6_a7 out nocopy JTF_DATE_TABLE
3294     , p6_a8 out nocopy JTF_DATE_TABLE
3295   )
3296 
3297   as
3298     ddp_inp_rec oks_entitlements_pub.input_rec_entfrm;
3299     ddx_ent_contracts oks_entitlements_pub.output_tbl_entfrm;
3300     ddindx binary_integer; indx binary_integer;
3301   begin
3302 
3303     -- copy data to the local IN or IN-OUT args, if any
3304 
3305 
3306     ddp_inp_rec.contract_number := p2_a0;
3307     ddp_inp_rec.contract_number_modifier := p2_a1;
3308     ddp_inp_rec.contract_customer_id := p2_a2;
3309     ddp_inp_rec.contract_service_item_id := p2_a3;
3310     ddp_inp_rec.covlvl_party_id := p2_a4;
3311     ddp_inp_rec.covlvl_site_id := p2_a5;
3312     ddp_inp_rec.covlvl_cust_acct_id := p2_a6;
3313     ddp_inp_rec.covlvl_system_id := p2_a7;
3314     ddp_inp_rec.covlvl_item_id := p2_a8;
3315     ddp_inp_rec.covlvl_product_id := p2_a9;
3316     ddp_inp_rec.request_date := rosetta_g_miss_date_in_map(p2_a10);
3317     ddp_inp_rec.validate_effectivity := p2_a11;
3318 
3319 
3320 
3321 
3322 
3323     -- here's the delegated call to the old PL/SQL routine
3324     oks_entitlements_pub.get_contracts(p_api_version,
3325       p_init_msg_list,
3326       ddp_inp_rec,
3327       x_return_status,
3328       x_msg_count,
3329       x_msg_data,
3330       ddx_ent_contracts);
3331 
3332     -- copy data back from the local variables to OUT or IN-OUT args, if any
3333 
3334 
3335 
3336 
3337 
3338 
3339     oks_entitlements_pub_w.rosetta_table_copy_out_p38(ddx_ent_contracts, p6_a0
3340       , p6_a1
3341       , p6_a2
3342       , p6_a3
3343       , p6_a4
3344       , p6_a5
3345       , p6_a6
3346       , p6_a7
3347       , p6_a8
3348       );
3349   end;
3350 
3351   procedure validate_contract_line(p_api_version  NUMBER
3352     , p_init_msg_list  VARCHAR2
3353     , p_contract_line_id  NUMBER
3354     , p_busiproc_id  NUMBER
3355     , p_request_date  date
3356     , p5_a0 JTF_VARCHAR2_TABLE_100
3357     , p5_a1 JTF_NUMBER_TABLE
3358     , p5_a2 JTF_NUMBER_TABLE
3359     , p5_a3 JTF_VARCHAR2_TABLE_100
3360     , p_verify_combination  VARCHAR2
3361     , x_return_status out nocopy  VARCHAR2
3362     , x_msg_count out nocopy  NUMBER
3363     , x_msg_data out nocopy  VARCHAR2
3364     , p10_a0 out nocopy JTF_VARCHAR2_TABLE_100
3365     , p10_a1 out nocopy JTF_NUMBER_TABLE
3366     , p10_a2 out nocopy JTF_NUMBER_TABLE
3367     , p10_a3 out nocopy JTF_VARCHAR2_TABLE_100
3368     , x_combination_valid out nocopy  VARCHAR2
3369   )
3370 
3371   as
3372     ddp_request_date date;
3373     ddp_covlevel_tbl_in oks_entitlements_pub.covlevel_tbl_type;
3374     ddx_covlevel_tbl_out oks_entitlements_pub.covlevel_tbl_type;
3375     ddindx binary_integer; indx binary_integer;
3376   begin
3377 
3378     -- copy data to the local IN or IN-OUT args, if any
3379 
3380 
3381 
3382 
3383     ddp_request_date := rosetta_g_miss_date_in_map(p_request_date);
3384 
3385     oks_entitlements_pub_w.rosetta_table_copy_in_p41(ddp_covlevel_tbl_in, p5_a0
3386       , p5_a1
3387       , p5_a2
3388       , p5_a3
3389       );
3390 
3391 
3392 
3393 
3394 
3395 
3396 
3397     -- here's the delegated call to the old PL/SQL routine
3398     oks_entitlements_pub.validate_contract_line(p_api_version,
3399       p_init_msg_list,
3400       p_contract_line_id,
3401       p_busiproc_id,
3402       ddp_request_date,
3403       ddp_covlevel_tbl_in,
3404       p_verify_combination,
3405       x_return_status,
3406       x_msg_count,
3407       x_msg_data,
3408       ddx_covlevel_tbl_out,
3409       x_combination_valid);
3410 
3411     -- copy data back from the local variables to OUT or IN-OUT args, if any
3412 
3413 
3414 
3415 
3416 
3417 
3418 
3419 
3420 
3421 
3422     oks_entitlements_pub_w.rosetta_table_copy_out_p41(ddx_covlevel_tbl_out, p10_a0
3423       , p10_a1
3424       , p10_a2
3425       , p10_a3
3426       );
3427 
3428   end;
3429 
3430   procedure search_contracts(p_api_version  NUMBER
3431     , p_init_msg_list  VARCHAR2
3432     , p2_a0  VARCHAR2
3433     , p2_a1  VARCHAR2
3434     , p2_a2  VARCHAR2
3435     , p2_a3  DATE
3436     , p2_a4  DATE
3437     , p2_a5  DATE
3438     , p2_a6  DATE
3439     , p2_a7  DATE
3440     , p2_a8  DATE
3441     , p2_a9  NUMBER
3442     , p2_a10  DATE
3443     , p2_a11  VARCHAR2
3444     , p3_a0 JTF_NUMBER_TABLE
3445     , p3_a1 JTF_VARCHAR2_TABLE_100
3446     , x_return_status out nocopy  VARCHAR2
3447     , x_msg_count out nocopy  NUMBER
3448     , x_msg_data out nocopy  VARCHAR2
3449     , p7_a0 out nocopy JTF_VARCHAR2_TABLE_200
3450     , p7_a1 out nocopy JTF_VARCHAR2_TABLE_200
3451     , p7_a2 out nocopy JTF_VARCHAR2_TABLE_100
3452     , p7_a3 out nocopy JTF_VARCHAR2_TABLE_100
3453     , p7_a4 out nocopy JTF_VARCHAR2_TABLE_300
3454     , p7_a5 out nocopy JTF_VARCHAR2_TABLE_2000
3455     , p7_a6 out nocopy JTF_DATE_TABLE
3456     , p7_a7 out nocopy JTF_DATE_TABLE
3457     , p7_a8 out nocopy JTF_DATE_TABLE
3458     , p7_a9 out nocopy JTF_NUMBER_TABLE
3459     , p7_a10 out nocopy JTF_VARCHAR2_TABLE_100
3460     , p7_a11 out nocopy JTF_VARCHAR2_TABLE_100
3461     , p7_a12 out nocopy JTF_VARCHAR2_TABLE_100
3462   )
3463 
3464   as
3465     ddp_contract_rec oks_entitlements_pub.inp_cont_rec_type;
3466     ddp_clvl_id_tbl oks_entitlements_pub.covlvl_id_tbl;
3467     ddx_contract_tbl oks_entitlements_pub.output_tbl_contract;
3468     ddindx binary_integer; indx binary_integer;
3469   begin
3470 
3471     -- copy data to the local IN or IN-OUT args, if any
3472 
3473 
3474     ddp_contract_rec.contract_number := p2_a0;
3475     ddp_contract_rec.contract_number_modifier := p2_a1;
3476     ddp_contract_rec.contract_status_code := p2_a2;
3477     ddp_contract_rec.start_date_from := rosetta_g_miss_date_in_map(p2_a3);
3478     ddp_contract_rec.start_date_to := rosetta_g_miss_date_in_map(p2_a4);
3479     ddp_contract_rec.end_date_from := rosetta_g_miss_date_in_map(p2_a5);
3480     ddp_contract_rec.end_date_to := rosetta_g_miss_date_in_map(p2_a6);
3481     ddp_contract_rec.date_terminated_from := rosetta_g_miss_date_in_map(p2_a7);
3482     ddp_contract_rec.date_terminated_to := rosetta_g_miss_date_in_map(p2_a8);
3483     ddp_contract_rec.contract_party_id := p2_a9;
3484     ddp_contract_rec.request_date := rosetta_g_miss_date_in_map(p2_a10);
3485     ddp_contract_rec.entitlement_check_yn := p2_a11;
3486 
3487     oks_entitlements_pub_w.rosetta_table_copy_in_p44(ddp_clvl_id_tbl, p3_a0
3488       , p3_a1
3489       );
3490 
3491 
3492 
3493 
3494 
3495     -- here's the delegated call to the old PL/SQL routine
3496     oks_entitlements_pub.search_contracts(p_api_version,
3497       p_init_msg_list,
3498       ddp_contract_rec,
3499       ddp_clvl_id_tbl,
3500       x_return_status,
3501       x_msg_count,
3502       x_msg_data,
3503       ddx_contract_tbl);
3504 
3505     -- copy data back from the local variables to OUT or IN-OUT args, if any
3506 
3507 
3508 
3509 
3510 
3511 
3512 
3513     oks_entitlements_pub_w.rosetta_table_copy_out_p47(ddx_contract_tbl, p7_a0
3514       , p7_a1
3515       , p7_a2
3516       , p7_a3
3517       , p7_a4
3518       , p7_a5
3519       , p7_a6
3520       , p7_a7
3521       , p7_a8
3522       , p7_a9
3523       , p7_a10
3524       , p7_a11
3525       , p7_a12
3526       );
3527   end;
3528 
3529   procedure get_react_resolve_by_time(p_api_version  NUMBER
3530     , p_init_msg_list  VARCHAR2
3531     , p2_a0  NUMBER
3532     , p2_a1  NUMBER
3533     , p2_a2  NUMBER
3534     , p2_a3  DATE
3535     , p2_a4  NUMBER
3536     , p2_a5  VARCHAR2
3537     , p2_a6  VARCHAR2
3538     , p2_a7  VARCHAR2
3539     , p2_a8  VARCHAR2
3540     , x_return_status out nocopy  VARCHAR2
3541     , x_msg_count out nocopy  NUMBER
3542     , x_msg_data out nocopy  VARCHAR2
3543     , p6_a0 out nocopy  NUMBER
3544     , p6_a1 out nocopy  VARCHAR2
3545     , p6_a2 out nocopy  DATE
3546     , p6_a3 out nocopy  DATE
3547     , p7_a0 out nocopy  NUMBER
3548     , p7_a1 out nocopy  VARCHAR2
3549     , p7_a2 out nocopy  DATE
3550     , p7_a3 out nocopy  DATE
3551   )
3552 
3553   as
3554     ddp_inp_rec oks_entitlements_pub.grt_inp_rec_type;
3555     ddx_react_rec oks_entitlements_pub.rcn_rsn_rec_type;
3556     ddx_resolve_rec oks_entitlements_pub.rcn_rsn_rec_type;
3557     ddindx binary_integer; indx binary_integer;
3558   begin
3559 
3560     -- copy data to the local IN or IN-OUT args, if any
3561 
3562 
3563     ddp_inp_rec.contract_line_id := p2_a0;
3564     ddp_inp_rec.business_process_id := p2_a1;
3565     ddp_inp_rec.severity_id := p2_a2;
3566     ddp_inp_rec.request_date := rosetta_g_miss_date_in_map(p2_a3);
3567     ddp_inp_rec.time_zone_id := p2_a4;
3568     ddp_inp_rec.dates_in_input_tz := p2_a5;
3569     ddp_inp_rec.category_rcn_rsn := p2_a6;
3570     ddp_inp_rec.compute_option := p2_a7;
3571     ddp_inp_rec.template_yn := p2_a8;
3572 
3573 
3574 
3575 
3576 
3577 
3578     -- here's the delegated call to the old PL/SQL routine
3579     oks_entitlements_pub.get_react_resolve_by_time(p_api_version,
3580       p_init_msg_list,
3581       ddp_inp_rec,
3582       x_return_status,
3583       x_msg_count,
3584       x_msg_data,
3585       ddx_react_rec,
3586       ddx_resolve_rec);
3587 
3588     -- copy data back from the local variables to OUT or IN-OUT args, if any
3589 
3590 
3591 
3592 
3593 
3594 
3595     p6_a0 := ddx_react_rec.duration;
3596     p6_a1 := ddx_react_rec.uom;
3597     p6_a2 := ddx_react_rec.by_date_start;
3598     p6_a3 := ddx_react_rec.by_date_end;
3599 
3600     p7_a0 := ddx_resolve_rec.duration;
3601     p7_a1 := ddx_resolve_rec.uom;
3602     p7_a2 := ddx_resolve_rec.by_date_start;
3603     p7_a3 := ddx_resolve_rec.by_date_end;
3604   end;
3605 
3606   procedure get_coverage_type(p_api_version  NUMBER
3607     , p_init_msg_list  VARCHAR2
3608     , p_contract_line_id  NUMBER
3609     , x_return_status out nocopy  VARCHAR2
3610     , x_msg_count out nocopy  NUMBER
3611     , x_msg_data out nocopy  VARCHAR2
3612     , p6_a0 out nocopy  VARCHAR2
3613     , p6_a1 out nocopy  VARCHAR2
3614     , p6_a2 out nocopy  NUMBER
3615   )
3616 
3617   as
3618     ddx_coverage_type oks_entitlements_pub.covtype_rec_type;
3619     ddindx binary_integer; indx binary_integer;
3620   begin
3621 
3622     -- copy data to the local IN or IN-OUT args, if any
3623 
3624 
3625 
3626 
3627 
3628 
3629 
3630     -- here's the delegated call to the old PL/SQL routine
3631     oks_entitlements_pub.get_coverage_type(p_api_version,
3632       p_init_msg_list,
3633       p_contract_line_id,
3634       x_return_status,
3635       x_msg_count,
3636       x_msg_data,
3637       ddx_coverage_type);
3638 
3639     -- copy data back from the local variables to OUT or IN-OUT args, if any
3640 
3641 
3642 
3643 
3644 
3645 
3646     p6_a0 := ddx_coverage_type.code;
3647     p6_a1 := ddx_coverage_type.meaning;
3648     p6_a2 := ddx_coverage_type.importance_level;
3649   end;
3650 
3651   procedure get_highimp_cp_contract(p_api_version  NUMBER
3652     , p_init_msg_list  VARCHAR2
3653     , p_customer_product_id  NUMBER
3654     , x_return_status out nocopy  VARCHAR2
3655     , x_msg_count out nocopy  NUMBER
3656     , x_msg_data out nocopy  VARCHAR2
3657     , p6_a0 out nocopy  VARCHAR2
3658     , p6_a1 out nocopy  VARCHAR2
3659     , p6_a2 out nocopy  VARCHAR2
3660     , p6_a3 out nocopy  DATE
3661     , p6_a4 out nocopy  DATE
3662     , p6_a5 out nocopy  NUMBER
3663     , p6_a6 out nocopy  VARCHAR2
3664     , p6_a7 out nocopy  NUMBER
3665   )
3666 
3667   as
3668     ddx_importance_lvl oks_entitlements_pub.high_imp_level_k_rec;
3669     ddindx binary_integer; indx binary_integer;
3670   begin
3671 
3672     -- copy data to the local IN or IN-OUT args, if any
3673 
3674 
3675 
3676 
3677 
3678 
3679 
3680     -- here's the delegated call to the old PL/SQL routine
3681     oks_entitlements_pub.get_highimp_cp_contract(p_api_version,
3682       p_init_msg_list,
3683       p_customer_product_id,
3684       x_return_status,
3685       x_msg_count,
3686       x_msg_data,
3687       ddx_importance_lvl);
3688 
3689     -- copy data back from the local variables to OUT or IN-OUT args, if any
3690 
3691 
3692 
3693 
3694 
3695 
3696     p6_a0 := ddx_importance_lvl.contract_number;
3697     p6_a1 := ddx_importance_lvl.contract_number_modifier;
3698     p6_a2 := ddx_importance_lvl.contract_status_code;
3699     p6_a3 := ddx_importance_lvl.contract_start_date;
3700     p6_a4 := ddx_importance_lvl.contract_end_date;
3701     p6_a5 := ddx_importance_lvl.contract_amount;
3702     p6_a6 := ddx_importance_lvl.coverage_type;
3703     p6_a7 := ddx_importance_lvl.coverage_imp_level;
3704   end;
3705 
3706   procedure check_coverage_times(p_api_version  NUMBER
3707     , p_init_msg_list  VARCHAR2
3708     , p_business_process_id  NUMBER
3709     , p_request_date  date
3710     , p_time_zone_id  NUMBER
3711     , p_dates_in_input_tz  VARCHAR2
3712     , p_contract_line_id  NUMBER
3713     , x_return_status out nocopy  VARCHAR2
3714     , x_msg_count out nocopy  NUMBER
3715     , x_msg_data out nocopy  VARCHAR2
3716     , x_covered_yn out nocopy  VARCHAR2
3717   )
3718 
3719   as
3720     ddp_request_date date;
3721     ddindx binary_integer; indx binary_integer;
3722   begin
3723 
3724     -- copy data to the local IN or IN-OUT args, if any
3725 
3726 
3727 
3728     ddp_request_date := rosetta_g_miss_date_in_map(p_request_date);
3729 
3730 
3731 
3732 
3733 
3734 
3735 
3736 
3737     -- here's the delegated call to the old PL/SQL routine
3738     oks_entitlements_pub.check_coverage_times(p_api_version,
3739       p_init_msg_list,
3740       p_business_process_id,
3741       ddp_request_date,
3742       p_time_zone_id,
3743       p_dates_in_input_tz,
3744       p_contract_line_id,
3745       x_return_status,
3746       x_msg_count,
3747       x_msg_data,
3748       x_covered_yn);
3749 
3750     -- copy data back from the local variables to OUT or IN-OUT args, if any
3751 
3752 
3753 
3754 
3755 
3756 
3757 
3758 
3759 
3760 
3761   end;
3762 
3763   procedure check_reaction_times(p_api_version  NUMBER
3764     , p_init_msg_list  VARCHAR2
3765     , p_business_process_id  NUMBER
3766     , p_request_date  date
3767     , p_sr_severity  NUMBER
3768     , p_time_zone_id  NUMBER
3769     , p_dates_in_input_tz  VARCHAR2
3770     , p_contract_line_id  NUMBER
3771     , x_return_status out nocopy  VARCHAR2
3772     , x_msg_count out nocopy  NUMBER
3773     , x_msg_data out nocopy  VARCHAR2
3774     , x_react_within out nocopy  NUMBER
3775     , x_react_tuom out nocopy  VARCHAR2
3776     , x_react_by_date out nocopy  DATE
3777   )
3778 
3779   as
3780     ddp_request_date date;
3781     ddindx binary_integer; indx binary_integer;
3782   begin
3783 
3784     -- copy data to the local IN or IN-OUT args, if any
3785 
3786 
3787 
3788     ddp_request_date := rosetta_g_miss_date_in_map(p_request_date);
3789 
3790 
3791 
3792 
3793 
3794 
3795 
3796 
3797 
3798 
3799 
3800     -- here's the delegated call to the old PL/SQL routine
3801     oks_entitlements_pub.check_reaction_times(p_api_version,
3802       p_init_msg_list,
3803       p_business_process_id,
3804       ddp_request_date,
3805       p_sr_severity,
3806       p_time_zone_id,
3807       p_dates_in_input_tz,
3808       p_contract_line_id,
3809       x_return_status,
3810       x_msg_count,
3811       x_msg_data,
3812       x_react_within,
3813       x_react_tuom,
3814       x_react_by_date);
3815 
3816     -- copy data back from the local variables to OUT or IN-OUT args, if any
3817 
3818 
3819 
3820 
3821 
3822 
3823 
3824 
3825 
3826 
3827 
3828 
3829 
3830   end;
3831 
3832   procedure get_contacts(p_api_version  NUMBER
3833     , p_init_msg_list  VARCHAR2
3834     , p_contract_id  NUMBER
3835     , p_contract_line_id  NUMBER
3836     , x_return_status out nocopy  VARCHAR2
3837     , x_msg_count out nocopy  NUMBER
3838     , x_msg_data out nocopy  VARCHAR2
3839     , p7_a0 out nocopy JTF_NUMBER_TABLE
3840     , p7_a1 out nocopy JTF_NUMBER_TABLE
3841     , p7_a2 out nocopy JTF_NUMBER_TABLE
3842     , p7_a3 out nocopy JTF_VARCHAR2_TABLE_100
3843     , p7_a4 out nocopy JTF_NUMBER_TABLE
3844     , p7_a5 out nocopy JTF_VARCHAR2_TABLE_100
3845     , p7_a6 out nocopy JTF_VARCHAR2_TABLE_100
3846   )
3847 
3848   as
3849     ddx_ent_contacts oks_entitlements_pub.ent_contact_tbl;
3850     ddindx binary_integer; indx binary_integer;
3851   begin
3852 
3853     -- copy data to the local IN or IN-OUT args, if any
3854 
3855 
3856 
3857 
3858 
3859 
3860 
3861 
3862     -- here's the delegated call to the old PL/SQL routine
3863     oks_entitlements_pub.get_contacts(p_api_version,
3864       p_init_msg_list,
3865       p_contract_id,
3866       p_contract_line_id,
3867       x_return_status,
3868       x_msg_count,
3869       x_msg_data,
3870       ddx_ent_contacts);
3871 
3872     -- copy data back from the local variables to OUT or IN-OUT args, if any
3873 
3874 
3875 
3876 
3877 
3878 
3879 
3880     oks_entitlements_pub_w.rosetta_table_copy_out_p60(ddx_ent_contacts, p7_a0
3881       , p7_a1
3882       , p7_a2
3883       , p7_a3
3884       , p7_a4
3885       , p7_a5
3886       , p7_a6
3887       );
3888   end;
3889 
3890   procedure get_preferred_engineers(p_api_version  NUMBER
3891     , p_init_msg_list  VARCHAR2
3892     , p_contract_line_id  NUMBER
3893     , p_business_process_id  NUMBER
3894     , p_request_date  date
3895     , x_return_status out nocopy  VARCHAR2
3896     , x_msg_count out nocopy  NUMBER
3897     , x_msg_data out nocopy  VARCHAR2
3898     , p8_a0 out nocopy JTF_NUMBER_TABLE
3899     , p8_a1 out nocopy JTF_NUMBER_TABLE
3900     , p8_a2 out nocopy JTF_VARCHAR2_TABLE_100
3901     , p8_a3 out nocopy JTF_VARCHAR2_TABLE_100
3902     , p8_a4 out nocopy JTF_VARCHAR2_TABLE_100
3903   )
3904 
3905   as
3906     ddp_request_date date;
3907     ddx_prf_engineers oks_entitlements_pub.prfeng_tbl_type;
3908     ddindx binary_integer; indx binary_integer;
3909   begin
3910 
3911     -- copy data to the local IN or IN-OUT args, if any
3912 
3913 
3914 
3915 
3916     ddp_request_date := rosetta_g_miss_date_in_map(p_request_date);
3917 
3918 
3919 
3920 
3921 
3922     -- here's the delegated call to the old PL/SQL routine
3923     oks_entitlements_pub.get_preferred_engineers(p_api_version,
3924       p_init_msg_list,
3925       p_contract_line_id,
3926       p_business_process_id,
3927       ddp_request_date,
3928       x_return_status,
3929       x_msg_count,
3930       x_msg_data,
3931       ddx_prf_engineers);
3932 
3933     -- copy data back from the local variables to OUT or IN-OUT args, if any
3934 
3935 
3936 
3937 
3938 
3939 
3940 
3941 
3942     oks_entitlements_pub_w.rosetta_table_copy_out_p63(ddx_prf_engineers, p8_a0
3943       , p8_a1
3944       , p8_a2
3945       , p8_a3
3946       , p8_a4
3947       );
3948   end;
3949 
3950   procedure oks_validate_system(p_api_version  NUMBER
3951     , p_init_msg_list  VARCHAR2
3952     , p_system_id  NUMBER
3953     , p_request_date  date
3954     , p_update_only_check  VARCHAR2
3955     , x_return_status out nocopy  VARCHAR2
3956     , x_msg_count out nocopy  NUMBER
3957     , x_msg_data out nocopy  VARCHAR2
3958     , x_system_valid out nocopy  VARCHAR2
3959   )
3960 
3961   as
3962     ddp_request_date date;
3963     ddindx binary_integer; indx binary_integer;
3964   begin
3965 
3966     -- copy data to the local IN or IN-OUT args, if any
3967 
3968 
3969 
3970     ddp_request_date := rosetta_g_miss_date_in_map(p_request_date);
3971 
3972 
3973 
3974 
3975 
3976 
3977     -- here's the delegated call to the old PL/SQL routine
3978     oks_entitlements_pub.oks_validate_system(p_api_version,
3979       p_init_msg_list,
3980       p_system_id,
3981       ddp_request_date,
3982       p_update_only_check,
3983       x_return_status,
3984       x_msg_count,
3985       x_msg_data,
3986       x_system_valid);
3987 
3988     -- copy data back from the local variables to OUT or IN-OUT args, if any
3989 
3990 
3991 
3992 
3993 
3994 
3995 
3996 
3997   end;
3998 
3999   procedure default_contline_system(p_api_version  NUMBER
4000     , p_init_msg_list  VARCHAR2
4001     , p_system_id  NUMBER
4002     , p_request_date  date
4003     , x_return_status out nocopy  VARCHAR2
4004     , x_msg_count out nocopy  NUMBER
4005     , x_msg_data out nocopy  VARCHAR2
4006     , p7_a0 out nocopy  NUMBER
4007     , p7_a1 out nocopy  VARCHAR2
4008     , p7_a2 out nocopy  VARCHAR2
4009     , p7_a3 out nocopy  VARCHAR2
4010     , p7_a4 out nocopy  NUMBER
4011     , p7_a5 out nocopy  VARCHAR2
4012     , p7_a6 out nocopy  VARCHAR2
4013     , p7_a7 out nocopy  NUMBER
4014     , p7_a8 out nocopy  VARCHAR2
4015     , p7_a9 out nocopy  VARCHAR2
4016     , p7_a10 out nocopy  VARCHAR2
4017     , p7_a11 out nocopy  VARCHAR2
4018     , p7_a12 out nocopy  NUMBER
4019     , p7_a13 out nocopy  DATE
4020     , p7_a14 out nocopy  DATE
4021     , p7_a15 out nocopy  VARCHAR2
4022     , p7_a16 out nocopy  VARCHAR2
4023     , p7_a17 out nocopy  DATE
4024     , p7_a18 out nocopy  DATE
4025     , p7_a19 out nocopy  VARCHAR2
4026     , p7_a20 out nocopy  VARCHAR2
4027     , p7_a21 out nocopy  DATE
4028     , p7_a22 out nocopy  VARCHAR2
4029     , p7_a23 out nocopy  VARCHAR2
4030     , p7_a24 out nocopy  VARCHAR2
4031     , p7_a25 out nocopy  VARCHAR2
4032     , p7_a26 out nocopy  VARCHAR2
4033     , p7_a27 out nocopy  NUMBER
4034   )
4035 
4036   as
4037     ddp_request_date date;
4038     ddx_ent_contracts oks_entitlements_pub.default_contline_system_rec;
4039     ddindx binary_integer; indx binary_integer;
4040   begin
4041 
4042     -- copy data to the local IN or IN-OUT args, if any
4043 
4044 
4045 
4046     ddp_request_date := rosetta_g_miss_date_in_map(p_request_date);
4047 
4048 
4049 
4050 
4051 
4052     -- here's the delegated call to the old PL/SQL routine
4053     oks_entitlements_pub.default_contline_system(p_api_version,
4054       p_init_msg_list,
4055       p_system_id,
4056       ddp_request_date,
4057       x_return_status,
4058       x_msg_count,
4059       x_msg_data,
4060       ddx_ent_contracts);
4061 
4062     -- copy data back from the local variables to OUT or IN-OUT args, if any
4063 
4064 
4065 
4066 
4067 
4068 
4069 
4070     p7_a0 := ddx_ent_contracts.contract_id;
4071     p7_a1 := ddx_ent_contracts.contract_number;
4072     p7_a2 := ddx_ent_contracts.contract_number_modifier;
4073     p7_a3 := ddx_ent_contracts.sts_code;
4074     p7_a4 := ddx_ent_contracts.service_line_id;
4075     p7_a5 := ddx_ent_contracts.service_name;
4076     p7_a6 := ddx_ent_contracts.service_description;
4077     p7_a7 := ddx_ent_contracts.coverage_term_line_id;
4078     p7_a8 := ddx_ent_contracts.coverage_term_name;
4079     p7_a9 := ddx_ent_contracts.coverage_term_description;
4080     p7_a10 := ddx_ent_contracts.coverage_type_code;
4081     p7_a11 := ddx_ent_contracts.coverage_type_meaning;
4082     p7_a12 := ddx_ent_contracts.coverage_type_imp_level;
4083     p7_a13 := ddx_ent_contracts.service_start_date;
4084     p7_a14 := ddx_ent_contracts.service_end_date;
4085     p7_a15 := ddx_ent_contracts.warranty_flag;
4086     p7_a16 := ddx_ent_contracts.eligible_for_entitlement;
4087     p7_a17 := ddx_ent_contracts.exp_reaction_time;
4088     p7_a18 := ddx_ent_contracts.exp_resolution_time;
4089     p7_a19 := ddx_ent_contracts.status_code;
4090     p7_a20 := ddx_ent_contracts.status_text;
4091     p7_a21 := ddx_ent_contracts.date_terminated;
4092     p7_a22 := ddx_ent_contracts.pm_program_id;
4093     p7_a23 := ddx_ent_contracts.pm_schedule_exists;
4094     p7_a24 := ddx_ent_contracts.hd_currency_code;
4095     p7_a25 := ddx_ent_contracts.service_po_number;
4096     p7_a26 := ddx_ent_contracts.service_po_required_flag;
4097     p7_a27 := ddx_ent_contracts.covlvl_line_id;
4098   end;
4099 
4100   procedure get_cov_txn_groups(p_api_version  NUMBER
4101     , p_init_msg_list  VARCHAR2
4102     , p2_a0  NUMBER
4103     , p2_a1  VARCHAR2
4104     , p2_a2  VARCHAR2
4105     , p2_a3  VARCHAR2
4106     , p2_a4  VARCHAR2
4107     , x_return_status out nocopy  VARCHAR2
4108     , x_msg_count out nocopy  NUMBER
4109     , x_msg_data out nocopy  VARCHAR2
4110     , p6_a0 out nocopy JTF_NUMBER_TABLE
4111     , p6_a1 out nocopy JTF_NUMBER_TABLE
4112     , p6_a2 out nocopy JTF_DATE_TABLE
4113     , p6_a3 out nocopy JTF_DATE_TABLE
4114   )
4115 
4116   as
4117     ddp_inp_rec_bp oks_entitlements_pub.inp_rec_bp;
4118     ddx_cov_txn_grp_lines oks_entitlements_pub.output_tbl_bp;
4119     ddindx binary_integer; indx binary_integer;
4120   begin
4121 
4122     -- copy data to the local IN or IN-OUT args, if any
4123 
4124 
4125     ddp_inp_rec_bp.contract_line_id := p2_a0;
4126     ddp_inp_rec_bp.check_bp_def := p2_a1;
4127     ddp_inp_rec_bp.sr_enabled := p2_a2;
4128     ddp_inp_rec_bp.dr_enabled := p2_a3;
4129     ddp_inp_rec_bp.fs_enabled := p2_a4;
4130 
4131 
4132 
4133 
4134 
4135     -- here's the delegated call to the old PL/SQL routine
4136     oks_entitlements_pub.get_cov_txn_groups(p_api_version,
4137       p_init_msg_list,
4138       ddp_inp_rec_bp,
4139       x_return_status,
4140       x_msg_count,
4141       x_msg_data,
4142       ddx_cov_txn_grp_lines);
4143 
4144     -- copy data back from the local variables to OUT or IN-OUT args, if any
4145 
4146 
4147 
4148 
4149 
4150 
4151     oks_entitlements_pub_w.rosetta_table_copy_out_p70(ddx_cov_txn_grp_lines, p6_a0
4152       , p6_a1
4153       , p6_a2
4154       , p6_a3
4155       );
4156   end;
4157 
4158   procedure get_txn_billing_types(p_api_version  NUMBER
4159     , p_init_msg_list  VARCHAR2
4160     , p_cov_txngrp_line_id  NUMBER
4161     , p_return_bill_rates_yn  VARCHAR2
4162     , x_return_status out nocopy  VARCHAR2
4163     , x_msg_count out nocopy  NUMBER
4164     , x_msg_data out nocopy  VARCHAR2
4165     , p7_a0 out nocopy JTF_NUMBER_TABLE
4166     , p7_a1 out nocopy JTF_NUMBER_TABLE
4167     , p7_a2 out nocopy JTF_NUMBER_TABLE
4168     , p7_a3 out nocopy JTF_NUMBER_TABLE
4169     , p8_a0 out nocopy JTF_NUMBER_TABLE
4170     , p8_a1 out nocopy JTF_NUMBER_TABLE
4171     , p8_a2 out nocopy JTF_NUMBER_TABLE
4172     , p8_a3 out nocopy JTF_VARCHAR2_TABLE_100
4173     , p8_a4 out nocopy JTF_NUMBER_TABLE
4174     , p8_a5 out nocopy JTF_VARCHAR2_TABLE_100
4175     , p8_a6 out nocopy JTF_NUMBER_TABLE
4176     , p8_a7 out nocopy JTF_NUMBER_TABLE
4177     , p8_a8 out nocopy JTF_NUMBER_TABLE
4178     , p8_a9 out nocopy JTF_NUMBER_TABLE
4179     , p8_a10 out nocopy JTF_NUMBER_TABLE
4180     , p8_a11 out nocopy JTF_VARCHAR2_TABLE_100
4181     , p8_a12 out nocopy JTF_VARCHAR2_TABLE_100
4182     , p8_a13 out nocopy JTF_VARCHAR2_TABLE_100
4183     , p8_a14 out nocopy JTF_VARCHAR2_TABLE_100
4184     , p8_a15 out nocopy JTF_VARCHAR2_TABLE_100
4185     , p8_a16 out nocopy JTF_VARCHAR2_TABLE_100
4186     , p8_a17 out nocopy JTF_VARCHAR2_TABLE_100
4187     , p8_a18 out nocopy JTF_NUMBER_TABLE
4188     , p8_a19 out nocopy JTF_NUMBER_TABLE
4189     , p8_a20 out nocopy JTF_VARCHAR2_TABLE_100
4190   )
4191 
4192   as
4193     ddx_txn_bill_types oks_entitlements_pub.output_tbl_bt;
4194     ddx_txn_bill_rates oks_entitlements_pub.output_tbl_br;
4195     ddindx binary_integer; indx binary_integer;
4196   begin
4197 
4198     -- copy data to the local IN or IN-OUT args, if any
4199 
4200 
4201 
4202 
4203 
4204 
4205 
4206 
4207 
4208     -- here's the delegated call to the old PL/SQL routine
4209     oks_entitlements_pub.get_txn_billing_types(p_api_version,
4210       p_init_msg_list,
4211       p_cov_txngrp_line_id,
4212       p_return_bill_rates_yn,
4213       x_return_status,
4214       x_msg_count,
4215       x_msg_data,
4216       ddx_txn_bill_types,
4217       ddx_txn_bill_rates);
4218 
4219     -- copy data back from the local variables to OUT or IN-OUT args, if any
4220 
4221 
4222 
4223 
4224 
4225 
4226 
4227     oks_entitlements_pub_w.rosetta_table_copy_out_p73(ddx_txn_bill_types, p7_a0
4228       , p7_a1
4229       , p7_a2
4230       , p7_a3
4231       );
4232 
4233     oks_entitlements_pub_w.rosetta_table_copy_out_p75(ddx_txn_bill_rates, p8_a0
4234       , p8_a1
4235       , p8_a2
4236       , p8_a3
4237       , p8_a4
4238       , p8_a5
4239       , p8_a6
4240       , p8_a7
4241       , p8_a8
4242       , p8_a9
4243       , p8_a10
4244       , p8_a11
4245       , p8_a12
4246       , p8_a13
4247       , p8_a14
4248       , p8_a15
4249       , p8_a16
4250       , p8_a17
4251       , p8_a18
4252       , p8_a19
4253       , p8_a20
4254       );
4255   end;
4256 
4257   procedure search_contract_lines(p_api_version  NUMBER
4258     , p_init_msg_list  VARCHAR2
4259     , p2_a0  NUMBER
4260     , p2_a1  VARCHAR2
4261     , p2_a2  VARCHAR2
4262     , p2_a3  VARCHAR2
4263     , p2_a4  DATE
4264     , p2_a5  DATE
4265     , p2_a6  DATE
4266     , p2_a7  DATE
4267     , p2_a8  DATE
4268     , p2_a9  DATE
4269     , p2_a10  NUMBER
4270     , p2_a11  VARCHAR2
4271     , p2_a12  DATE
4272     , p2_a13  VARCHAR2
4273     , p2_a14  NUMBER
4274     , p2_a15  NUMBER
4275     , p3_a0  NUMBER
4276     , p3_a1  VARCHAR2
4277     , p3_a2  VARCHAR2
4278     , p3_a3  DATE
4279     , p3_a4  DATE
4280     , p3_a5  DATE
4281     , p3_a6  DATE
4282     , p3_a7  NUMBER
4283     , p3_a8  NUMBER
4284     , p3_a9  VARCHAR2
4285     , p4_a0 JTF_NUMBER_TABLE
4286     , p4_a1 JTF_NUMBER_TABLE
4287     , p4_a2 JTF_VARCHAR2_TABLE_100
4288     , x_return_status out nocopy  VARCHAR2
4289     , x_msg_count out nocopy  NUMBER
4290     , x_msg_data out nocopy  VARCHAR2
4291     , p8_a0 out nocopy JTF_VARCHAR2_TABLE_200
4292     , p8_a1 out nocopy JTF_VARCHAR2_TABLE_200
4293     , p8_a2 out nocopy JTF_VARCHAR2_TABLE_200
4294     , p8_a3 out nocopy JTF_VARCHAR2_TABLE_200
4295     , p8_a4 out nocopy JTF_VARCHAR2_TABLE_2000
4296     , p8_a5 out nocopy JTF_VARCHAR2_TABLE_2000
4297     , p8_a6 out nocopy JTF_DATE_TABLE
4298     , p8_a7 out nocopy JTF_DATE_TABLE
4299     , p8_a8 out nocopy JTF_VARCHAR2_TABLE_100
4300     , p8_a9 out nocopy JTF_VARCHAR2_TABLE_200
4301     , p8_a10 out nocopy JTF_NUMBER_TABLE
4302     , p8_a11 out nocopy JTF_NUMBER_TABLE
4303     , p8_a12 out nocopy JTF_NUMBER_TABLE
4304     , p8_a13 out nocopy JTF_NUMBER_TABLE
4305     , p8_a14 out nocopy JTF_NUMBER_TABLE
4306     , p8_a15 out nocopy JTF_VARCHAR2_TABLE_100
4307     , p8_a16 out nocopy JTF_NUMBER_TABLE
4308     , p8_a17 out nocopy JTF_VARCHAR2_TABLE_300
4309   )
4310 
4311   as
4312     ddp_contract_rec oks_entitlements_pub.srchline_inpcontrec_type;
4313     ddp_contract_line_rec oks_entitlements_pub.srchline_inpcontlinerec_type;
4314     ddp_clvl_id_tbl oks_entitlements_pub.srchline_covlvl_id_tbl;
4315     ddx_contract_tbl oks_entitlements_pub.output_tbl_contractline;
4316     ddindx binary_integer; indx binary_integer;
4317   begin
4318 
4319     -- copy data to the local IN or IN-OUT args, if any
4320 
4321 
4322     ddp_contract_rec.contract_id := p2_a0;
4323     ddp_contract_rec.contract_number := p2_a1;
4324     ddp_contract_rec.contract_number_modifier := p2_a2;
4325     ddp_contract_rec.contract_status_code := p2_a3;
4326     ddp_contract_rec.start_date_from := rosetta_g_miss_date_in_map(p2_a4);
4327     ddp_contract_rec.start_date_to := rosetta_g_miss_date_in_map(p2_a5);
4328     ddp_contract_rec.end_date_from := rosetta_g_miss_date_in_map(p2_a6);
4329     ddp_contract_rec.end_date_to := rosetta_g_miss_date_in_map(p2_a7);
4330     ddp_contract_rec.date_terminated_from := rosetta_g_miss_date_in_map(p2_a8);
4331     ddp_contract_rec.date_terminated_to := rosetta_g_miss_date_in_map(p2_a9);
4332     ddp_contract_rec.contract_party_id := p2_a10;
4333     ddp_contract_rec.contract_renewal_type_code := p2_a11;
4334     ddp_contract_rec.request_date := rosetta_g_miss_date_in_map(p2_a12);
4335     ddp_contract_rec.entitlement_check_yn := p2_a13;
4336     ddp_contract_rec.authoring_org_id := p2_a14;
4337     ddp_contract_rec.contract_group_id := p2_a15;
4338 
4339     ddp_contract_line_rec.service_item_id := p3_a0;
4340     ddp_contract_line_rec.contract_line_status_code := p3_a1;
4341     ddp_contract_line_rec.coverage_type_code := p3_a2;
4342     ddp_contract_line_rec.start_date_from := rosetta_g_miss_date_in_map(p3_a3);
4343     ddp_contract_line_rec.start_date_to := rosetta_g_miss_date_in_map(p3_a4);
4344     ddp_contract_line_rec.end_date_from := rosetta_g_miss_date_in_map(p3_a5);
4345     ddp_contract_line_rec.end_date_to := rosetta_g_miss_date_in_map(p3_a6);
4346     ddp_contract_line_rec.line_bill_to_site_id := p3_a7;
4347     ddp_contract_line_rec.line_ship_to_site_id := p3_a8;
4348     ddp_contract_line_rec.line_renewal_type_code := p3_a9;
4349 
4350     oks_entitlements_pub_w.rosetta_table_copy_in_p81(ddp_clvl_id_tbl, p4_a0
4351       , p4_a1
4352       , p4_a2
4353       );
4354 
4355 
4356 
4357 
4358 
4359     -- here's the delegated call to the old PL/SQL routine
4360     oks_entitlements_pub.search_contract_lines(p_api_version,
4361       p_init_msg_list,
4362       ddp_contract_rec,
4363       ddp_contract_line_rec,
4364       ddp_clvl_id_tbl,
4365       x_return_status,
4366       x_msg_count,
4367       x_msg_data,
4368       ddx_contract_tbl);
4369 
4370     -- copy data back from the local variables to OUT or IN-OUT args, if any
4371 
4372 
4373 
4374 
4375 
4376 
4377 
4378 
4379     oks_entitlements_pub_w.rosetta_table_copy_out_p83(ddx_contract_tbl, p8_a0
4380       , p8_a1
4381       , p8_a2
4382       , p8_a3
4383       , p8_a4
4384       , p8_a5
4385       , p8_a6
4386       , p8_a7
4387       , p8_a8
4388       , p8_a9
4389       , p8_a10
4390       , p8_a11
4391       , p8_a12
4392       , p8_a13
4393       , p8_a14
4394       , p8_a15
4395       , p8_a16
4396       , p8_a17
4397       );
4398   end;
4399 
4400 end oks_entitlements_pub_w;