DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_RULE_EXTRACT_PVT_W

Source


1 package body okl_rule_extract_pvt_w as
2   /* $Header: OKLEREXB.pls 115.8 2003/10/14 18:52:29 ashariff 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   function rosetta_g_miss_num_map(n number) return number as
14     a number := fnd_api.g_miss_num;
15     b number := 0-1962.0724;
16   begin
17     if n=a then return b; end if;
18     if n=b then return a; end if;
19     return n;
20   end;
21 
22   procedure rosetta_table_copy_in_p22(t out nocopy okl_rule_extract_pvt.rule_tbl_type, a0 JTF_VARCHAR2_TABLE_100
23     , a1 JTF_VARCHAR2_TABLE_100
24     , a2 JTF_VARCHAR2_TABLE_100
25     ) as
26     ddindx binary_integer; indx binary_integer;
27   begin
28   if a0 is not null and a0.count > 0 then
29       if a0.count > 0 then
30         indx := a0.first;
31         ddindx := 1;
32         while true loop
33           t(ddindx).rgs_code := a0(indx);
34           t(ddindx).application_column_name := a1(indx);
35           t(ddindx).column_seq_num := a2(indx);
36           ddindx := ddindx+1;
37           if a0.last =indx
38             then exit;
39           end if;
40           indx := a0.next(indx);
41         end loop;
42       end if;
43    end if;
44   end rosetta_table_copy_in_p22;
45   procedure rosetta_table_copy_out_p22(t okl_rule_extract_pvt.rule_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
46     , a1 out nocopy JTF_VARCHAR2_TABLE_100
47     , a2 out nocopy JTF_VARCHAR2_TABLE_100
48     ) as
49     ddindx binary_integer; indx binary_integer;
50   begin
51   if t is null or t.count = 0 then
52     a0 := JTF_VARCHAR2_TABLE_100();
53     a1 := JTF_VARCHAR2_TABLE_100();
54     a2 := JTF_VARCHAR2_TABLE_100();
55   else
56       a0 := JTF_VARCHAR2_TABLE_100();
57       a1 := JTF_VARCHAR2_TABLE_100();
58       a2 := JTF_VARCHAR2_TABLE_100();
59       if t.count > 0 then
60         a0.extend(t.count);
61         a1.extend(t.count);
62         a2.extend(t.count);
63         ddindx := t.first;
64         indx := 1;
65         while true loop
66           a0(indx) := t(ddindx).rgs_code;
67           a1(indx) := t(ddindx).application_column_name;
68           a2(indx) := t(ddindx).column_seq_num;
69           indx := indx+1;
70           if t.last =ddindx
71             then exit;
72           end if;
73           ddindx := t.next(ddindx);
74         end loop;
75       end if;
76    end if;
77   end rosetta_table_copy_out_p22;
78 
79   procedure rosetta_table_copy_in_p24(t out nocopy okl_rule_extract_pvt.sc_rg_tbl_type, a0 JTF_VARCHAR2_TABLE_100
80     , a1 JTF_VARCHAR2_TABLE_100
81     , a2 JTF_VARCHAR2_TABLE_100
82     , a3 JTF_VARCHAR2_TABLE_300
83     ) as
84     ddindx binary_integer; indx binary_integer;
85   begin
86   if a0 is not null and a0.count > 0 then
87       if a0.count > 0 then
88         indx := a0.first;
89         ddindx := 1;
90         while true loop
91           t(ddindx).scs_code := a0(indx);
92           t(ddindx).rgd_code := a1(indx);
93           t(ddindx).meaning := a2(indx);
94           t(ddindx).description := a3(indx);
95           ddindx := ddindx+1;
96           if a0.last =indx
97             then exit;
98           end if;
99           indx := a0.next(indx);
100         end loop;
101       end if;
102    end if;
103   end rosetta_table_copy_in_p24;
104   procedure rosetta_table_copy_out_p24(t okl_rule_extract_pvt.sc_rg_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
105     , a1 out nocopy JTF_VARCHAR2_TABLE_100
106     , a2 out nocopy JTF_VARCHAR2_TABLE_100
107     , a3 out nocopy JTF_VARCHAR2_TABLE_300
108     ) as
109     ddindx binary_integer; indx binary_integer;
110   begin
111   if t is null or t.count = 0 then
112     a0 := JTF_VARCHAR2_TABLE_100();
113     a1 := JTF_VARCHAR2_TABLE_100();
114     a2 := JTF_VARCHAR2_TABLE_100();
115     a3 := JTF_VARCHAR2_TABLE_300();
116   else
117       a0 := JTF_VARCHAR2_TABLE_100();
118       a1 := JTF_VARCHAR2_TABLE_100();
119       a2 := JTF_VARCHAR2_TABLE_100();
120       a3 := JTF_VARCHAR2_TABLE_300();
121       if t.count > 0 then
122         a0.extend(t.count);
123         a1.extend(t.count);
124         a2.extend(t.count);
125         a3.extend(t.count);
126         ddindx := t.first;
127         indx := 1;
128         while true loop
129           a0(indx) := t(ddindx).scs_code;
130           a1(indx) := t(ddindx).rgd_code;
131           a2(indx) := t(ddindx).meaning;
132           a3(indx) := t(ddindx).description;
133           indx := indx+1;
134           if t.last =ddindx
135             then exit;
136           end if;
137           ddindx := t.next(ddindx);
138         end loop;
139       end if;
140    end if;
141   end rosetta_table_copy_out_p24;
142 
143   procedure rosetta_table_copy_in_p26(t out nocopy okl_rule_extract_pvt.rg_rules_tbl_type, a0 JTF_VARCHAR2_TABLE_100
144     , a1 JTF_VARCHAR2_TABLE_100
145     , a2 JTF_VARCHAR2_TABLE_100
146     , a3 JTF_VARCHAR2_TABLE_100
147     , a4 JTF_VARCHAR2_TABLE_100
148     , a5 JTF_VARCHAR2_TABLE_100
149     , a6 JTF_VARCHAR2_TABLE_100
150     ) as
151     ddindx binary_integer; indx binary_integer;
152   begin
153   if a0 is not null and a0.count > 0 then
154       if a0.count > 0 then
155         indx := a0.first;
156         ddindx := 1;
157         while true loop
158           t(ddindx).rgd_code := a0(indx);
159           t(ddindx).rdf_code := a1(indx);
160           t(ddindx).application_column_name := a2(indx);
161           t(ddindx).column_seq_num := a3(indx);
162           t(ddindx).optional_yn := a4(indx);
163           t(ddindx).min_cardinality := a5(indx);
164           t(ddindx).max_cardinality := a6(indx);
165           ddindx := ddindx+1;
166           if a0.last =indx
167             then exit;
168           end if;
169           indx := a0.next(indx);
170         end loop;
171       end if;
172    end if;
173   end rosetta_table_copy_in_p26;
174   procedure rosetta_table_copy_out_p26(t okl_rule_extract_pvt.rg_rules_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
175     , a1 out nocopy JTF_VARCHAR2_TABLE_100
176     , a2 out nocopy JTF_VARCHAR2_TABLE_100
177     , a3 out nocopy JTF_VARCHAR2_TABLE_100
178     , a4 out nocopy JTF_VARCHAR2_TABLE_100
179     , a5 out nocopy JTF_VARCHAR2_TABLE_100
180     , a6 out nocopy JTF_VARCHAR2_TABLE_100
181     ) as
182     ddindx binary_integer; indx binary_integer;
183   begin
184   if t is null or t.count = 0 then
185     a0 := JTF_VARCHAR2_TABLE_100();
186     a1 := JTF_VARCHAR2_TABLE_100();
187     a2 := JTF_VARCHAR2_TABLE_100();
188     a3 := JTF_VARCHAR2_TABLE_100();
189     a4 := JTF_VARCHAR2_TABLE_100();
190     a5 := JTF_VARCHAR2_TABLE_100();
191     a6 := JTF_VARCHAR2_TABLE_100();
192   else
193       a0 := JTF_VARCHAR2_TABLE_100();
194       a1 := JTF_VARCHAR2_TABLE_100();
195       a2 := JTF_VARCHAR2_TABLE_100();
196       a3 := JTF_VARCHAR2_TABLE_100();
197       a4 := JTF_VARCHAR2_TABLE_100();
198       a5 := JTF_VARCHAR2_TABLE_100();
199       a6 := JTF_VARCHAR2_TABLE_100();
200       if t.count > 0 then
201         a0.extend(t.count);
202         a1.extend(t.count);
203         a2.extend(t.count);
204         a3.extend(t.count);
205         a4.extend(t.count);
206         a5.extend(t.count);
207         a6.extend(t.count);
208         ddindx := t.first;
209         indx := 1;
210         while true loop
211           a0(indx) := t(ddindx).rgd_code;
212           a1(indx) := t(ddindx).rdf_code;
213           a2(indx) := t(ddindx).application_column_name;
214           a3(indx) := t(ddindx).column_seq_num;
215           a4(indx) := t(ddindx).optional_yn;
216           a5(indx) := t(ddindx).min_cardinality;
217           a6(indx) := t(ddindx).max_cardinality;
218           indx := indx+1;
219           if t.last =ddindx
220             then exit;
221           end if;
222           ddindx := t.next(ddindx);
223         end loop;
224       end if;
225    end if;
226   end rosetta_table_copy_out_p26;
227 
228   procedure rosetta_table_copy_in_p28(t out nocopy okl_rule_extract_pvt.rule_segment_tbl_type, a0 JTF_VARCHAR2_TABLE_100
229     , a1 JTF_VARCHAR2_TABLE_100
230     , a2 JTF_VARCHAR2_TABLE_100
231     , a3 JTF_VARCHAR2_TABLE_100
232     , a4 JTF_VARCHAR2_TABLE_100
233     , a5 JTF_VARCHAR2_TABLE_100
234     , a6 JTF_VARCHAR2_TABLE_100
235     , a7 JTF_VARCHAR2_TABLE_100
236     , a8 JTF_VARCHAR2_TABLE_100
237     , a9 JTF_VARCHAR2_TABLE_100
238     , a10 JTF_VARCHAR2_TABLE_2000
239     , a11 JTF_VARCHAR2_TABLE_2000
240     , a12 JTF_VARCHAR2_TABLE_2000
241     , a13 JTF_VARCHAR2_TABLE_2000
242     , a14 JTF_VARCHAR2_TABLE_100
243     , a15 JTF_VARCHAR2_TABLE_100
244     , a16 JTF_VARCHAR2_TABLE_100
245     , a17 JTF_VARCHAR2_TABLE_100
246     , a18 JTF_VARCHAR2_TABLE_100
247     , a19 JTF_VARCHAR2_TABLE_100
248     , a20 JTF_VARCHAR2_TABLE_100
249     , a21 JTF_VARCHAR2_TABLE_100
250     , a22 JTF_VARCHAR2_TABLE_300
251     ) as
252     ddindx binary_integer; indx binary_integer;
253   begin
254   if a0 is not null and a0.count > 0 then
255       if a0.count > 0 then
256         indx := a0.first;
257         ddindx := 1;
258         while true loop
259           t(ddindx).rgd_code := a0(indx);
260           t(ddindx).rgs_code := a1(indx);
261           t(ddindx).application_column_name := a2(indx);
262           t(ddindx).end_user_column_name := a3(indx);
263           t(ddindx).sequence := a4(indx);
264           t(ddindx).enabled_flag := a5(indx);
265           t(ddindx).displayed_flag := a6(indx);
266           t(ddindx).required_flag := a7(indx);
267           t(ddindx).default_size := a8(indx);
268           t(ddindx).left_prompt := a9(indx);
269           t(ddindx).select_clause := a10(indx);
270           t(ddindx).from_clause := a11(indx);
271           t(ddindx).where_clause := a12(indx);
272           t(ddindx).order_by_clause := a13(indx);
273           t(ddindx).object_code := a14(indx);
274           t(ddindx).longlist_flag := a15(indx);
275           t(ddindx).format_type := a16(indx);
276           t(ddindx).id1_col := a17(indx);
277           t(ddindx).id2_col := a18(indx);
278           t(ddindx).rule_info_col := a19(indx);
279           t(ddindx).name_col := a20(indx);
280           t(ddindx).value_set_name := a21(indx);
281           t(ddindx).additional_columns := a22(indx);
282           ddindx := ddindx+1;
283           if a0.last =indx
284             then exit;
285           end if;
286           indx := a0.next(indx);
287         end loop;
288       end if;
289    end if;
290   end rosetta_table_copy_in_p28;
291   procedure rosetta_table_copy_out_p28(t okl_rule_extract_pvt.rule_segment_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
292     , a1 out nocopy JTF_VARCHAR2_TABLE_100
293     , a2 out nocopy JTF_VARCHAR2_TABLE_100
294     , a3 out nocopy JTF_VARCHAR2_TABLE_100
295     , a4 out nocopy JTF_VARCHAR2_TABLE_100
296     , a5 out nocopy JTF_VARCHAR2_TABLE_100
297     , a6 out nocopy JTF_VARCHAR2_TABLE_100
298     , a7 out nocopy JTF_VARCHAR2_TABLE_100
299     , a8 out nocopy JTF_VARCHAR2_TABLE_100
300     , a9 out nocopy JTF_VARCHAR2_TABLE_100
301     , a10 out nocopy JTF_VARCHAR2_TABLE_2000
302     , a11 out nocopy JTF_VARCHAR2_TABLE_2000
303     , a12 out nocopy JTF_VARCHAR2_TABLE_2000
304     , a13 out nocopy JTF_VARCHAR2_TABLE_2000
305     , a14 out nocopy JTF_VARCHAR2_TABLE_100
306     , a15 out nocopy JTF_VARCHAR2_TABLE_100
307     , a16 out nocopy JTF_VARCHAR2_TABLE_100
308     , a17 out nocopy JTF_VARCHAR2_TABLE_100
309     , a18 out nocopy JTF_VARCHAR2_TABLE_100
310     , a19 out nocopy JTF_VARCHAR2_TABLE_100
311     , a20 out nocopy JTF_VARCHAR2_TABLE_100
312     , a21 out nocopy JTF_VARCHAR2_TABLE_100
313     , a22 out nocopy JTF_VARCHAR2_TABLE_300
314     ) as
315     ddindx binary_integer; indx binary_integer;
316   begin
317   if t is null or t.count = 0 then
318     a0 := JTF_VARCHAR2_TABLE_100();
319     a1 := JTF_VARCHAR2_TABLE_100();
320     a2 := JTF_VARCHAR2_TABLE_100();
321     a3 := JTF_VARCHAR2_TABLE_100();
322     a4 := JTF_VARCHAR2_TABLE_100();
323     a5 := JTF_VARCHAR2_TABLE_100();
324     a6 := JTF_VARCHAR2_TABLE_100();
325     a7 := JTF_VARCHAR2_TABLE_100();
326     a8 := JTF_VARCHAR2_TABLE_100();
327     a9 := JTF_VARCHAR2_TABLE_100();
328     a10 := JTF_VARCHAR2_TABLE_2000();
329     a11 := JTF_VARCHAR2_TABLE_2000();
330     a12 := JTF_VARCHAR2_TABLE_2000();
331     a13 := JTF_VARCHAR2_TABLE_2000();
332     a14 := JTF_VARCHAR2_TABLE_100();
333     a15 := JTF_VARCHAR2_TABLE_100();
334     a16 := JTF_VARCHAR2_TABLE_100();
335     a17 := JTF_VARCHAR2_TABLE_100();
336     a18 := JTF_VARCHAR2_TABLE_100();
337     a19 := JTF_VARCHAR2_TABLE_100();
338     a20 := JTF_VARCHAR2_TABLE_100();
339     a21 := JTF_VARCHAR2_TABLE_100();
340     a22 := JTF_VARCHAR2_TABLE_300();
341   else
342       a0 := JTF_VARCHAR2_TABLE_100();
343       a1 := JTF_VARCHAR2_TABLE_100();
344       a2 := JTF_VARCHAR2_TABLE_100();
345       a3 := JTF_VARCHAR2_TABLE_100();
346       a4 := JTF_VARCHAR2_TABLE_100();
347       a5 := JTF_VARCHAR2_TABLE_100();
348       a6 := JTF_VARCHAR2_TABLE_100();
349       a7 := JTF_VARCHAR2_TABLE_100();
350       a8 := JTF_VARCHAR2_TABLE_100();
351       a9 := JTF_VARCHAR2_TABLE_100();
352       a10 := JTF_VARCHAR2_TABLE_2000();
353       a11 := JTF_VARCHAR2_TABLE_2000();
354       a12 := JTF_VARCHAR2_TABLE_2000();
355       a13 := JTF_VARCHAR2_TABLE_2000();
356       a14 := JTF_VARCHAR2_TABLE_100();
357       a15 := JTF_VARCHAR2_TABLE_100();
358       a16 := JTF_VARCHAR2_TABLE_100();
359       a17 := JTF_VARCHAR2_TABLE_100();
360       a18 := JTF_VARCHAR2_TABLE_100();
361       a19 := JTF_VARCHAR2_TABLE_100();
362       a20 := JTF_VARCHAR2_TABLE_100();
363       a21 := JTF_VARCHAR2_TABLE_100();
364       a22 := JTF_VARCHAR2_TABLE_300();
365       if t.count > 0 then
366         a0.extend(t.count);
367         a1.extend(t.count);
368         a2.extend(t.count);
369         a3.extend(t.count);
370         a4.extend(t.count);
371         a5.extend(t.count);
372         a6.extend(t.count);
373         a7.extend(t.count);
374         a8.extend(t.count);
375         a9.extend(t.count);
376         a10.extend(t.count);
377         a11.extend(t.count);
378         a12.extend(t.count);
379         a13.extend(t.count);
380         a14.extend(t.count);
381         a15.extend(t.count);
382         a16.extend(t.count);
383         a17.extend(t.count);
384         a18.extend(t.count);
385         a19.extend(t.count);
386         a20.extend(t.count);
387         a21.extend(t.count);
388         a22.extend(t.count);
389         ddindx := t.first;
390         indx := 1;
391         while true loop
392           a0(indx) := t(ddindx).rgd_code;
393           a1(indx) := t(ddindx).rgs_code;
394           a2(indx) := t(ddindx).application_column_name;
395           a3(indx) := t(ddindx).end_user_column_name;
396           a4(indx) := t(ddindx).sequence;
397           a5(indx) := t(ddindx).enabled_flag;
398           a6(indx) := t(ddindx).displayed_flag;
399           a7(indx) := t(ddindx).required_flag;
400           a8(indx) := t(ddindx).default_size;
401           a9(indx) := t(ddindx).left_prompt;
402           a10(indx) := t(ddindx).select_clause;
403           a11(indx) := t(ddindx).from_clause;
404           a12(indx) := t(ddindx).where_clause;
405           a13(indx) := t(ddindx).order_by_clause;
406           a14(indx) := t(ddindx).object_code;
407           a15(indx) := t(ddindx).longlist_flag;
408           a16(indx) := t(ddindx).format_type;
409           a17(indx) := t(ddindx).id1_col;
410           a18(indx) := t(ddindx).id2_col;
411           a19(indx) := t(ddindx).rule_info_col;
412           a20(indx) := t(ddindx).name_col;
413           a21(indx) := t(ddindx).value_set_name;
414           a22(indx) := t(ddindx).additional_columns;
415           indx := indx+1;
416           if t.last =ddindx
417             then exit;
418           end if;
419           ddindx := t.next(ddindx);
420         end loop;
421       end if;
422    end if;
423   end rosetta_table_copy_out_p28;
424 
425   procedure rosetta_table_copy_in_p30(t out nocopy okl_rule_extract_pvt.rule_segment_tbl_type2, a0 JTF_VARCHAR2_TABLE_100
426     , a1 JTF_VARCHAR2_TABLE_100
427     , a2 JTF_VARCHAR2_TABLE_100
428     , a3 JTF_VARCHAR2_TABLE_100
429     , a4 JTF_VARCHAR2_TABLE_100
430     , a5 JTF_VARCHAR2_TABLE_100
431     , a6 JTF_VARCHAR2_TABLE_100
432     , a7 JTF_VARCHAR2_TABLE_100
433     , a8 JTF_VARCHAR2_TABLE_100
434     , a9 JTF_VARCHAR2_TABLE_100
435     , a10 JTF_VARCHAR2_TABLE_2000
436     , a11 JTF_VARCHAR2_TABLE_2000
437     , a12 JTF_VARCHAR2_TABLE_2000
438     , a13 JTF_VARCHAR2_TABLE_2000
439     , a14 JTF_VARCHAR2_TABLE_100
440     , a15 JTF_VARCHAR2_TABLE_100
441     , a16 JTF_VARCHAR2_TABLE_100
442     , a17 JTF_VARCHAR2_TABLE_100
443     , a18 JTF_VARCHAR2_TABLE_100
444     , a19 JTF_VARCHAR2_TABLE_100
445     , a20 JTF_VARCHAR2_TABLE_100
446     , a21 JTF_VARCHAR2_TABLE_100
447     , a22 JTF_VARCHAR2_TABLE_300
448     , a23 JTF_VARCHAR2_TABLE_300
449     , a24 JTF_VARCHAR2_TABLE_300
450     , a25 JTF_VARCHAR2_TABLE_1000
451     , a26 JTF_VARCHAR2_TABLE_1000
452     , a27 JTF_VARCHAR2_TABLE_100
453     ) as
454     ddindx binary_integer; indx binary_integer;
455   begin
456   if a0 is not null and a0.count > 0 then
457       if a0.count > 0 then
458         indx := a0.first;
459         ddindx := 1;
460         while true loop
461           t(ddindx).rgd_code := a0(indx);
462           t(ddindx).rgs_code := a1(indx);
463           t(ddindx).application_column_name := a2(indx);
464           t(ddindx).end_user_column_name := a3(indx);
465           t(ddindx).sequence := a4(indx);
466           t(ddindx).enabled_flag := a5(indx);
467           t(ddindx).displayed_flag := a6(indx);
468           t(ddindx).required_flag := a7(indx);
469           t(ddindx).default_size := a8(indx);
470           t(ddindx).left_prompt := a9(indx);
471           t(ddindx).select_clause := a10(indx);
472           t(ddindx).from_clause := a11(indx);
473           t(ddindx).where_clause := a12(indx);
474           t(ddindx).order_by_clause := a13(indx);
475           t(ddindx).object_code := a14(indx);
476           t(ddindx).longlist_flag := a15(indx);
477           t(ddindx).format_type := a16(indx);
478           t(ddindx).id1_col := a17(indx);
479           t(ddindx).id2_col := a18(indx);
480           t(ddindx).rule_info_col := a19(indx);
481           t(ddindx).name_col := a20(indx);
482           t(ddindx).value_set_name := a21(indx);
483           t(ddindx).additional_columns := a22(indx);
484           t(ddindx).x_id1 := a23(indx);
485           t(ddindx).x_id2 := a24(indx);
486           t(ddindx).x_name := a25(indx);
487           t(ddindx).x_desc := a26(indx);
488           t(ddindx).x_segment_status := a27(indx);
489           ddindx := ddindx+1;
490           if a0.last =indx
491             then exit;
492           end if;
493           indx := a0.next(indx);
494         end loop;
495       end if;
496    end if;
497   end rosetta_table_copy_in_p30;
498   procedure rosetta_table_copy_out_p30(t okl_rule_extract_pvt.rule_segment_tbl_type2, a0 out nocopy JTF_VARCHAR2_TABLE_100
499     , a1 out nocopy JTF_VARCHAR2_TABLE_100
500     , a2 out nocopy JTF_VARCHAR2_TABLE_100
501     , a3 out nocopy JTF_VARCHAR2_TABLE_100
502     , a4 out nocopy JTF_VARCHAR2_TABLE_100
503     , a5 out nocopy JTF_VARCHAR2_TABLE_100
504     , a6 out nocopy JTF_VARCHAR2_TABLE_100
505     , a7 out nocopy JTF_VARCHAR2_TABLE_100
506     , a8 out nocopy JTF_VARCHAR2_TABLE_100
507     , a9 out nocopy JTF_VARCHAR2_TABLE_100
508     , a10 out nocopy JTF_VARCHAR2_TABLE_2000
509     , a11 out nocopy JTF_VARCHAR2_TABLE_2000
510     , a12 out nocopy JTF_VARCHAR2_TABLE_2000
511     , a13 out nocopy JTF_VARCHAR2_TABLE_2000
512     , a14 out nocopy JTF_VARCHAR2_TABLE_100
513     , a15 out nocopy JTF_VARCHAR2_TABLE_100
514     , a16 out nocopy JTF_VARCHAR2_TABLE_100
515     , a17 out nocopy JTF_VARCHAR2_TABLE_100
516     , a18 out nocopy JTF_VARCHAR2_TABLE_100
517     , a19 out nocopy JTF_VARCHAR2_TABLE_100
518     , a20 out nocopy JTF_VARCHAR2_TABLE_100
519     , a21 out nocopy JTF_VARCHAR2_TABLE_100
520     , a22 out nocopy JTF_VARCHAR2_TABLE_300
521     , a23 out nocopy JTF_VARCHAR2_TABLE_300
522     , a24 out nocopy JTF_VARCHAR2_TABLE_300
523     , a25 out nocopy JTF_VARCHAR2_TABLE_1000
524     , a26 out nocopy JTF_VARCHAR2_TABLE_1000
525     , a27 out nocopy JTF_VARCHAR2_TABLE_100
526     ) as
527     ddindx binary_integer; indx binary_integer;
528   begin
529   if t is null or t.count = 0 then
530     a0 := JTF_VARCHAR2_TABLE_100();
531     a1 := JTF_VARCHAR2_TABLE_100();
532     a2 := JTF_VARCHAR2_TABLE_100();
533     a3 := JTF_VARCHAR2_TABLE_100();
534     a4 := JTF_VARCHAR2_TABLE_100();
535     a5 := JTF_VARCHAR2_TABLE_100();
536     a6 := JTF_VARCHAR2_TABLE_100();
537     a7 := JTF_VARCHAR2_TABLE_100();
538     a8 := JTF_VARCHAR2_TABLE_100();
539     a9 := JTF_VARCHAR2_TABLE_100();
540     a10 := JTF_VARCHAR2_TABLE_2000();
541     a11 := JTF_VARCHAR2_TABLE_2000();
542     a12 := JTF_VARCHAR2_TABLE_2000();
543     a13 := JTF_VARCHAR2_TABLE_2000();
544     a14 := JTF_VARCHAR2_TABLE_100();
545     a15 := JTF_VARCHAR2_TABLE_100();
546     a16 := JTF_VARCHAR2_TABLE_100();
547     a17 := JTF_VARCHAR2_TABLE_100();
548     a18 := JTF_VARCHAR2_TABLE_100();
549     a19 := JTF_VARCHAR2_TABLE_100();
550     a20 := JTF_VARCHAR2_TABLE_100();
551     a21 := JTF_VARCHAR2_TABLE_100();
552     a22 := JTF_VARCHAR2_TABLE_300();
553     a23 := JTF_VARCHAR2_TABLE_300();
554     a24 := JTF_VARCHAR2_TABLE_300();
555     a25 := JTF_VARCHAR2_TABLE_1000();
556     a26 := JTF_VARCHAR2_TABLE_1000();
557     a27 := JTF_VARCHAR2_TABLE_100();
558   else
559       a0 := JTF_VARCHAR2_TABLE_100();
560       a1 := JTF_VARCHAR2_TABLE_100();
561       a2 := JTF_VARCHAR2_TABLE_100();
562       a3 := JTF_VARCHAR2_TABLE_100();
563       a4 := JTF_VARCHAR2_TABLE_100();
564       a5 := JTF_VARCHAR2_TABLE_100();
565       a6 := JTF_VARCHAR2_TABLE_100();
566       a7 := JTF_VARCHAR2_TABLE_100();
567       a8 := JTF_VARCHAR2_TABLE_100();
568       a9 := JTF_VARCHAR2_TABLE_100();
569       a10 := JTF_VARCHAR2_TABLE_2000();
570       a11 := JTF_VARCHAR2_TABLE_2000();
571       a12 := JTF_VARCHAR2_TABLE_2000();
572       a13 := JTF_VARCHAR2_TABLE_2000();
573       a14 := JTF_VARCHAR2_TABLE_100();
574       a15 := JTF_VARCHAR2_TABLE_100();
575       a16 := JTF_VARCHAR2_TABLE_100();
576       a17 := JTF_VARCHAR2_TABLE_100();
577       a18 := JTF_VARCHAR2_TABLE_100();
578       a19 := JTF_VARCHAR2_TABLE_100();
579       a20 := JTF_VARCHAR2_TABLE_100();
580       a21 := JTF_VARCHAR2_TABLE_100();
581       a22 := JTF_VARCHAR2_TABLE_300();
582       a23 := JTF_VARCHAR2_TABLE_300();
583       a24 := JTF_VARCHAR2_TABLE_300();
584       a25 := JTF_VARCHAR2_TABLE_1000();
585       a26 := JTF_VARCHAR2_TABLE_1000();
586       a27 := JTF_VARCHAR2_TABLE_100();
587       if t.count > 0 then
588         a0.extend(t.count);
589         a1.extend(t.count);
590         a2.extend(t.count);
591         a3.extend(t.count);
592         a4.extend(t.count);
593         a5.extend(t.count);
594         a6.extend(t.count);
595         a7.extend(t.count);
596         a8.extend(t.count);
597         a9.extend(t.count);
598         a10.extend(t.count);
599         a11.extend(t.count);
600         a12.extend(t.count);
601         a13.extend(t.count);
602         a14.extend(t.count);
603         a15.extend(t.count);
604         a16.extend(t.count);
605         a17.extend(t.count);
606         a18.extend(t.count);
607         a19.extend(t.count);
608         a20.extend(t.count);
609         a21.extend(t.count);
610         a22.extend(t.count);
611         a23.extend(t.count);
612         a24.extend(t.count);
613         a25.extend(t.count);
614         a26.extend(t.count);
615         a27.extend(t.count);
616         ddindx := t.first;
617         indx := 1;
618         while true loop
619           a0(indx) := t(ddindx).rgd_code;
620           a1(indx) := t(ddindx).rgs_code;
621           a2(indx) := t(ddindx).application_column_name;
622           a3(indx) := t(ddindx).end_user_column_name;
623           a4(indx) := t(ddindx).sequence;
624           a5(indx) := t(ddindx).enabled_flag;
625           a6(indx) := t(ddindx).displayed_flag;
626           a7(indx) := t(ddindx).required_flag;
627           a8(indx) := t(ddindx).default_size;
628           a9(indx) := t(ddindx).left_prompt;
629           a10(indx) := t(ddindx).select_clause;
630           a11(indx) := t(ddindx).from_clause;
631           a12(indx) := t(ddindx).where_clause;
632           a13(indx) := t(ddindx).order_by_clause;
633           a14(indx) := t(ddindx).object_code;
634           a15(indx) := t(ddindx).longlist_flag;
635           a16(indx) := t(ddindx).format_type;
636           a17(indx) := t(ddindx).id1_col;
637           a18(indx) := t(ddindx).id2_col;
638           a19(indx) := t(ddindx).rule_info_col;
639           a20(indx) := t(ddindx).name_col;
640           a21(indx) := t(ddindx).value_set_name;
641           a22(indx) := t(ddindx).additional_columns;
642           a23(indx) := t(ddindx).x_id1;
643           a24(indx) := t(ddindx).x_id2;
644           a25(indx) := t(ddindx).x_name;
645           a26(indx) := t(ddindx).x_desc;
646           a27(indx) := t(ddindx).x_segment_status;
647           indx := indx+1;
648           if t.last =ddindx
649             then exit;
650           end if;
651           ddindx := t.next(ddindx);
652         end loop;
653       end if;
654    end if;
655   end rosetta_table_copy_out_p30;
656 
657   procedure get_subclass_rgs(p_api_version  NUMBER
658     , p_init_msg_list  VARCHAR2
659     , x_return_status out nocopy  VARCHAR2
660     , x_msg_count out nocopy  NUMBER
661     , x_msg_data out nocopy  VARCHAR2
662     , p_chr_id  VARCHAR2
663     , p6_a0 out nocopy JTF_VARCHAR2_TABLE_100
664     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_100
665     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_100
666     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_300
667   )
668 
669   as
670     ddx_sc_rg_tbl okl_rule_extract_pvt.sc_rg_tbl_type;
671     ddindx binary_integer; indx binary_integer;
672   begin
673 
674     -- copy data to the local IN or IN-OUT args, if any
675 
676 
677 
678 
679 
680 
681 
682     -- here's the delegated call to the old PL/SQL routine
683     okl_rule_extract_pvt.get_subclass_rgs(p_api_version,
684       p_init_msg_list,
685       x_return_status,
686       x_msg_count,
687       x_msg_data,
688       p_chr_id,
689       ddx_sc_rg_tbl);
690 
691     -- copy data back from the local variables to OUT or IN-OUT args, if any
692 
693 
694 
695 
696 
697 
698     okl_rule_extract_pvt_w.rosetta_table_copy_out_p24(ddx_sc_rg_tbl, p6_a0
699       , p6_a1
700       , p6_a2
701       , p6_a3
702       );
703   end;
704 
705   procedure get_rg_rules(p_api_version  NUMBER
706     , p_init_msg_list  VARCHAR2
707     , x_return_status out nocopy  VARCHAR2
708     , x_msg_count out nocopy  NUMBER
709     , x_msg_data out nocopy  VARCHAR2
710     , p_rgd_code  VARCHAR2
711     , p6_a0 out nocopy JTF_VARCHAR2_TABLE_100
712     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_100
713     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_100
714     , p6_a3 out nocopy JTF_VARCHAR2_TABLE_100
715     , p6_a4 out nocopy JTF_VARCHAR2_TABLE_100
716     , p6_a5 out nocopy JTF_VARCHAR2_TABLE_100
717     , p6_a6 out nocopy JTF_VARCHAR2_TABLE_100
718   )
719 
720   as
721     ddx_rg_rules_tbl okl_rule_extract_pvt.rg_rules_tbl_type;
722     ddindx binary_integer; indx binary_integer;
723   begin
724 
725     -- copy data to the local IN or IN-OUT args, if any
726 
727 
728 
729 
730 
731 
732 
733     -- here's the delegated call to the old PL/SQL routine
734     okl_rule_extract_pvt.get_rg_rules(p_api_version,
735       p_init_msg_list,
736       x_return_status,
737       x_msg_count,
738       x_msg_data,
739       p_rgd_code,
740       ddx_rg_rules_tbl);
741 
742     -- copy data back from the local variables to OUT or IN-OUT args, if any
743 
744 
745 
746 
747 
748 
749     okl_rule_extract_pvt_w.rosetta_table_copy_out_p26(ddx_rg_rules_tbl, p6_a0
750       , p6_a1
751       , p6_a2
752       , p6_a3
753       , p6_a4
754       , p6_a5
755       , p6_a6
756       );
757   end;
758 
759   procedure get_rule_def(p_api_version  NUMBER
760     , p_init_msg_list  VARCHAR2
761     , x_return_status out nocopy  VARCHAR2
762     , x_msg_count out nocopy  NUMBER
763     , x_msg_data out nocopy  VARCHAR2
764     , p_rgd_code  VARCHAR2
765     , p_rgs_code  VARCHAR2
766     , p_buy_or_sell  VARCHAR2
767     , p8_a0 out nocopy JTF_VARCHAR2_TABLE_100
768     , p8_a1 out nocopy JTF_VARCHAR2_TABLE_100
769     , p8_a2 out nocopy JTF_VARCHAR2_TABLE_100
770     , p8_a3 out nocopy JTF_VARCHAR2_TABLE_100
771     , p8_a4 out nocopy JTF_VARCHAR2_TABLE_100
772     , p8_a5 out nocopy JTF_VARCHAR2_TABLE_100
773     , p8_a6 out nocopy JTF_VARCHAR2_TABLE_100
774     , p8_a7 out nocopy JTF_VARCHAR2_TABLE_100
775     , p8_a8 out nocopy JTF_VARCHAR2_TABLE_100
776     , p8_a9 out nocopy JTF_VARCHAR2_TABLE_100
777     , p8_a10 out nocopy JTF_VARCHAR2_TABLE_2000
778     , p8_a11 out nocopy JTF_VARCHAR2_TABLE_2000
779     , p8_a12 out nocopy JTF_VARCHAR2_TABLE_2000
780     , p8_a13 out nocopy JTF_VARCHAR2_TABLE_2000
781     , p8_a14 out nocopy JTF_VARCHAR2_TABLE_100
782     , p8_a15 out nocopy JTF_VARCHAR2_TABLE_100
783     , p8_a16 out nocopy JTF_VARCHAR2_TABLE_100
784     , p8_a17 out nocopy JTF_VARCHAR2_TABLE_100
785     , p8_a18 out nocopy JTF_VARCHAR2_TABLE_100
786     , p8_a19 out nocopy JTF_VARCHAR2_TABLE_100
787     , p8_a20 out nocopy JTF_VARCHAR2_TABLE_100
788     , p8_a21 out nocopy JTF_VARCHAR2_TABLE_100
789     , p8_a22 out nocopy JTF_VARCHAR2_TABLE_300
790   )
791 
792   as
793     ddx_rule_segment_tbl okl_rule_extract_pvt.rule_segment_tbl_type;
794     ddindx binary_integer; indx binary_integer;
795   begin
796 
797     -- copy data to the local IN or IN-OUT args, if any
798 
799 
800 
801 
802 
803 
804 
805 
806 
807     -- here's the delegated call to the old PL/SQL routine
808     okl_rule_extract_pvt.get_rule_def(p_api_version,
809       p_init_msg_list,
810       x_return_status,
811       x_msg_count,
812       x_msg_data,
813       p_rgd_code,
814       p_rgs_code,
815       p_buy_or_sell,
816       ddx_rule_segment_tbl);
817 
818     -- copy data back from the local variables to OUT or IN-OUT args, if any
819 
820 
821 
822 
823 
824 
825 
826 
827     okl_rule_extract_pvt_w.rosetta_table_copy_out_p28(ddx_rule_segment_tbl, p8_a0
828       , p8_a1
829       , p8_a2
830       , p8_a3
831       , p8_a4
832       , p8_a5
833       , p8_a6
834       , p8_a7
835       , p8_a8
836       , p8_a9
837       , p8_a10
838       , p8_a11
839       , p8_a12
840       , p8_a13
841       , p8_a14
842       , p8_a15
843       , p8_a16
844       , p8_a17
845       , p8_a18
846       , p8_a19
847       , p8_a20
848       , p8_a21
849       , p8_a22
850       );
851   end;
852 
853   procedure get_rules_metadata(p_api_version  NUMBER
854     , p_init_msg_list  VARCHAR2
855     , x_return_status out nocopy  VARCHAR2
856     , x_msg_count out nocopy  NUMBER
857     , x_msg_data out nocopy  VARCHAR2
858     , p_rgd_code  VARCHAR2
859     , p_rgs_code  VARCHAR2
860     , p_buy_or_sell  VARCHAR2
861     , p_contract_id  NUMBER
862     , p_line_id  NUMBER
863     , p_party_id  NUMBER
864     , p_template_table  VARCHAR2
865     , p_rule_id_column  VARCHAR2
866     , p_entity_column  VARCHAR2
867     , p14_a0 out nocopy JTF_VARCHAR2_TABLE_100
868     , p14_a1 out nocopy JTF_VARCHAR2_TABLE_100
869     , p14_a2 out nocopy JTF_VARCHAR2_TABLE_100
870     , p14_a3 out nocopy JTF_VARCHAR2_TABLE_100
871     , p14_a4 out nocopy JTF_VARCHAR2_TABLE_100
872     , p14_a5 out nocopy JTF_VARCHAR2_TABLE_100
873     , p14_a6 out nocopy JTF_VARCHAR2_TABLE_100
874     , p14_a7 out nocopy JTF_VARCHAR2_TABLE_100
875     , p14_a8 out nocopy JTF_VARCHAR2_TABLE_100
876     , p14_a9 out nocopy JTF_VARCHAR2_TABLE_100
877     , p14_a10 out nocopy JTF_VARCHAR2_TABLE_2000
878     , p14_a11 out nocopy JTF_VARCHAR2_TABLE_2000
879     , p14_a12 out nocopy JTF_VARCHAR2_TABLE_2000
880     , p14_a13 out nocopy JTF_VARCHAR2_TABLE_2000
881     , p14_a14 out nocopy JTF_VARCHAR2_TABLE_100
882     , p14_a15 out nocopy JTF_VARCHAR2_TABLE_100
883     , p14_a16 out nocopy JTF_VARCHAR2_TABLE_100
884     , p14_a17 out nocopy JTF_VARCHAR2_TABLE_100
885     , p14_a18 out nocopy JTF_VARCHAR2_TABLE_100
886     , p14_a19 out nocopy JTF_VARCHAR2_TABLE_100
887     , p14_a20 out nocopy JTF_VARCHAR2_TABLE_100
888     , p14_a21 out nocopy JTF_VARCHAR2_TABLE_100
889     , p14_a22 out nocopy JTF_VARCHAR2_TABLE_300
890     , p14_a23 out nocopy JTF_VARCHAR2_TABLE_300
891     , p14_a24 out nocopy JTF_VARCHAR2_TABLE_300
892     , p14_a25 out nocopy JTF_VARCHAR2_TABLE_1000
893     , p14_a26 out nocopy JTF_VARCHAR2_TABLE_1000
894     , p14_a27 out nocopy JTF_VARCHAR2_TABLE_100
895   )
896 
897   as
898     ddx_rule_segment_tbl okl_rule_extract_pvt.rule_segment_tbl_type2;
899     ddindx binary_integer; indx binary_integer;
900   begin
901 
902     -- copy data to the local IN or IN-OUT args, if any
903 
904 
905 
906 
907 
908 
909 
910 
911 
912 
913 
914 
915 
916 
917 
918     -- here's the delegated call to the old PL/SQL routine
919     okl_rule_extract_pvt.get_rules_metadata(p_api_version,
920       p_init_msg_list,
921       x_return_status,
922       x_msg_count,
923       x_msg_data,
924       p_rgd_code,
925       p_rgs_code,
926       p_buy_or_sell,
927       p_contract_id,
928       p_line_id,
929       p_party_id,
930       p_template_table,
931       p_rule_id_column,
932       p_entity_column,
933       ddx_rule_segment_tbl);
934 
935     -- copy data back from the local variables to OUT or IN-OUT args, if any
936 
937 
938 
939 
940 
941 
942 
943 
944 
945 
946 
947 
948 
949 
950     okl_rule_extract_pvt_w.rosetta_table_copy_out_p30(ddx_rule_segment_tbl, p14_a0
951       , p14_a1
952       , p14_a2
953       , p14_a3
954       , p14_a4
955       , p14_a5
956       , p14_a6
957       , p14_a7
958       , p14_a8
959       , p14_a9
960       , p14_a10
961       , p14_a11
962       , p14_a12
963       , p14_a13
964       , p14_a14
965       , p14_a15
966       , p14_a16
967       , p14_a17
968       , p14_a18
969       , p14_a19
970       , p14_a20
971       , p14_a21
972       , p14_a22
973       , p14_a23
974       , p14_a24
975       , p14_a25
976       , p14_a26
977       , p14_a27
978       );
979   end;
980 
981 end okl_rule_extract_pvt_w;