DBA Data[Home] [Help]

PACKAGE BODY: APPS.XDP_TYPES_W

Source


1 package body xdp_types_w as
2   /* $Header: XDPTYPWB.pls 120.3 2005/06/22 03:06:51 appldev ship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5 
6   function rosetta_g_miss_num_map(n number) return number as
7     a number := fnd_api.g_miss_num;
8     b number := 0-1962.0724;
9   begin
10     if n=a then return b; end if;
11     if n=b then return a; end if;
12     return n;
13   end;
14 
15   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16   function rosetta_g_miss_date_in_map(d date) return date as
17   begin
18     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19     return d;
20   end;
21 
22   procedure rosetta_table_copy_in_p1(t OUT NOCOPY xdp_types.order_header_list, a0 JTF_VARCHAR2_TABLE_100
23     , a1 JTF_VARCHAR2_TABLE_100
24     , a2 JTF_DATE_TABLE
25     , a3 JTF_NUMBER_TABLE
26     , a4 JTF_DATE_TABLE
27     , a5 JTF_DATE_TABLE
28     , a6 JTF_VARCHAR2_TABLE_100
29     , a7 JTF_VARCHAR2_TABLE_100
30     , a8 JTF_VARCHAR2_TABLE_100
31     , a9 JTF_NUMBER_TABLE
32     , a10 JTF_NUMBER_TABLE
33     , a11 JTF_VARCHAR2_TABLE_100
34     , a12 JTF_NUMBER_TABLE
35     , a13 JTF_NUMBER_TABLE
36     , a14 JTF_VARCHAR2_TABLE_100
37     , a15 JTF_VARCHAR2_TABLE_100
38     , a16 JTF_VARCHAR2_TABLE_100
39     , a17 JTF_DATE_TABLE
40     , a18 JTF_DATE_TABLE
41     , a19 JTF_NUMBER_TABLE
42     , a20 JTF_NUMBER_TABLE
43     , a21 JTF_NUMBER_TABLE
44     , a22 JTF_VARCHAR2_TABLE_100
45     , a23 JTF_VARCHAR2_TABLE_100
46     , a24 JTF_VARCHAR2_TABLE_300
47     , a25 JTF_VARCHAR2_TABLE_100
48     , a26 JTF_NUMBER_TABLE
49     ) as
50     ddindx binary_integer; indx binary_integer;
51   begin
52   if a0 is not null and a0.count > 0 then
53       if a0.count > 0 then
54         indx := a0.first;
55         ddindx := 1;
56         while true loop
57           t(ddindx).order_number := a0(indx);
58           t(ddindx).order_version := a1(indx);
59           t(ddindx).provisioning_date := rosetta_g_miss_date_in_map(a2(indx));
60           t(ddindx).priority := a3(indx);
61           t(ddindx).due_date := rosetta_g_miss_date_in_map(a4(indx));
62           t(ddindx).customer_required_date := rosetta_g_miss_date_in_map(a5(indx));
63           t(ddindx).order_type := a6(indx);
64           t(ddindx).order_action := a7(indx);
65           t(ddindx).order_source := a8(indx);
66           t(ddindx).related_order_id := a9(indx);
67           t(ddindx).org_id := a10(indx);
68           t(ddindx).customer_name := a11(indx);
69           t(ddindx).customer_id := a12(indx);
70           t(ddindx).service_provider_id := a13(indx);
71           t(ddindx).telephone_number := a14(indx);
72           t(ddindx).order_status := a15(indx);
73           t(ddindx).order_state := a16(indx);
74           t(ddindx).actual_provisioning_date := rosetta_g_miss_date_in_map(a17(indx));
75           t(ddindx).completion_date := rosetta_g_miss_date_in_map(a18(indx));
76           t(ddindx).previous_order_id := a19(indx);
77           t(ddindx).next_order_id := a20(indx);
78           t(ddindx).sdp_order_id := a21(indx);
79           t(ddindx).jeopardy_enabled_flag := a22(indx);
80           t(ddindx).order_ref_name := a23(indx);
81           t(ddindx).order_ref_value := a24(indx);
82           t(ddindx).sp_order_number := a25(indx);
83           t(ddindx).sp_userid := a26(indx);
84           ddindx := ddindx+1;
85           if a0.last =indx
86             then exit;
87           end if;
88           indx := a0.next(indx);
89         end loop;
90       end if;
91    end if;
92   end rosetta_table_copy_in_p1;
93   procedure rosetta_table_copy_out_p1(t xdp_types.order_header_list, a0 OUT NOCOPY JTF_VARCHAR2_TABLE_100
94     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_100
95     , a2 OUT NOCOPY JTF_DATE_TABLE
96     , a3 OUT NOCOPY JTF_NUMBER_TABLE
97     , a4 OUT NOCOPY JTF_DATE_TABLE
98     , a5 OUT NOCOPY JTF_DATE_TABLE
99     , a6 OUT NOCOPY JTF_VARCHAR2_TABLE_100
100     , a7 OUT NOCOPY JTF_VARCHAR2_TABLE_100
101     , a8 OUT NOCOPY JTF_VARCHAR2_TABLE_100
102     , a9 OUT NOCOPY JTF_NUMBER_TABLE
103     , a10 OUT NOCOPY JTF_NUMBER_TABLE
104     , a11 OUT NOCOPY JTF_VARCHAR2_TABLE_100
105     , a12 OUT NOCOPY JTF_NUMBER_TABLE
106     , a13 OUT NOCOPY JTF_NUMBER_TABLE
107     , a14 OUT NOCOPY JTF_VARCHAR2_TABLE_100
108     , a15 OUT NOCOPY JTF_VARCHAR2_TABLE_100
109     , a16 OUT NOCOPY JTF_VARCHAR2_TABLE_100
110     , a17 OUT NOCOPY JTF_DATE_TABLE
111     , a18 OUT NOCOPY JTF_DATE_TABLE
112     , a19 OUT NOCOPY JTF_NUMBER_TABLE
113     , a20 OUT NOCOPY JTF_NUMBER_TABLE
114     , a21 OUT NOCOPY JTF_NUMBER_TABLE
115     , a22 OUT NOCOPY JTF_VARCHAR2_TABLE_100
116     , a23 OUT NOCOPY JTF_VARCHAR2_TABLE_100
117     , a24 OUT NOCOPY JTF_VARCHAR2_TABLE_300
118     , a25 OUT NOCOPY JTF_VARCHAR2_TABLE_100
119     , a26 OUT NOCOPY JTF_NUMBER_TABLE
120     ) as
121     ddindx binary_integer; indx binary_integer;
122   begin
123   if t is null or t.count = 0 then
124     a0 := JTF_VARCHAR2_TABLE_100();
125     a1 := JTF_VARCHAR2_TABLE_100();
126     a2 := JTF_DATE_TABLE();
127     a3 := JTF_NUMBER_TABLE();
128     a4 := JTF_DATE_TABLE();
129     a5 := JTF_DATE_TABLE();
130     a6 := JTF_VARCHAR2_TABLE_100();
131     a7 := JTF_VARCHAR2_TABLE_100();
132     a8 := JTF_VARCHAR2_TABLE_100();
133     a9 := JTF_NUMBER_TABLE();
134     a10 := JTF_NUMBER_TABLE();
135     a11 := JTF_VARCHAR2_TABLE_100();
136     a12 := JTF_NUMBER_TABLE();
137     a13 := JTF_NUMBER_TABLE();
138     a14 := JTF_VARCHAR2_TABLE_100();
139     a15 := JTF_VARCHAR2_TABLE_100();
140     a16 := JTF_VARCHAR2_TABLE_100();
141     a17 := JTF_DATE_TABLE();
142     a18 := JTF_DATE_TABLE();
143     a19 := JTF_NUMBER_TABLE();
144     a20 := JTF_NUMBER_TABLE();
145     a21 := JTF_NUMBER_TABLE();
146     a22 := JTF_VARCHAR2_TABLE_100();
147     a23 := JTF_VARCHAR2_TABLE_100();
148     a24 := JTF_VARCHAR2_TABLE_300();
149     a25 := JTF_VARCHAR2_TABLE_100();
150     a26 := JTF_NUMBER_TABLE();
151   else
152       a0 := JTF_VARCHAR2_TABLE_100();
153       a1 := JTF_VARCHAR2_TABLE_100();
154       a2 := JTF_DATE_TABLE();
155       a3 := JTF_NUMBER_TABLE();
156       a4 := JTF_DATE_TABLE();
157       a5 := JTF_DATE_TABLE();
158       a6 := JTF_VARCHAR2_TABLE_100();
159       a7 := JTF_VARCHAR2_TABLE_100();
160       a8 := JTF_VARCHAR2_TABLE_100();
161       a9 := JTF_NUMBER_TABLE();
162       a10 := JTF_NUMBER_TABLE();
163       a11 := JTF_VARCHAR2_TABLE_100();
164       a12 := JTF_NUMBER_TABLE();
165       a13 := JTF_NUMBER_TABLE();
166       a14 := JTF_VARCHAR2_TABLE_100();
167       a15 := JTF_VARCHAR2_TABLE_100();
168       a16 := JTF_VARCHAR2_TABLE_100();
169       a17 := JTF_DATE_TABLE();
170       a18 := JTF_DATE_TABLE();
171       a19 := JTF_NUMBER_TABLE();
172       a20 := JTF_NUMBER_TABLE();
173       a21 := JTF_NUMBER_TABLE();
174       a22 := JTF_VARCHAR2_TABLE_100();
175       a23 := JTF_VARCHAR2_TABLE_100();
176       a24 := JTF_VARCHAR2_TABLE_300();
177       a25 := JTF_VARCHAR2_TABLE_100();
178       a26 := JTF_NUMBER_TABLE();
179       if t.count > 0 then
180         a0.extend(t.count);
181         a1.extend(t.count);
182         a2.extend(t.count);
183         a3.extend(t.count);
184         a4.extend(t.count);
185         a5.extend(t.count);
186         a6.extend(t.count);
187         a7.extend(t.count);
188         a8.extend(t.count);
189         a9.extend(t.count);
190         a10.extend(t.count);
191         a11.extend(t.count);
192         a12.extend(t.count);
193         a13.extend(t.count);
194         a14.extend(t.count);
195         a15.extend(t.count);
196         a16.extend(t.count);
197         a17.extend(t.count);
198         a18.extend(t.count);
199         a19.extend(t.count);
200         a20.extend(t.count);
201         a21.extend(t.count);
202         a22.extend(t.count);
203         a23.extend(t.count);
204         a24.extend(t.count);
205         a25.extend(t.count);
206         a26.extend(t.count);
207         ddindx := t.first;
208         indx := 1;
209         while true loop
210           a0(indx) := t(ddindx).order_number;
211           a1(indx) := t(ddindx).order_version;
212           a2(indx) := t(ddindx).provisioning_date;
213           a3(indx) := t(ddindx).priority;
214           a4(indx) := t(ddindx).due_date;
215           a5(indx) := t(ddindx).customer_required_date;
216           a6(indx) := t(ddindx).order_type;
217           a7(indx) := t(ddindx).order_action;
218           a8(indx) := t(ddindx).order_source;
219           a9(indx) := t(ddindx).related_order_id;
220           a10(indx) := t(ddindx).org_id;
221           a11(indx) := t(ddindx).customer_name;
222           a12(indx) := t(ddindx).customer_id;
223           a13(indx) := t(ddindx).service_provider_id;
224           a14(indx) := t(ddindx).telephone_number;
225           a15(indx) := t(ddindx).order_status;
226           a16(indx) := t(ddindx).order_state;
227           a17(indx) := t(ddindx).actual_provisioning_date;
228           a18(indx) := t(ddindx).completion_date;
229           a19(indx) := t(ddindx).previous_order_id;
230           a20(indx) := t(ddindx).next_order_id;
231           a21(indx) := t(ddindx).sdp_order_id;
232           a22(indx) := t(ddindx).jeopardy_enabled_flag;
233           a23(indx) := t(ddindx).order_ref_name;
234           a24(indx) := t(ddindx).order_ref_value;
235           a25(indx) := t(ddindx).sp_order_number;
236           a26(indx) := t(ddindx).sp_userid;
237           indx := indx+1;
238           if t.last =ddindx
239             then exit;
240           end if;
241           ddindx := t.next(ddindx);
242         end loop;
243       end if;
244    end if;
245   end rosetta_table_copy_out_p1;
246 
247   procedure rosetta_table_copy_in_p3(t OUT NOCOPY xdp_types.order_parameter_list, a0 JTF_VARCHAR2_TABLE_100
248     , a1 JTF_VARCHAR2_TABLE_4000
249     ) as
250     ddindx binary_integer; indx binary_integer;
251   begin
252   if a0 is not null and a0.count > 0 then
253       if a0.count > 0 then
254         indx := a0.first;
255         ddindx := 1;
256         while true loop
257           t(ddindx).parameter_name := a0(indx);
258           t(ddindx).parameter_value := a1(indx);
259           ddindx := ddindx+1;
260           if a0.last =indx
261             then exit;
262           end if;
263           indx := a0.next(indx);
264         end loop;
265       end if;
266    end if;
267   end rosetta_table_copy_in_p3;
268   procedure rosetta_table_copy_out_p3(t xdp_types.order_parameter_list, a0 OUT NOCOPY JTF_VARCHAR2_TABLE_100
269     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_4000
270     ) as
271     ddindx binary_integer; indx binary_integer;
272   begin
273   if t is null or t.count = 0 then
274     a0 := JTF_VARCHAR2_TABLE_100();
275     a1 := JTF_VARCHAR2_TABLE_4000();
276   else
277       a0 := JTF_VARCHAR2_TABLE_100();
278       a1 := JTF_VARCHAR2_TABLE_4000();
279       if t.count > 0 then
280         a0.extend(t.count);
281         a1.extend(t.count);
282         ddindx := t.first;
283         indx := 1;
284         while true loop
285           a0(indx) := t(ddindx).parameter_name;
286           a1(indx) := t(ddindx).parameter_value;
287           indx := indx+1;
288           if t.last =ddindx
289             then exit;
290           end if;
291           ddindx := t.next(ddindx);
292         end loop;
293       end if;
294    end if;
295   end rosetta_table_copy_out_p3;
296 
297   procedure rosetta_table_copy_in_p5(t OUT NOCOPY xdp_types.order_line_list, a0 JTF_NUMBER_TABLE
298     , a1 JTF_VARCHAR2_TABLE_100
299     , a2 JTF_VARCHAR2_TABLE_100
300     , a3 JTF_VARCHAR2_TABLE_100
301     , a4 JTF_VARCHAR2_TABLE_100
302     , a5 JTF_DATE_TABLE
303     , a6 JTF_VARCHAR2_TABLE_100
304     , a7 JTF_NUMBER_TABLE
305     , a8 JTF_NUMBER_TABLE
306     , a9 JTF_NUMBER_TABLE
307     , a10 JTF_NUMBER_TABLE
308     , a11 JTF_DATE_TABLE
309     , a12 JTF_DATE_TABLE
310     , a13 JTF_VARCHAR2_TABLE_100
311     , a14 JTF_DATE_TABLE
312     , a15 JTF_NUMBER_TABLE
313     , a16 JTF_NUMBER_TABLE
314     , a17 JTF_NUMBER_TABLE
315     , a18 JTF_VARCHAR2_TABLE_100
316     , a19 JTF_NUMBER_TABLE
317     , a20 JTF_VARCHAR2_TABLE_100
318     , a21 JTF_NUMBER_TABLE
319     , a22 JTF_NUMBER_TABLE
320     ) as
321     ddindx binary_integer; indx binary_integer;
322   begin
323   if a0 is not null and a0.count > 0 then
324       if a0.count > 0 then
325         indx := a0.first;
326         ddindx := 1;
327         while true loop
328           t(ddindx).line_number := a0(indx);
329           t(ddindx).line_item_name := a1(indx);
330           t(ddindx).version := a2(indx);
331           t(ddindx).is_workitem_flag := a3(indx);
332           t(ddindx).action := a4(indx);
333           t(ddindx).provisioning_date := rosetta_g_miss_date_in_map(a5(indx));
334           t(ddindx).provisioning_required_flag := a6(indx);
335           t(ddindx).provisioning_sequence := a7(indx);
336           t(ddindx).bundle_id := a8(indx);
337           t(ddindx).bundle_sequence := a9(indx);
338           t(ddindx).priority := a10(indx);
339           t(ddindx).due_date := rosetta_g_miss_date_in_map(a11(indx));
340           t(ddindx).customer_required_date := rosetta_g_miss_date_in_map(a12(indx));
341           t(ddindx).line_status := a13(indx);
342           t(ddindx).completion_date := rosetta_g_miss_date_in_map(a14(indx));
343           t(ddindx).service_id := a15(indx);
344           t(ddindx).package_id := a16(indx);
345           t(ddindx).workitem_id := a17(indx);
346           t(ddindx).line_state := a18(indx);
347           t(ddindx).line_item_id := a19(indx);
348           t(ddindx).jeopardy_enabled_flag := a20(indx);
349           t(ddindx).starting_number := a21(indx);
350           t(ddindx).ending_number := a22(indx);
351           ddindx := ddindx+1;
352           if a0.last =indx
353             then exit;
354           end if;
355           indx := a0.next(indx);
356         end loop;
357       end if;
358    end if;
359   end rosetta_table_copy_in_p5;
360   procedure rosetta_table_copy_out_p5(t xdp_types.order_line_list, a0 OUT NOCOPY JTF_NUMBER_TABLE
361     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_100
362     , a2 OUT NOCOPY JTF_VARCHAR2_TABLE_100
363     , a3 OUT NOCOPY JTF_VARCHAR2_TABLE_100
364     , a4 OUT NOCOPY JTF_VARCHAR2_TABLE_100
365     , a5 OUT NOCOPY JTF_DATE_TABLE
366     , a6 OUT NOCOPY JTF_VARCHAR2_TABLE_100
367     , a7 OUT NOCOPY JTF_NUMBER_TABLE
368     , a8 OUT NOCOPY JTF_NUMBER_TABLE
369     , a9 OUT NOCOPY JTF_NUMBER_TABLE
370     , a10 OUT NOCOPY JTF_NUMBER_TABLE
371     , a11 OUT NOCOPY JTF_DATE_TABLE
372     , a12 OUT NOCOPY JTF_DATE_TABLE
373     , a13 OUT NOCOPY JTF_VARCHAR2_TABLE_100
374     , a14 OUT NOCOPY JTF_DATE_TABLE
375     , a15 OUT NOCOPY JTF_NUMBER_TABLE
376     , a16 OUT NOCOPY JTF_NUMBER_TABLE
377     , a17 OUT NOCOPY JTF_NUMBER_TABLE
378     , a18 OUT NOCOPY JTF_VARCHAR2_TABLE_100
379     , a19 OUT NOCOPY JTF_NUMBER_TABLE
380     , a20 OUT NOCOPY JTF_VARCHAR2_TABLE_100
381     , a21 OUT NOCOPY JTF_NUMBER_TABLE
382     , a22 OUT NOCOPY JTF_NUMBER_TABLE
383     ) as
384     ddindx binary_integer; indx binary_integer;
385   begin
386   if t is null or t.count = 0 then
387     a0 := JTF_NUMBER_TABLE();
388     a1 := JTF_VARCHAR2_TABLE_100();
389     a2 := JTF_VARCHAR2_TABLE_100();
390     a3 := JTF_VARCHAR2_TABLE_100();
391     a4 := JTF_VARCHAR2_TABLE_100();
392     a5 := JTF_DATE_TABLE();
393     a6 := JTF_VARCHAR2_TABLE_100();
394     a7 := JTF_NUMBER_TABLE();
395     a8 := JTF_NUMBER_TABLE();
396     a9 := JTF_NUMBER_TABLE();
397     a10 := JTF_NUMBER_TABLE();
398     a11 := JTF_DATE_TABLE();
399     a12 := JTF_DATE_TABLE();
400     a13 := JTF_VARCHAR2_TABLE_100();
401     a14 := JTF_DATE_TABLE();
402     a15 := JTF_NUMBER_TABLE();
403     a16 := JTF_NUMBER_TABLE();
404     a17 := JTF_NUMBER_TABLE();
405     a18 := JTF_VARCHAR2_TABLE_100();
406     a19 := JTF_NUMBER_TABLE();
407     a20 := JTF_VARCHAR2_TABLE_100();
408     a21 := JTF_NUMBER_TABLE();
409     a22 := JTF_NUMBER_TABLE();
410   else
411       a0 := JTF_NUMBER_TABLE();
412       a1 := JTF_VARCHAR2_TABLE_100();
413       a2 := JTF_VARCHAR2_TABLE_100();
414       a3 := JTF_VARCHAR2_TABLE_100();
415       a4 := JTF_VARCHAR2_TABLE_100();
416       a5 := JTF_DATE_TABLE();
417       a6 := JTF_VARCHAR2_TABLE_100();
418       a7 := JTF_NUMBER_TABLE();
419       a8 := JTF_NUMBER_TABLE();
420       a9 := JTF_NUMBER_TABLE();
421       a10 := JTF_NUMBER_TABLE();
422       a11 := JTF_DATE_TABLE();
423       a12 := JTF_DATE_TABLE();
424       a13 := JTF_VARCHAR2_TABLE_100();
425       a14 := JTF_DATE_TABLE();
426       a15 := JTF_NUMBER_TABLE();
427       a16 := JTF_NUMBER_TABLE();
428       a17 := JTF_NUMBER_TABLE();
429       a18 := JTF_VARCHAR2_TABLE_100();
430       a19 := JTF_NUMBER_TABLE();
431       a20 := JTF_VARCHAR2_TABLE_100();
432       a21 := JTF_NUMBER_TABLE();
433       a22 := JTF_NUMBER_TABLE();
434       if t.count > 0 then
435         a0.extend(t.count);
436         a1.extend(t.count);
437         a2.extend(t.count);
438         a3.extend(t.count);
439         a4.extend(t.count);
440         a5.extend(t.count);
441         a6.extend(t.count);
442         a7.extend(t.count);
443         a8.extend(t.count);
444         a9.extend(t.count);
445         a10.extend(t.count);
446         a11.extend(t.count);
447         a12.extend(t.count);
448         a13.extend(t.count);
449         a14.extend(t.count);
450         a15.extend(t.count);
451         a16.extend(t.count);
452         a17.extend(t.count);
453         a18.extend(t.count);
454         a19.extend(t.count);
455         a20.extend(t.count);
456         a21.extend(t.count);
457         a22.extend(t.count);
458         ddindx := t.first;
459         indx := 1;
460         while true loop
461           a0(indx) := t(ddindx).line_number;
462           a1(indx) := t(ddindx).line_item_name;
463           a2(indx) := t(ddindx).version;
464           a3(indx) := t(ddindx).is_workitem_flag;
465           a4(indx) := t(ddindx).action;
466           a5(indx) := t(ddindx).provisioning_date;
467           a6(indx) := t(ddindx).provisioning_required_flag;
468           a7(indx) := t(ddindx).provisioning_sequence;
469           a8(indx) := t(ddindx).bundle_id;
470           a9(indx) := t(ddindx).bundle_sequence;
471           a10(indx) := t(ddindx).priority;
472           a11(indx) := t(ddindx).due_date;
473           a12(indx) := t(ddindx).customer_required_date;
474           a13(indx) := t(ddindx).line_status;
475           a14(indx) := t(ddindx).completion_date;
476           a15(indx) := t(ddindx).service_id;
477           a16(indx) := t(ddindx).package_id;
478           a17(indx) := t(ddindx).workitem_id;
479           a18(indx) := t(ddindx).line_state;
480           a19(indx) := t(ddindx).line_item_id;
481           a20(indx) := t(ddindx).jeopardy_enabled_flag;
482           a21(indx) := t(ddindx).starting_number;
483           a22(indx) := t(ddindx).ending_number;
484           indx := indx+1;
485           if t.last =ddindx
486             then exit;
487           end if;
488           ddindx := t.next(ddindx);
489         end loop;
490       end if;
491    end if;
492   end rosetta_table_copy_out_p5;
493 
494   procedure rosetta_table_copy_in_p7(t OUT NOCOPY xdp_types.line_param_list, a0 JTF_NUMBER_TABLE
495     , a1 JTF_VARCHAR2_TABLE_100
496     , a2 JTF_VARCHAR2_TABLE_4000
497     , a3 JTF_VARCHAR2_TABLE_4000
498     ) as
499     ddindx binary_integer; indx binary_integer;
500   begin
501   if a0 is not null and a0.count > 0 then
502       if a0.count > 0 then
503         indx := a0.first;
504         ddindx := 1;
505         while true loop
506           t(ddindx).line_number := a0(indx);
507           t(ddindx).parameter_name := a1(indx);
508           t(ddindx).parameter_value := a2(indx);
509           t(ddindx).parameter_ref_value := a3(indx);
510           ddindx := ddindx+1;
511           if a0.last =indx
512             then exit;
513           end if;
514           indx := a0.next(indx);
515         end loop;
516       end if;
517    end if;
518   end rosetta_table_copy_in_p7;
519   procedure rosetta_table_copy_out_p7(t xdp_types.line_param_list, a0 OUT NOCOPY JTF_NUMBER_TABLE
520     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_100
521     , a2 OUT NOCOPY JTF_VARCHAR2_TABLE_4000
522     , a3 OUT NOCOPY JTF_VARCHAR2_TABLE_4000
523     ) as
524     ddindx binary_integer; indx binary_integer;
525   begin
526   if t is null or t.count = 0 then
527     a0 := JTF_NUMBER_TABLE();
528     a1 := JTF_VARCHAR2_TABLE_100();
529     a2 := JTF_VARCHAR2_TABLE_4000();
530     a3 := JTF_VARCHAR2_TABLE_4000();
531   else
532       a0 := JTF_NUMBER_TABLE();
533       a1 := JTF_VARCHAR2_TABLE_100();
534       a2 := JTF_VARCHAR2_TABLE_4000();
535       a3 := JTF_VARCHAR2_TABLE_4000();
536       if t.count > 0 then
537         a0.extend(t.count);
538         a1.extend(t.count);
539         a2.extend(t.count);
540         a3.extend(t.count);
541         ddindx := t.first;
542         indx := 1;
543         while true loop
544           a0(indx) := t(ddindx).line_number;
545           a1(indx) := t(ddindx).parameter_name;
546           a2(indx) := t(ddindx).parameter_value;
547           a3(indx) := t(ddindx).parameter_ref_value;
548           indx := indx+1;
549           if t.last =ddindx
550             then exit;
551           end if;
552           ddindx := t.next(ddindx);
553         end loop;
554       end if;
555    end if;
556   end rosetta_table_copy_out_p7;
557 
558   procedure rosetta_table_copy_in_p11(t OUT NOCOPY xdp_types.service_order_line_list, a0 JTF_NUMBER_TABLE
559     , a1 JTF_VARCHAR2_TABLE_100
560     , a2 JTF_NUMBER_TABLE
561     , a3 JTF_VARCHAR2_TABLE_100
562     , a4 JTF_VARCHAR2_TABLE_100
563     , a5 JTF_VARCHAR2_TABLE_100
564     , a6 JTF_VARCHAR2_TABLE_100
565     , a7 JTF_NUMBER_TABLE
566     , a8 JTF_NUMBER_TABLE
567     , a9 JTF_VARCHAR2_TABLE_100
568     , a10 JTF_NUMBER_TABLE
569     , a11 JTF_DATE_TABLE
570     , a12 JTF_VARCHAR2_TABLE_100
571     , a13 JTF_VARCHAR2_TABLE_100
572     , a14 JTF_NUMBER_TABLE
573     , a15 JTF_NUMBER_TABLE
574     , a16 JTF_NUMBER_TABLE
575     , a17 JTF_NUMBER_TABLE
576     , a18 JTF_DATE_TABLE
577     , a19 JTF_VARCHAR2_TABLE_100
578     , a20 JTF_DATE_TABLE
579     , a21 JTF_NUMBER_TABLE
580     , a22 JTF_NUMBER_TABLE
581     , a23 JTF_NUMBER_TABLE
582     , a24 JTF_NUMBER_TABLE
583     , a25 JTF_VARCHAR2_TABLE_100
584     , a26 JTF_DATE_TABLE
585     , a27 JTF_DATE_TABLE
586     , a28 JTF_NUMBER_TABLE
587     , a29 JTF_VARCHAR2_TABLE_100
588     , a30 JTF_VARCHAR2_TABLE_100
589     , a31 JTF_VARCHAR2_TABLE_300
590     , a32 JTF_VARCHAR2_TABLE_300
591     , a33 JTF_VARCHAR2_TABLE_300
592     , a34 JTF_VARCHAR2_TABLE_300
593     , a35 JTF_VARCHAR2_TABLE_300
594     , a36 JTF_VARCHAR2_TABLE_300
595     , a37 JTF_VARCHAR2_TABLE_300
596     , a38 JTF_VARCHAR2_TABLE_300
597     , a39 JTF_VARCHAR2_TABLE_300
598     , a40 JTF_VARCHAR2_TABLE_300
599     , a41 JTF_VARCHAR2_TABLE_300
600     , a42 JTF_VARCHAR2_TABLE_300
601     , a43 JTF_VARCHAR2_TABLE_300
602     , a44 JTF_VARCHAR2_TABLE_300
603     , a45 JTF_VARCHAR2_TABLE_300
604     , a46 JTF_VARCHAR2_TABLE_300
605     , a47 JTF_VARCHAR2_TABLE_300
606     , a48 JTF_VARCHAR2_TABLE_300
607     , a49 JTF_VARCHAR2_TABLE_300
608     , a50 JTF_VARCHAR2_TABLE_300
609     ) as
610     ddindx binary_integer; indx binary_integer;
611   begin
612   if a0 is not null and a0.count > 0 then
613       if a0.count > 0 then
614         indx := a0.first;
615         ddindx := 1;
616         while true loop
617           t(ddindx).line_number := a0(indx);
618           t(ddindx).line_source := a1(indx);
619           t(ddindx).inventory_item_id := a2(indx);
620           t(ddindx).service_item_name := a3(indx);
621           t(ddindx).version := a4(indx);
622           t(ddindx).action_code := a5(indx);
623           t(ddindx).organization_code := a6(indx);
624           t(ddindx).organization_id := a7(indx);
625           t(ddindx).site_use_id := a8(indx);
626           t(ddindx).ib_source := a9(indx);
627           t(ddindx).ib_source_id := a10(indx);
628           t(ddindx).required_fulfillment_date := rosetta_g_miss_date_in_map(a11(indx));
629           t(ddindx).fulfillment_required_flag := a12(indx);
630           t(ddindx).is_package_flag := a13(indx);
631           t(ddindx).fulfillment_sequence := a14(indx);
632           t(ddindx).bundle_id := a15(indx);
633           t(ddindx).bundle_sequence := a16(indx);
634           t(ddindx).priority := a17(indx);
635           t(ddindx).due_date := rosetta_g_miss_date_in_map(a18(indx));
636           t(ddindx).jeopardy_enabled_flag := a19(indx);
637           t(ddindx).customer_required_date := rosetta_g_miss_date_in_map(a20(indx));
638           t(ddindx).starting_number := a21(indx);
639           t(ddindx).ending_number := a22(indx);
640           t(ddindx).line_item_id := a23(indx);
641           t(ddindx).workitem_id := a24(indx);
642           t(ddindx).line_status := a25(indx);
643           t(ddindx).completion_date := rosetta_g_miss_date_in_map(a26(indx));
644           t(ddindx).actual_fulfillment_date := rosetta_g_miss_date_in_map(a27(indx));
645           t(ddindx).parent_line_number := a28(indx);
646           t(ddindx).is_virtual_line_flag := a29(indx);
647           t(ddindx).attribute_category := a30(indx);
648           t(ddindx).attribute1 := a31(indx);
649           t(ddindx).attribute2 := a32(indx);
650           t(ddindx).attribute3 := a33(indx);
651           t(ddindx).attribute4 := a34(indx);
652           t(ddindx).attribute5 := a35(indx);
653           t(ddindx).attribute6 := a36(indx);
654           t(ddindx).attribute7 := a37(indx);
655           t(ddindx).attribute8 := a38(indx);
656           t(ddindx).attribute9 := a39(indx);
657           t(ddindx).attribute10 := a40(indx);
658           t(ddindx).attribute11 := a41(indx);
659           t(ddindx).attribute12 := a42(indx);
660           t(ddindx).attribute13 := a43(indx);
661           t(ddindx).attribute14 := a44(indx);
662           t(ddindx).attribute15 := a45(indx);
663           t(ddindx).attribute16 := a46(indx);
664           t(ddindx).attribute17 := a47(indx);
665           t(ddindx).attribute18 := a48(indx);
666           t(ddindx).attribute19 := a49(indx);
667           t(ddindx).attribute20 := a50(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_p11;
677   procedure rosetta_table_copy_out_p11(t xdp_types.service_order_line_list, a0 OUT NOCOPY JTF_NUMBER_TABLE
678     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_100
679     , a2 OUT NOCOPY JTF_NUMBER_TABLE
680     , a3 OUT NOCOPY JTF_VARCHAR2_TABLE_100
681     , a4 OUT NOCOPY JTF_VARCHAR2_TABLE_100
682     , a5 OUT NOCOPY JTF_VARCHAR2_TABLE_100
683     , a6 OUT NOCOPY JTF_VARCHAR2_TABLE_100
684     , a7 OUT NOCOPY JTF_NUMBER_TABLE
685     , a8 OUT NOCOPY JTF_NUMBER_TABLE
686     , a9 OUT NOCOPY JTF_VARCHAR2_TABLE_100
687     , a10 OUT NOCOPY JTF_NUMBER_TABLE
688     , a11 OUT NOCOPY JTF_DATE_TABLE
689     , a12 OUT NOCOPY JTF_VARCHAR2_TABLE_100
690     , a13 OUT NOCOPY JTF_VARCHAR2_TABLE_100
691     , a14 OUT NOCOPY JTF_NUMBER_TABLE
692     , a15 OUT NOCOPY JTF_NUMBER_TABLE
693     , a16 OUT NOCOPY JTF_NUMBER_TABLE
694     , a17 OUT NOCOPY JTF_NUMBER_TABLE
695     , a18 OUT NOCOPY JTF_DATE_TABLE
696     , a19 OUT NOCOPY JTF_VARCHAR2_TABLE_100
697     , a20 OUT NOCOPY JTF_DATE_TABLE
698     , a21 OUT NOCOPY JTF_NUMBER_TABLE
699     , a22 OUT NOCOPY JTF_NUMBER_TABLE
700     , a23 OUT NOCOPY JTF_NUMBER_TABLE
701     , a24 OUT NOCOPY JTF_NUMBER_TABLE
702     , a25 OUT NOCOPY JTF_VARCHAR2_TABLE_100
703     , a26 OUT NOCOPY JTF_DATE_TABLE
704     , a27 OUT NOCOPY JTF_DATE_TABLE
705     , a28 OUT NOCOPY JTF_NUMBER_TABLE
706     , a29 OUT NOCOPY JTF_VARCHAR2_TABLE_100
707     , a30 OUT NOCOPY JTF_VARCHAR2_TABLE_100
708     , a31 OUT NOCOPY JTF_VARCHAR2_TABLE_300
709     , a32 OUT NOCOPY JTF_VARCHAR2_TABLE_300
710     , a33 OUT NOCOPY JTF_VARCHAR2_TABLE_300
711     , a34 OUT NOCOPY JTF_VARCHAR2_TABLE_300
712     , a35 OUT NOCOPY JTF_VARCHAR2_TABLE_300
713     , a36 OUT NOCOPY JTF_VARCHAR2_TABLE_300
714     , a37 OUT NOCOPY JTF_VARCHAR2_TABLE_300
715     , a38 OUT NOCOPY JTF_VARCHAR2_TABLE_300
716     , a39 OUT NOCOPY JTF_VARCHAR2_TABLE_300
717     , a40 OUT NOCOPY JTF_VARCHAR2_TABLE_300
718     , a41 OUT NOCOPY JTF_VARCHAR2_TABLE_300
719     , a42 OUT NOCOPY JTF_VARCHAR2_TABLE_300
720     , a43 OUT NOCOPY JTF_VARCHAR2_TABLE_300
721     , a44 OUT NOCOPY JTF_VARCHAR2_TABLE_300
722     , a45 OUT NOCOPY JTF_VARCHAR2_TABLE_300
723     , a46 OUT NOCOPY JTF_VARCHAR2_TABLE_300
724     , a47 OUT NOCOPY JTF_VARCHAR2_TABLE_300
725     , a48 OUT NOCOPY JTF_VARCHAR2_TABLE_300
726     , a49 OUT NOCOPY JTF_VARCHAR2_TABLE_300
727     , a50 OUT NOCOPY JTF_VARCHAR2_TABLE_300
728     ) as
729     ddindx binary_integer; indx binary_integer;
730   begin
731   if t is null or t.count = 0 then
732     a0 := JTF_NUMBER_TABLE();
733     a1 := JTF_VARCHAR2_TABLE_100();
734     a2 := JTF_NUMBER_TABLE();
735     a3 := JTF_VARCHAR2_TABLE_100();
736     a4 := JTF_VARCHAR2_TABLE_100();
737     a5 := JTF_VARCHAR2_TABLE_100();
738     a6 := JTF_VARCHAR2_TABLE_100();
739     a7 := JTF_NUMBER_TABLE();
740     a8 := JTF_NUMBER_TABLE();
741     a9 := JTF_VARCHAR2_TABLE_100();
742     a10 := JTF_NUMBER_TABLE();
743     a11 := JTF_DATE_TABLE();
744     a12 := JTF_VARCHAR2_TABLE_100();
745     a13 := JTF_VARCHAR2_TABLE_100();
746     a14 := JTF_NUMBER_TABLE();
747     a15 := JTF_NUMBER_TABLE();
748     a16 := JTF_NUMBER_TABLE();
749     a17 := JTF_NUMBER_TABLE();
750     a18 := JTF_DATE_TABLE();
751     a19 := JTF_VARCHAR2_TABLE_100();
752     a20 := JTF_DATE_TABLE();
753     a21 := JTF_NUMBER_TABLE();
754     a22 := JTF_NUMBER_TABLE();
755     a23 := JTF_NUMBER_TABLE();
756     a24 := JTF_NUMBER_TABLE();
757     a25 := JTF_VARCHAR2_TABLE_100();
758     a26 := JTF_DATE_TABLE();
759     a27 := JTF_DATE_TABLE();
760     a28 := JTF_NUMBER_TABLE();
761     a29 := JTF_VARCHAR2_TABLE_100();
762     a30 := JTF_VARCHAR2_TABLE_100();
763     a31 := JTF_VARCHAR2_TABLE_300();
764     a32 := JTF_VARCHAR2_TABLE_300();
765     a33 := JTF_VARCHAR2_TABLE_300();
766     a34 := JTF_VARCHAR2_TABLE_300();
767     a35 := JTF_VARCHAR2_TABLE_300();
768     a36 := JTF_VARCHAR2_TABLE_300();
769     a37 := JTF_VARCHAR2_TABLE_300();
770     a38 := JTF_VARCHAR2_TABLE_300();
771     a39 := JTF_VARCHAR2_TABLE_300();
772     a40 := JTF_VARCHAR2_TABLE_300();
773     a41 := JTF_VARCHAR2_TABLE_300();
774     a42 := JTF_VARCHAR2_TABLE_300();
775     a43 := JTF_VARCHAR2_TABLE_300();
776     a44 := JTF_VARCHAR2_TABLE_300();
777     a45 := JTF_VARCHAR2_TABLE_300();
778     a46 := JTF_VARCHAR2_TABLE_300();
779     a47 := JTF_VARCHAR2_TABLE_300();
780     a48 := JTF_VARCHAR2_TABLE_300();
781     a49 := JTF_VARCHAR2_TABLE_300();
782     a50 := JTF_VARCHAR2_TABLE_300();
783   else
784       a0 := JTF_NUMBER_TABLE();
785       a1 := JTF_VARCHAR2_TABLE_100();
786       a2 := JTF_NUMBER_TABLE();
787       a3 := JTF_VARCHAR2_TABLE_100();
788       a4 := JTF_VARCHAR2_TABLE_100();
789       a5 := JTF_VARCHAR2_TABLE_100();
790       a6 := JTF_VARCHAR2_TABLE_100();
791       a7 := JTF_NUMBER_TABLE();
792       a8 := JTF_NUMBER_TABLE();
793       a9 := JTF_VARCHAR2_TABLE_100();
794       a10 := JTF_NUMBER_TABLE();
795       a11 := JTF_DATE_TABLE();
796       a12 := JTF_VARCHAR2_TABLE_100();
797       a13 := JTF_VARCHAR2_TABLE_100();
798       a14 := JTF_NUMBER_TABLE();
799       a15 := JTF_NUMBER_TABLE();
800       a16 := JTF_NUMBER_TABLE();
801       a17 := JTF_NUMBER_TABLE();
802       a18 := JTF_DATE_TABLE();
803       a19 := JTF_VARCHAR2_TABLE_100();
804       a20 := JTF_DATE_TABLE();
805       a21 := JTF_NUMBER_TABLE();
806       a22 := JTF_NUMBER_TABLE();
807       a23 := JTF_NUMBER_TABLE();
808       a24 := JTF_NUMBER_TABLE();
809       a25 := JTF_VARCHAR2_TABLE_100();
810       a26 := JTF_DATE_TABLE();
811       a27 := JTF_DATE_TABLE();
812       a28 := JTF_NUMBER_TABLE();
813       a29 := JTF_VARCHAR2_TABLE_100();
814       a30 := JTF_VARCHAR2_TABLE_100();
815       a31 := JTF_VARCHAR2_TABLE_300();
816       a32 := JTF_VARCHAR2_TABLE_300();
817       a33 := JTF_VARCHAR2_TABLE_300();
818       a34 := JTF_VARCHAR2_TABLE_300();
819       a35 := JTF_VARCHAR2_TABLE_300();
820       a36 := JTF_VARCHAR2_TABLE_300();
821       a37 := JTF_VARCHAR2_TABLE_300();
822       a38 := JTF_VARCHAR2_TABLE_300();
823       a39 := JTF_VARCHAR2_TABLE_300();
824       a40 := JTF_VARCHAR2_TABLE_300();
825       a41 := JTF_VARCHAR2_TABLE_300();
826       a42 := JTF_VARCHAR2_TABLE_300();
827       a43 := JTF_VARCHAR2_TABLE_300();
828       a44 := JTF_VARCHAR2_TABLE_300();
829       a45 := JTF_VARCHAR2_TABLE_300();
830       a46 := JTF_VARCHAR2_TABLE_300();
831       a47 := JTF_VARCHAR2_TABLE_300();
832       a48 := JTF_VARCHAR2_TABLE_300();
833       a49 := JTF_VARCHAR2_TABLE_300();
834       a50 := JTF_VARCHAR2_TABLE_300();
835       if t.count > 0 then
836         a0.extend(t.count);
837         a1.extend(t.count);
838         a2.extend(t.count);
839         a3.extend(t.count);
840         a4.extend(t.count);
841         a5.extend(t.count);
842         a6.extend(t.count);
843         a7.extend(t.count);
844         a8.extend(t.count);
845         a9.extend(t.count);
846         a10.extend(t.count);
847         a11.extend(t.count);
848         a12.extend(t.count);
849         a13.extend(t.count);
850         a14.extend(t.count);
851         a15.extend(t.count);
852         a16.extend(t.count);
853         a17.extend(t.count);
854         a18.extend(t.count);
855         a19.extend(t.count);
856         a20.extend(t.count);
857         a21.extend(t.count);
858         a22.extend(t.count);
859         a23.extend(t.count);
860         a24.extend(t.count);
861         a25.extend(t.count);
862         a26.extend(t.count);
863         a27.extend(t.count);
864         a28.extend(t.count);
865         a29.extend(t.count);
866         a30.extend(t.count);
867         a31.extend(t.count);
868         a32.extend(t.count);
869         a33.extend(t.count);
870         a34.extend(t.count);
871         a35.extend(t.count);
872         a36.extend(t.count);
873         a37.extend(t.count);
874         a38.extend(t.count);
875         a39.extend(t.count);
876         a40.extend(t.count);
877         a41.extend(t.count);
878         a42.extend(t.count);
879         a43.extend(t.count);
880         a44.extend(t.count);
881         a45.extend(t.count);
882         a46.extend(t.count);
883         a47.extend(t.count);
884         a48.extend(t.count);
885         a49.extend(t.count);
886         a50.extend(t.count);
887         ddindx := t.first;
888         indx := 1;
889         while true loop
890           a0(indx) := t(ddindx).line_number;
891           a1(indx) := t(ddindx).line_source;
892           a2(indx) := t(ddindx).inventory_item_id;
893           a3(indx) := t(ddindx).service_item_name;
894           a4(indx) := t(ddindx).version;
895           a5(indx) := t(ddindx).action_code;
896           a6(indx) := t(ddindx).organization_code;
897           a7(indx) := t(ddindx).organization_id;
898           a8(indx) := t(ddindx).site_use_id;
899           a9(indx) := t(ddindx).ib_source;
900           a10(indx) := t(ddindx).ib_source_id;
901           a11(indx) := t(ddindx).required_fulfillment_date;
902           a12(indx) := t(ddindx).fulfillment_required_flag;
903           a13(indx) := t(ddindx).is_package_flag;
904           a14(indx) := t(ddindx).fulfillment_sequence;
905           a15(indx) := t(ddindx).bundle_id;
906           a16(indx) := t(ddindx).bundle_sequence;
907           a17(indx) := t(ddindx).priority;
908           a18(indx) := t(ddindx).due_date;
909           a19(indx) := t(ddindx).jeopardy_enabled_flag;
910           a20(indx) := t(ddindx).customer_required_date;
911           a21(indx) := t(ddindx).starting_number;
912           a22(indx) := t(ddindx).ending_number;
913           a23(indx) := t(ddindx).line_item_id;
914           a24(indx) := t(ddindx).workitem_id;
915           a25(indx) := t(ddindx).line_status;
916           a26(indx) := t(ddindx).completion_date;
917           a27(indx) := t(ddindx).actual_fulfillment_date;
918           a28(indx) := t(ddindx).parent_line_number;
919           a29(indx) := t(ddindx).is_virtual_line_flag;
920           a30(indx) := t(ddindx).attribute_category;
921           a31(indx) := t(ddindx).attribute1;
922           a32(indx) := t(ddindx).attribute2;
923           a33(indx) := t(ddindx).attribute3;
924           a34(indx) := t(ddindx).attribute4;
925           a35(indx) := t(ddindx).attribute5;
926           a36(indx) := t(ddindx).attribute6;
927           a37(indx) := t(ddindx).attribute7;
928           a38(indx) := t(ddindx).attribute8;
929           a39(indx) := t(ddindx).attribute9;
930           a40(indx) := t(ddindx).attribute10;
931           a41(indx) := t(ddindx).attribute11;
932           a42(indx) := t(ddindx).attribute12;
933           a43(indx) := t(ddindx).attribute13;
934           a44(indx) := t(ddindx).attribute14;
935           a45(indx) := t(ddindx).attribute15;
936           a46(indx) := t(ddindx).attribute16;
937           a47(indx) := t(ddindx).attribute17;
938           a48(indx) := t(ddindx).attribute18;
939           a49(indx) := t(ddindx).attribute19;
940           a50(indx) := t(ddindx).attribute20;
941           indx := indx+1;
942           if t.last =ddindx
943             then exit;
944           end if;
945           ddindx := t.next(ddindx);
946         end loop;
947       end if;
948    end if;
949   end rosetta_table_copy_out_p11;
950 
951   procedure rosetta_table_copy_in_p15(t OUT NOCOPY xdp_types.service_order_param_list, a0 JTF_VARCHAR2_TABLE_100
952     , a1 JTF_VARCHAR2_TABLE_4000
953     ) as
954     ddindx binary_integer; indx binary_integer;
955   begin
956   if a0 is not null and a0.count > 0 then
957       if a0.count > 0 then
958         indx := a0.first;
959         ddindx := 1;
960         while true loop
961           t(ddindx).parameter_name := a0(indx);
962           t(ddindx).parameter_value := a1(indx);
963           ddindx := ddindx+1;
964           if a0.last =indx
965             then exit;
966           end if;
967           indx := a0.next(indx);
968         end loop;
969       end if;
970    end if;
971   end rosetta_table_copy_in_p15;
972   procedure rosetta_table_copy_out_p15(t xdp_types.service_order_param_list, a0 OUT NOCOPY JTF_VARCHAR2_TABLE_100
973     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_4000
974     ) as
975     ddindx binary_integer; indx binary_integer;
976   begin
977   if t is null or t.count = 0 then
978     a0 := JTF_VARCHAR2_TABLE_100();
979     a1 := JTF_VARCHAR2_TABLE_4000();
980   else
981       a0 := JTF_VARCHAR2_TABLE_100();
982       a1 := JTF_VARCHAR2_TABLE_4000();
983       if t.count > 0 then
984         a0.extend(t.count);
985         a1.extend(t.count);
986         ddindx := t.first;
987         indx := 1;
988         while true loop
989           a0(indx) := t(ddindx).parameter_name;
990           a1(indx) := t(ddindx).parameter_value;
991           indx := indx+1;
992           if t.last =ddindx
993             then exit;
994           end if;
995           ddindx := t.next(ddindx);
996         end loop;
997       end if;
998    end if;
999   end rosetta_table_copy_out_p15;
1000 
1001   procedure rosetta_table_copy_in_p19(t OUT NOCOPY xdp_types.service_line_param_list, a0 JTF_NUMBER_TABLE
1002     , a1 JTF_VARCHAR2_TABLE_100
1003     , a2 JTF_VARCHAR2_TABLE_4000
1004     , a3 JTF_VARCHAR2_TABLE_4000
1005     ) as
1006     ddindx binary_integer; indx binary_integer;
1007   begin
1008   if a0 is not null and a0.count > 0 then
1009       if a0.count > 0 then
1010         indx := a0.first;
1011         ddindx := 1;
1012         while true loop
1013           t(ddindx).line_number := a0(indx);
1014           t(ddindx).parameter_name := a1(indx);
1015           t(ddindx).parameter_value := a2(indx);
1016           t(ddindx).parameter_ref_value := a3(indx);
1017           ddindx := ddindx+1;
1018           if a0.last =indx
1019             then exit;
1020           end if;
1021           indx := a0.next(indx);
1022         end loop;
1023       end if;
1024    end if;
1025   end rosetta_table_copy_in_p19;
1026   procedure rosetta_table_copy_out_p19(t xdp_types.service_line_param_list, a0 OUT NOCOPY JTF_NUMBER_TABLE
1027     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_100
1028     , a2 OUT NOCOPY JTF_VARCHAR2_TABLE_4000
1029     , a3 OUT NOCOPY JTF_VARCHAR2_TABLE_4000
1030     ) as
1031     ddindx binary_integer; indx binary_integer;
1032   begin
1033   if t is null or t.count = 0 then
1034     a0 := JTF_NUMBER_TABLE();
1035     a1 := JTF_VARCHAR2_TABLE_100();
1036     a2 := JTF_VARCHAR2_TABLE_4000();
1037     a3 := JTF_VARCHAR2_TABLE_4000();
1038   else
1039       a0 := JTF_NUMBER_TABLE();
1040       a1 := JTF_VARCHAR2_TABLE_100();
1041       a2 := JTF_VARCHAR2_TABLE_4000();
1042       a3 := JTF_VARCHAR2_TABLE_4000();
1043       if t.count > 0 then
1044         a0.extend(t.count);
1045         a1.extend(t.count);
1046         a2.extend(t.count);
1047         a3.extend(t.count);
1048         ddindx := t.first;
1049         indx := 1;
1050         while true loop
1051           a0(indx) := t(ddindx).line_number;
1052           a1(indx) := t(ddindx).parameter_name;
1053           a2(indx) := t(ddindx).parameter_value;
1054           a3(indx) := t(ddindx).parameter_ref_value;
1055           indx := indx+1;
1056           if t.last =ddindx
1057             then exit;
1058           end if;
1059           ddindx := t.next(ddindx);
1060         end loop;
1061       end if;
1062    end if;
1063   end rosetta_table_copy_out_p19;
1064 
1065 end xdp_types_w;