DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_MC_RULE_PVT_W

Source


1 package body ahl_mc_rule_pvt_w as
2   /* $Header: AHLWMCRB.pls 120.1.12010000.2 2008/11/26 14:12:38 sathapli ship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5   rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6   rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7 
8   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9   function rosetta_g_miss_date_in_map(d date) return date as
10   begin
11     if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12     if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13     return d;
14   end;
15 
16   procedure rosetta_table_copy_in_p3(t out nocopy ahl_mc_rule_pvt.ui_rule_stmt_tbl_type, a0 JTF_NUMBER_TABLE
17     , a1 JTF_VARCHAR2_TABLE_100
18     , a2 JTF_NUMBER_TABLE
19     , a3 JTF_NUMBER_TABLE
20     , a4 JTF_NUMBER_TABLE
21     , a5 JTF_NUMBER_TABLE
22     , a6 JTF_VARCHAR2_TABLE_100
23     , a7 JTF_VARCHAR2_TABLE_100
24     , a8 JTF_VARCHAR2_TABLE_100
25     , a9 JTF_VARCHAR2_TABLE_100
26     , a10 JTF_VARCHAR2_TABLE_100
27     , a11 JTF_NUMBER_TABLE
28     , a12 JTF_VARCHAR2_TABLE_100
29     , a13 JTF_VARCHAR2_TABLE_100
30     , a14 JTF_VARCHAR2_TABLE_100
31     , a15 JTF_VARCHAR2_TABLE_100
32     , a16 JTF_VARCHAR2_TABLE_100
33     , a17 JTF_VARCHAR2_TABLE_100
34     , a18 JTF_VARCHAR2_TABLE_100
35     , a19 JTF_VARCHAR2_TABLE_100
36     , a20 JTF_VARCHAR2_TABLE_100
37     , a21 JTF_VARCHAR2_TABLE_100
38     , a22 JTF_NUMBER_TABLE
39     , a23 JTF_NUMBER_TABLE
40     , a24 JTF_NUMBER_TABLE
41     , a25 JTF_VARCHAR2_TABLE_100
42     , a26 JTF_VARCHAR2_TABLE_200
43     , a27 JTF_VARCHAR2_TABLE_200
44     , a28 JTF_VARCHAR2_TABLE_200
45     , a29 JTF_VARCHAR2_TABLE_200
46     , a30 JTF_VARCHAR2_TABLE_200
47     , a31 JTF_VARCHAR2_TABLE_200
48     , a32 JTF_VARCHAR2_TABLE_200
49     , a33 JTF_VARCHAR2_TABLE_200
50     , a34 JTF_VARCHAR2_TABLE_200
51     , a35 JTF_VARCHAR2_TABLE_200
52     , a36 JTF_VARCHAR2_TABLE_200
53     , a37 JTF_VARCHAR2_TABLE_200
54     , a38 JTF_VARCHAR2_TABLE_200
55     , a39 JTF_VARCHAR2_TABLE_200
56     , a40 JTF_VARCHAR2_TABLE_200
57     ) as
58     ddindx binary_integer; indx binary_integer;
59   begin
60   if a0 is not null and a0.count > 0 then
61       if a0.count > 0 then
62         indx := a0.first;
63         ddindx := 1;
64         while true loop
65           t(ddindx).sequence_num := a0(indx);
66           t(ddindx).left_paren := a1(indx);
67           t(ddindx).rule_statement_id := a2(indx);
68           t(ddindx).rule_stmt_obj_ver_num := a3(indx);
69           t(ddindx).rule_stmt_depth := a4(indx);
70           t(ddindx).position_id := a5(indx);
71           t(ddindx).position_meaning := a6(indx);
72           t(ddindx).operator := a7(indx);
73           t(ddindx).operator_meaning := a8(indx);
74           t(ddindx).object_type := a9(indx);
75           t(ddindx).object_type_meaning := a10(indx);
76           t(ddindx).object_id := a11(indx);
77           t(ddindx).object_meaning := a12(indx);
78           t(ddindx).mc_revision := a13(indx);
79           t(ddindx).object_attribute1 := a14(indx);
80           t(ddindx).object_attribute2 := a15(indx);
81           t(ddindx).object_attribute3 := a16(indx);
82           t(ddindx).object_attribute4 := a17(indx);
83           t(ddindx).object_attribute5 := a18(indx);
84           t(ddindx).right_paren := a19(indx);
85           t(ddindx).rule_operator := a20(indx);
86           t(ddindx).rule_operator_meaning := a21(indx);
87           t(ddindx).rule_oper_stmt_id := a22(indx);
88           t(ddindx).rule_oper_stmt_obj_ver_num := a23(indx);
89           t(ddindx).rule_oper_stmt_depth := a24(indx);
90           t(ddindx).attribute_category := a25(indx);
91           t(ddindx).attribute1 := a26(indx);
92           t(ddindx).attribute2 := a27(indx);
93           t(ddindx).attribute3 := a28(indx);
94           t(ddindx).attribute4 := a29(indx);
95           t(ddindx).attribute5 := a30(indx);
96           t(ddindx).attribute6 := a31(indx);
97           t(ddindx).attribute7 := a32(indx);
98           t(ddindx).attribute8 := a33(indx);
99           t(ddindx).attribute9 := a34(indx);
100           t(ddindx).attribute10 := a35(indx);
101           t(ddindx).attribute11 := a36(indx);
102           t(ddindx).attribute12 := a37(indx);
103           t(ddindx).attribute13 := a38(indx);
104           t(ddindx).attribute14 := a39(indx);
105           t(ddindx).attribute15 := a40(indx);
106           ddindx := ddindx+1;
107           if a0.last =indx
108             then exit;
109           end if;
110           indx := a0.next(indx);
111         end loop;
112       end if;
113    end if;
114   end rosetta_table_copy_in_p3;
115   procedure rosetta_table_copy_out_p3(t ahl_mc_rule_pvt.ui_rule_stmt_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
116     , a1 out nocopy JTF_VARCHAR2_TABLE_100
117     , a2 out nocopy JTF_NUMBER_TABLE
118     , a3 out nocopy JTF_NUMBER_TABLE
119     , a4 out nocopy JTF_NUMBER_TABLE
120     , a5 out nocopy JTF_NUMBER_TABLE
121     , a6 out nocopy JTF_VARCHAR2_TABLE_100
122     , a7 out nocopy JTF_VARCHAR2_TABLE_100
123     , a8 out nocopy JTF_VARCHAR2_TABLE_100
124     , a9 out nocopy JTF_VARCHAR2_TABLE_100
125     , a10 out nocopy JTF_VARCHAR2_TABLE_100
126     , a11 out nocopy JTF_NUMBER_TABLE
127     , a12 out nocopy JTF_VARCHAR2_TABLE_100
128     , a13 out nocopy JTF_VARCHAR2_TABLE_100
129     , a14 out nocopy JTF_VARCHAR2_TABLE_100
130     , a15 out nocopy JTF_VARCHAR2_TABLE_100
131     , a16 out nocopy JTF_VARCHAR2_TABLE_100
132     , a17 out nocopy JTF_VARCHAR2_TABLE_100
133     , a18 out nocopy JTF_VARCHAR2_TABLE_100
134     , a19 out nocopy JTF_VARCHAR2_TABLE_100
135     , a20 out nocopy JTF_VARCHAR2_TABLE_100
136     , a21 out nocopy JTF_VARCHAR2_TABLE_100
137     , a22 out nocopy JTF_NUMBER_TABLE
138     , a23 out nocopy JTF_NUMBER_TABLE
139     , a24 out nocopy JTF_NUMBER_TABLE
140     , a25 out nocopy JTF_VARCHAR2_TABLE_100
141     , a26 out nocopy JTF_VARCHAR2_TABLE_200
142     , a27 out nocopy JTF_VARCHAR2_TABLE_200
143     , a28 out nocopy JTF_VARCHAR2_TABLE_200
144     , a29 out nocopy JTF_VARCHAR2_TABLE_200
145     , a30 out nocopy JTF_VARCHAR2_TABLE_200
146     , a31 out nocopy JTF_VARCHAR2_TABLE_200
147     , a32 out nocopy JTF_VARCHAR2_TABLE_200
148     , a33 out nocopy JTF_VARCHAR2_TABLE_200
149     , a34 out nocopy JTF_VARCHAR2_TABLE_200
150     , a35 out nocopy JTF_VARCHAR2_TABLE_200
151     , a36 out nocopy JTF_VARCHAR2_TABLE_200
152     , a37 out nocopy JTF_VARCHAR2_TABLE_200
153     , a38 out nocopy JTF_VARCHAR2_TABLE_200
154     , a39 out nocopy JTF_VARCHAR2_TABLE_200
155     , a40 out nocopy JTF_VARCHAR2_TABLE_200
156     ) as
157     ddindx binary_integer; indx binary_integer;
158   begin
159   if t is null or t.count = 0 then
160     a0 := JTF_NUMBER_TABLE();
161     a1 := JTF_VARCHAR2_TABLE_100();
162     a2 := JTF_NUMBER_TABLE();
163     a3 := JTF_NUMBER_TABLE();
164     a4 := JTF_NUMBER_TABLE();
165     a5 := JTF_NUMBER_TABLE();
166     a6 := JTF_VARCHAR2_TABLE_100();
167     a7 := JTF_VARCHAR2_TABLE_100();
168     a8 := JTF_VARCHAR2_TABLE_100();
169     a9 := JTF_VARCHAR2_TABLE_100();
170     a10 := JTF_VARCHAR2_TABLE_100();
171     a11 := JTF_NUMBER_TABLE();
172     a12 := JTF_VARCHAR2_TABLE_100();
173     a13 := JTF_VARCHAR2_TABLE_100();
174     a14 := JTF_VARCHAR2_TABLE_100();
175     a15 := JTF_VARCHAR2_TABLE_100();
176     a16 := JTF_VARCHAR2_TABLE_100();
177     a17 := JTF_VARCHAR2_TABLE_100();
178     a18 := JTF_VARCHAR2_TABLE_100();
179     a19 := JTF_VARCHAR2_TABLE_100();
180     a20 := JTF_VARCHAR2_TABLE_100();
181     a21 := JTF_VARCHAR2_TABLE_100();
182     a22 := JTF_NUMBER_TABLE();
183     a23 := JTF_NUMBER_TABLE();
184     a24 := JTF_NUMBER_TABLE();
185     a25 := JTF_VARCHAR2_TABLE_100();
186     a26 := JTF_VARCHAR2_TABLE_200();
187     a27 := JTF_VARCHAR2_TABLE_200();
188     a28 := JTF_VARCHAR2_TABLE_200();
189     a29 := JTF_VARCHAR2_TABLE_200();
190     a30 := JTF_VARCHAR2_TABLE_200();
191     a31 := JTF_VARCHAR2_TABLE_200();
192     a32 := JTF_VARCHAR2_TABLE_200();
193     a33 := JTF_VARCHAR2_TABLE_200();
194     a34 := JTF_VARCHAR2_TABLE_200();
195     a35 := JTF_VARCHAR2_TABLE_200();
196     a36 := JTF_VARCHAR2_TABLE_200();
197     a37 := JTF_VARCHAR2_TABLE_200();
198     a38 := JTF_VARCHAR2_TABLE_200();
199     a39 := JTF_VARCHAR2_TABLE_200();
200     a40 := JTF_VARCHAR2_TABLE_200();
201   else
202       a0 := JTF_NUMBER_TABLE();
203       a1 := JTF_VARCHAR2_TABLE_100();
204       a2 := JTF_NUMBER_TABLE();
205       a3 := JTF_NUMBER_TABLE();
206       a4 := JTF_NUMBER_TABLE();
207       a5 := JTF_NUMBER_TABLE();
208       a6 := JTF_VARCHAR2_TABLE_100();
209       a7 := JTF_VARCHAR2_TABLE_100();
210       a8 := JTF_VARCHAR2_TABLE_100();
211       a9 := JTF_VARCHAR2_TABLE_100();
212       a10 := JTF_VARCHAR2_TABLE_100();
213       a11 := JTF_NUMBER_TABLE();
214       a12 := JTF_VARCHAR2_TABLE_100();
215       a13 := JTF_VARCHAR2_TABLE_100();
216       a14 := JTF_VARCHAR2_TABLE_100();
217       a15 := JTF_VARCHAR2_TABLE_100();
218       a16 := JTF_VARCHAR2_TABLE_100();
219       a17 := JTF_VARCHAR2_TABLE_100();
220       a18 := JTF_VARCHAR2_TABLE_100();
221       a19 := JTF_VARCHAR2_TABLE_100();
222       a20 := JTF_VARCHAR2_TABLE_100();
223       a21 := JTF_VARCHAR2_TABLE_100();
224       a22 := JTF_NUMBER_TABLE();
225       a23 := JTF_NUMBER_TABLE();
226       a24 := JTF_NUMBER_TABLE();
227       a25 := JTF_VARCHAR2_TABLE_100();
228       a26 := JTF_VARCHAR2_TABLE_200();
229       a27 := JTF_VARCHAR2_TABLE_200();
230       a28 := JTF_VARCHAR2_TABLE_200();
231       a29 := JTF_VARCHAR2_TABLE_200();
232       a30 := JTF_VARCHAR2_TABLE_200();
233       a31 := JTF_VARCHAR2_TABLE_200();
234       a32 := JTF_VARCHAR2_TABLE_200();
235       a33 := JTF_VARCHAR2_TABLE_200();
236       a34 := JTF_VARCHAR2_TABLE_200();
237       a35 := JTF_VARCHAR2_TABLE_200();
238       a36 := JTF_VARCHAR2_TABLE_200();
239       a37 := JTF_VARCHAR2_TABLE_200();
240       a38 := JTF_VARCHAR2_TABLE_200();
241       a39 := JTF_VARCHAR2_TABLE_200();
242       a40 := JTF_VARCHAR2_TABLE_200();
243       if t.count > 0 then
244         a0.extend(t.count);
245         a1.extend(t.count);
246         a2.extend(t.count);
247         a3.extend(t.count);
248         a4.extend(t.count);
249         a5.extend(t.count);
250         a6.extend(t.count);
251         a7.extend(t.count);
252         a8.extend(t.count);
253         a9.extend(t.count);
254         a10.extend(t.count);
255         a11.extend(t.count);
256         a12.extend(t.count);
257         a13.extend(t.count);
258         a14.extend(t.count);
259         a15.extend(t.count);
260         a16.extend(t.count);
261         a17.extend(t.count);
262         a18.extend(t.count);
263         a19.extend(t.count);
264         a20.extend(t.count);
265         a21.extend(t.count);
266         a22.extend(t.count);
267         a23.extend(t.count);
268         a24.extend(t.count);
269         a25.extend(t.count);
270         a26.extend(t.count);
271         a27.extend(t.count);
272         a28.extend(t.count);
273         a29.extend(t.count);
274         a30.extend(t.count);
275         a31.extend(t.count);
276         a32.extend(t.count);
277         a33.extend(t.count);
278         a34.extend(t.count);
279         a35.extend(t.count);
280         a36.extend(t.count);
281         a37.extend(t.count);
282         a38.extend(t.count);
283         a39.extend(t.count);
284         a40.extend(t.count);
285         ddindx := t.first;
286         indx := 1;
287         while true loop
288           a0(indx) := t(ddindx).sequence_num;
289           a1(indx) := t(ddindx).left_paren;
290           a2(indx) := t(ddindx).rule_statement_id;
291           a3(indx) := t(ddindx).rule_stmt_obj_ver_num;
292           a4(indx) := t(ddindx).rule_stmt_depth;
293           a5(indx) := t(ddindx).position_id;
294           a6(indx) := t(ddindx).position_meaning;
295           a7(indx) := t(ddindx).operator;
296           a8(indx) := t(ddindx).operator_meaning;
297           a9(indx) := t(ddindx).object_type;
298           a10(indx) := t(ddindx).object_type_meaning;
299           a11(indx) := t(ddindx).object_id;
300           a12(indx) := t(ddindx).object_meaning;
301           a13(indx) := t(ddindx).mc_revision;
302           a14(indx) := t(ddindx).object_attribute1;
303           a15(indx) := t(ddindx).object_attribute2;
304           a16(indx) := t(ddindx).object_attribute3;
305           a17(indx) := t(ddindx).object_attribute4;
306           a18(indx) := t(ddindx).object_attribute5;
307           a19(indx) := t(ddindx).right_paren;
308           a20(indx) := t(ddindx).rule_operator;
309           a21(indx) := t(ddindx).rule_operator_meaning;
310           a22(indx) := t(ddindx).rule_oper_stmt_id;
311           a23(indx) := t(ddindx).rule_oper_stmt_obj_ver_num;
312           a24(indx) := t(ddindx).rule_oper_stmt_depth;
313           a25(indx) := t(ddindx).attribute_category;
314           a26(indx) := t(ddindx).attribute1;
315           a27(indx) := t(ddindx).attribute2;
316           a28(indx) := t(ddindx).attribute3;
317           a29(indx) := t(ddindx).attribute4;
318           a30(indx) := t(ddindx).attribute5;
319           a31(indx) := t(ddindx).attribute6;
320           a32(indx) := t(ddindx).attribute7;
321           a33(indx) := t(ddindx).attribute8;
322           a34(indx) := t(ddindx).attribute9;
323           a35(indx) := t(ddindx).attribute10;
324           a36(indx) := t(ddindx).attribute11;
325           a37(indx) := t(ddindx).attribute12;
326           a38(indx) := t(ddindx).attribute13;
327           a39(indx) := t(ddindx).attribute14;
328           a40(indx) := t(ddindx).attribute15;
329           indx := indx+1;
330           if t.last =ddindx
331             then exit;
332           end if;
333           ddindx := t.next(ddindx);
334         end loop;
335       end if;
336    end if;
337   end rosetta_table_copy_out_p3;
338 
339   procedure rosetta_table_copy_in_p4(t out nocopy ahl_mc_rule_pvt.rule_stmt_tbl_type, a0 JTF_NUMBER_TABLE
340     , a1 JTF_NUMBER_TABLE
344     , a5 JTF_NUMBER_TABLE
341     , a2 JTF_DATE_TABLE
342     , a3 JTF_NUMBER_TABLE
343     , a4 JTF_DATE_TABLE
345     , a6 JTF_NUMBER_TABLE
346     , a7 JTF_NUMBER_TABLE
347     , a8 JTF_VARCHAR2_TABLE_100
348     , a9 JTF_VARCHAR2_TABLE_100
349     , a10 JTF_NUMBER_TABLE
350     , a11 JTF_VARCHAR2_TABLE_100
351     , a12 JTF_VARCHAR2_TABLE_100
352     , a13 JTF_NUMBER_TABLE
353     , a14 JTF_VARCHAR2_TABLE_100
354     , a15 JTF_VARCHAR2_TABLE_100
355     , a16 JTF_VARCHAR2_TABLE_100
356     , a17 JTF_VARCHAR2_TABLE_100
357     , a18 JTF_VARCHAR2_TABLE_100
358     , a19 JTF_VARCHAR2_TABLE_100
359     , a20 JTF_VARCHAR2_TABLE_100
360     , a21 JTF_VARCHAR2_TABLE_200
361     , a22 JTF_VARCHAR2_TABLE_200
362     , a23 JTF_VARCHAR2_TABLE_200
363     , a24 JTF_VARCHAR2_TABLE_200
364     , a25 JTF_VARCHAR2_TABLE_200
365     , a26 JTF_VARCHAR2_TABLE_200
366     , a27 JTF_VARCHAR2_TABLE_200
367     , a28 JTF_VARCHAR2_TABLE_200
368     , a29 JTF_VARCHAR2_TABLE_200
369     , a30 JTF_VARCHAR2_TABLE_200
370     , a31 JTF_VARCHAR2_TABLE_200
371     , a32 JTF_VARCHAR2_TABLE_200
372     , a33 JTF_VARCHAR2_TABLE_200
373     , a34 JTF_VARCHAR2_TABLE_200
374     , a35 JTF_VARCHAR2_TABLE_200
375     , a36 JTF_VARCHAR2_TABLE_100
376     ) as
377     ddindx binary_integer; indx binary_integer;
378   begin
379   if a0 is not null and a0.count > 0 then
380       if a0.count > 0 then
381         indx := a0.first;
382         ddindx := 1;
383         while true loop
384           t(ddindx).rule_statement_id := a0(indx);
385           t(ddindx).object_version_number := a1(indx);
386           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a2(indx));
387           t(ddindx).last_updated_by := a3(indx);
388           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a4(indx));
389           t(ddindx).created_by := a5(indx);
390           t(ddindx).last_update_login := a6(indx);
391           t(ddindx).rule_id := a7(indx);
392           t(ddindx).top_rule_stmt_flag := a8(indx);
393           t(ddindx).negation_flag := a9(indx);
394           t(ddindx).subject_id := a10(indx);
395           t(ddindx).subject_type := a11(indx);
396           t(ddindx).operator := a12(indx);
397           t(ddindx).object_id := a13(indx);
398           t(ddindx).object_type := a14(indx);
399           t(ddindx).object_attribute1 := a15(indx);
400           t(ddindx).object_attribute2 := a16(indx);
401           t(ddindx).object_attribute3 := a17(indx);
402           t(ddindx).object_attribute4 := a18(indx);
403           t(ddindx).object_attribute5 := a19(indx);
404           t(ddindx).attribute_category := a20(indx);
405           t(ddindx).attribute1 := a21(indx);
406           t(ddindx).attribute2 := a22(indx);
407           t(ddindx).attribute3 := a23(indx);
408           t(ddindx).attribute4 := a24(indx);
409           t(ddindx).attribute5 := a25(indx);
410           t(ddindx).attribute6 := a26(indx);
411           t(ddindx).attribute7 := a27(indx);
412           t(ddindx).attribute8 := a28(indx);
413           t(ddindx).attribute9 := a29(indx);
414           t(ddindx).attribute10 := a30(indx);
415           t(ddindx).attribute11 := a31(indx);
416           t(ddindx).attribute12 := a32(indx);
417           t(ddindx).attribute13 := a33(indx);
418           t(ddindx).attribute14 := a34(indx);
419           t(ddindx).attribute15 := a35(indx);
420           t(ddindx).operation_flag := a36(indx);
421           ddindx := ddindx+1;
422           if a0.last =indx
423             then exit;
424           end if;
425           indx := a0.next(indx);
426         end loop;
427       end if;
428    end if;
429   end rosetta_table_copy_in_p4;
430   procedure rosetta_table_copy_out_p4(t ahl_mc_rule_pvt.rule_stmt_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
431     , a1 out nocopy JTF_NUMBER_TABLE
432     , a2 out nocopy JTF_DATE_TABLE
433     , a3 out nocopy JTF_NUMBER_TABLE
434     , a4 out nocopy JTF_DATE_TABLE
435     , a5 out nocopy JTF_NUMBER_TABLE
436     , a6 out nocopy JTF_NUMBER_TABLE
437     , a7 out nocopy JTF_NUMBER_TABLE
438     , a8 out nocopy JTF_VARCHAR2_TABLE_100
439     , a9 out nocopy JTF_VARCHAR2_TABLE_100
440     , a10 out nocopy JTF_NUMBER_TABLE
441     , a11 out nocopy JTF_VARCHAR2_TABLE_100
442     , a12 out nocopy JTF_VARCHAR2_TABLE_100
443     , a13 out nocopy JTF_NUMBER_TABLE
444     , a14 out nocopy JTF_VARCHAR2_TABLE_100
445     , a15 out nocopy JTF_VARCHAR2_TABLE_100
446     , a16 out nocopy JTF_VARCHAR2_TABLE_100
447     , a17 out nocopy JTF_VARCHAR2_TABLE_100
448     , a18 out nocopy JTF_VARCHAR2_TABLE_100
449     , a19 out nocopy JTF_VARCHAR2_TABLE_100
450     , a20 out nocopy JTF_VARCHAR2_TABLE_100
451     , a21 out nocopy JTF_VARCHAR2_TABLE_200
452     , a22 out nocopy JTF_VARCHAR2_TABLE_200
453     , a23 out nocopy JTF_VARCHAR2_TABLE_200
454     , a24 out nocopy JTF_VARCHAR2_TABLE_200
455     , a25 out nocopy JTF_VARCHAR2_TABLE_200
456     , a26 out nocopy JTF_VARCHAR2_TABLE_200
457     , a27 out nocopy JTF_VARCHAR2_TABLE_200
458     , a28 out nocopy JTF_VARCHAR2_TABLE_200
459     , a29 out nocopy JTF_VARCHAR2_TABLE_200
460     , a30 out nocopy JTF_VARCHAR2_TABLE_200
461     , a31 out nocopy JTF_VARCHAR2_TABLE_200
462     , a32 out nocopy JTF_VARCHAR2_TABLE_200
466     , a36 out nocopy JTF_VARCHAR2_TABLE_100
463     , a33 out nocopy JTF_VARCHAR2_TABLE_200
464     , a34 out nocopy JTF_VARCHAR2_TABLE_200
465     , a35 out nocopy JTF_VARCHAR2_TABLE_200
467     ) as
468     ddindx binary_integer; indx binary_integer;
469   begin
470   if t is null or t.count = 0 then
471     a0 := JTF_NUMBER_TABLE();
472     a1 := JTF_NUMBER_TABLE();
473     a2 := JTF_DATE_TABLE();
474     a3 := JTF_NUMBER_TABLE();
475     a4 := JTF_DATE_TABLE();
476     a5 := JTF_NUMBER_TABLE();
477     a6 := JTF_NUMBER_TABLE();
478     a7 := JTF_NUMBER_TABLE();
479     a8 := JTF_VARCHAR2_TABLE_100();
480     a9 := JTF_VARCHAR2_TABLE_100();
481     a10 := JTF_NUMBER_TABLE();
482     a11 := JTF_VARCHAR2_TABLE_100();
483     a12 := JTF_VARCHAR2_TABLE_100();
484     a13 := JTF_NUMBER_TABLE();
485     a14 := JTF_VARCHAR2_TABLE_100();
486     a15 := JTF_VARCHAR2_TABLE_100();
487     a16 := JTF_VARCHAR2_TABLE_100();
488     a17 := JTF_VARCHAR2_TABLE_100();
489     a18 := JTF_VARCHAR2_TABLE_100();
490     a19 := JTF_VARCHAR2_TABLE_100();
491     a20 := JTF_VARCHAR2_TABLE_100();
492     a21 := JTF_VARCHAR2_TABLE_200();
493     a22 := JTF_VARCHAR2_TABLE_200();
494     a23 := JTF_VARCHAR2_TABLE_200();
495     a24 := JTF_VARCHAR2_TABLE_200();
496     a25 := JTF_VARCHAR2_TABLE_200();
497     a26 := JTF_VARCHAR2_TABLE_200();
498     a27 := JTF_VARCHAR2_TABLE_200();
499     a28 := JTF_VARCHAR2_TABLE_200();
500     a29 := JTF_VARCHAR2_TABLE_200();
501     a30 := JTF_VARCHAR2_TABLE_200();
502     a31 := JTF_VARCHAR2_TABLE_200();
503     a32 := JTF_VARCHAR2_TABLE_200();
504     a33 := JTF_VARCHAR2_TABLE_200();
505     a34 := JTF_VARCHAR2_TABLE_200();
506     a35 := JTF_VARCHAR2_TABLE_200();
507     a36 := JTF_VARCHAR2_TABLE_100();
508   else
509       a0 := JTF_NUMBER_TABLE();
510       a1 := JTF_NUMBER_TABLE();
511       a2 := JTF_DATE_TABLE();
512       a3 := JTF_NUMBER_TABLE();
513       a4 := JTF_DATE_TABLE();
514       a5 := JTF_NUMBER_TABLE();
515       a6 := JTF_NUMBER_TABLE();
516       a7 := JTF_NUMBER_TABLE();
517       a8 := JTF_VARCHAR2_TABLE_100();
518       a9 := JTF_VARCHAR2_TABLE_100();
519       a10 := JTF_NUMBER_TABLE();
520       a11 := JTF_VARCHAR2_TABLE_100();
521       a12 := JTF_VARCHAR2_TABLE_100();
522       a13 := JTF_NUMBER_TABLE();
523       a14 := JTF_VARCHAR2_TABLE_100();
524       a15 := JTF_VARCHAR2_TABLE_100();
525       a16 := JTF_VARCHAR2_TABLE_100();
526       a17 := JTF_VARCHAR2_TABLE_100();
527       a18 := JTF_VARCHAR2_TABLE_100();
528       a19 := JTF_VARCHAR2_TABLE_100();
529       a20 := JTF_VARCHAR2_TABLE_100();
530       a21 := JTF_VARCHAR2_TABLE_200();
531       a22 := JTF_VARCHAR2_TABLE_200();
532       a23 := JTF_VARCHAR2_TABLE_200();
533       a24 := JTF_VARCHAR2_TABLE_200();
534       a25 := JTF_VARCHAR2_TABLE_200();
535       a26 := JTF_VARCHAR2_TABLE_200();
536       a27 := JTF_VARCHAR2_TABLE_200();
537       a28 := JTF_VARCHAR2_TABLE_200();
538       a29 := JTF_VARCHAR2_TABLE_200();
539       a30 := JTF_VARCHAR2_TABLE_200();
540       a31 := JTF_VARCHAR2_TABLE_200();
541       a32 := JTF_VARCHAR2_TABLE_200();
542       a33 := JTF_VARCHAR2_TABLE_200();
543       a34 := JTF_VARCHAR2_TABLE_200();
544       a35 := JTF_VARCHAR2_TABLE_200();
545       a36 := JTF_VARCHAR2_TABLE_100();
546       if t.count > 0 then
547         a0.extend(t.count);
548         a1.extend(t.count);
549         a2.extend(t.count);
550         a3.extend(t.count);
551         a4.extend(t.count);
552         a5.extend(t.count);
553         a6.extend(t.count);
554         a7.extend(t.count);
555         a8.extend(t.count);
556         a9.extend(t.count);
557         a10.extend(t.count);
558         a11.extend(t.count);
559         a12.extend(t.count);
560         a13.extend(t.count);
561         a14.extend(t.count);
562         a15.extend(t.count);
563         a16.extend(t.count);
564         a17.extend(t.count);
565         a18.extend(t.count);
566         a19.extend(t.count);
567         a20.extend(t.count);
568         a21.extend(t.count);
569         a22.extend(t.count);
570         a23.extend(t.count);
571         a24.extend(t.count);
572         a25.extend(t.count);
573         a26.extend(t.count);
574         a27.extend(t.count);
575         a28.extend(t.count);
576         a29.extend(t.count);
577         a30.extend(t.count);
578         a31.extend(t.count);
579         a32.extend(t.count);
580         a33.extend(t.count);
581         a34.extend(t.count);
582         a35.extend(t.count);
583         a36.extend(t.count);
584         ddindx := t.first;
585         indx := 1;
586         while true loop
587           a0(indx) := t(ddindx).rule_statement_id;
588           a1(indx) := t(ddindx).object_version_number;
589           a2(indx) := t(ddindx).last_update_date;
590           a3(indx) := t(ddindx).last_updated_by;
591           a4(indx) := t(ddindx).creation_date;
592           a5(indx) := t(ddindx).created_by;
593           a6(indx) := t(ddindx).last_update_login;
594           a7(indx) := t(ddindx).rule_id;
595           a8(indx) := t(ddindx).top_rule_stmt_flag;
596           a9(indx) := t(ddindx).negation_flag;
600           a13(indx) := t(ddindx).object_id;
597           a10(indx) := t(ddindx).subject_id;
598           a11(indx) := t(ddindx).subject_type;
599           a12(indx) := t(ddindx).operator;
601           a14(indx) := t(ddindx).object_type;
602           a15(indx) := t(ddindx).object_attribute1;
603           a16(indx) := t(ddindx).object_attribute2;
604           a17(indx) := t(ddindx).object_attribute3;
605           a18(indx) := t(ddindx).object_attribute4;
606           a19(indx) := t(ddindx).object_attribute5;
607           a20(indx) := t(ddindx).attribute_category;
608           a21(indx) := t(ddindx).attribute1;
609           a22(indx) := t(ddindx).attribute2;
610           a23(indx) := t(ddindx).attribute3;
611           a24(indx) := t(ddindx).attribute4;
612           a25(indx) := t(ddindx).attribute5;
613           a26(indx) := t(ddindx).attribute6;
614           a27(indx) := t(ddindx).attribute7;
615           a28(indx) := t(ddindx).attribute8;
616           a29(indx) := t(ddindx).attribute9;
617           a30(indx) := t(ddindx).attribute10;
618           a31(indx) := t(ddindx).attribute11;
619           a32(indx) := t(ddindx).attribute12;
620           a33(indx) := t(ddindx).attribute13;
621           a34(indx) := t(ddindx).attribute14;
622           a35(indx) := t(ddindx).attribute15;
623           a36(indx) := t(ddindx).operation_flag;
624           indx := indx+1;
625           if t.last =ddindx
626             then exit;
627           end if;
628           ddindx := t.next(ddindx);
629         end loop;
630       end if;
631    end if;
632   end rosetta_table_copy_out_p4;
633 
634   procedure rosetta_table_copy_in_p5(t out nocopy ahl_mc_rule_pvt.rule_tbl_type, a0 JTF_NUMBER_TABLE
635     , a1 JTF_NUMBER_TABLE
636     , a2 JTF_DATE_TABLE
637     , a3 JTF_NUMBER_TABLE
638     , a4 JTF_DATE_TABLE
639     , a5 JTF_NUMBER_TABLE
640     , a6 JTF_NUMBER_TABLE
641     , a7 JTF_NUMBER_TABLE
642     , a8 JTF_VARCHAR2_TABLE_100
643     , a9 JTF_VARCHAR2_TABLE_100
644     , a10 JTF_VARCHAR2_TABLE_100
645     , a11 JTF_VARCHAR2_TABLE_100
646     , a12 JTF_VARCHAR2_TABLE_100
647     , a13 JTF_DATE_TABLE
648     , a14 JTF_DATE_TABLE
649     , a15 JTF_VARCHAR2_TABLE_2000
650     , a16 JTF_VARCHAR2_TABLE_100
651     , a17 JTF_VARCHAR2_TABLE_200
652     , a18 JTF_VARCHAR2_TABLE_200
653     , a19 JTF_VARCHAR2_TABLE_200
654     , a20 JTF_VARCHAR2_TABLE_200
655     , a21 JTF_VARCHAR2_TABLE_200
656     , a22 JTF_VARCHAR2_TABLE_200
657     , a23 JTF_VARCHAR2_TABLE_200
658     , a24 JTF_VARCHAR2_TABLE_200
659     , a25 JTF_VARCHAR2_TABLE_200
660     , a26 JTF_VARCHAR2_TABLE_200
661     , a27 JTF_VARCHAR2_TABLE_200
662     , a28 JTF_VARCHAR2_TABLE_200
663     , a29 JTF_VARCHAR2_TABLE_200
664     , a30 JTF_VARCHAR2_TABLE_200
665     , a31 JTF_VARCHAR2_TABLE_200
666     , a32 JTF_VARCHAR2_TABLE_100
667     ) as
668     ddindx binary_integer; indx binary_integer;
669   begin
670   if a0 is not null and a0.count > 0 then
671       if a0.count > 0 then
672         indx := a0.first;
673         ddindx := 1;
674         while true loop
675           t(ddindx).rule_id := a0(indx);
676           t(ddindx).object_version_number := a1(indx);
677           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a2(indx));
678           t(ddindx).last_updated_by := a3(indx);
679           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a4(indx));
680           t(ddindx).created_by := a5(indx);
681           t(ddindx).last_update_login := a6(indx);
682           t(ddindx).mc_header_id := a7(indx);
683           t(ddindx).mc_name := a8(indx);
684           t(ddindx).mc_revision := a9(indx);
685           t(ddindx).rule_name := a10(indx);
686           t(ddindx).rule_type_code := a11(indx);
687           t(ddindx).rule_type_meaning := a12(indx);
688           t(ddindx).active_start_date := rosetta_g_miss_date_in_map(a13(indx));
689           t(ddindx).active_end_date := rosetta_g_miss_date_in_map(a14(indx));
690           t(ddindx).description := a15(indx);
691           t(ddindx).attribute_category := a16(indx);
692           t(ddindx).attribute1 := a17(indx);
693           t(ddindx).attribute2 := a18(indx);
694           t(ddindx).attribute3 := a19(indx);
695           t(ddindx).attribute4 := a20(indx);
696           t(ddindx).attribute5 := a21(indx);
697           t(ddindx).attribute6 := a22(indx);
698           t(ddindx).attribute7 := a23(indx);
699           t(ddindx).attribute8 := a24(indx);
700           t(ddindx).attribute9 := a25(indx);
701           t(ddindx).attribute10 := a26(indx);
702           t(ddindx).attribute11 := a27(indx);
703           t(ddindx).attribute12 := a28(indx);
704           t(ddindx).attribute13 := a29(indx);
705           t(ddindx).attribute14 := a30(indx);
706           t(ddindx).attribute15 := a31(indx);
707           t(ddindx).operation_flag := a32(indx);
708           ddindx := ddindx+1;
709           if a0.last =indx
710             then exit;
711           end if;
712           indx := a0.next(indx);
713         end loop;
714       end if;
715    end if;
716   end rosetta_table_copy_in_p5;
717   procedure rosetta_table_copy_out_p5(t ahl_mc_rule_pvt.rule_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
718     , a1 out nocopy JTF_NUMBER_TABLE
719     , a2 out nocopy JTF_DATE_TABLE
720     , a3 out nocopy JTF_NUMBER_TABLE
724     , a7 out nocopy JTF_NUMBER_TABLE
721     , a4 out nocopy JTF_DATE_TABLE
722     , a5 out nocopy JTF_NUMBER_TABLE
723     , a6 out nocopy JTF_NUMBER_TABLE
725     , a8 out nocopy JTF_VARCHAR2_TABLE_100
726     , a9 out nocopy JTF_VARCHAR2_TABLE_100
727     , a10 out nocopy JTF_VARCHAR2_TABLE_100
728     , a11 out nocopy JTF_VARCHAR2_TABLE_100
729     , a12 out nocopy JTF_VARCHAR2_TABLE_100
730     , a13 out nocopy JTF_DATE_TABLE
731     , a14 out nocopy JTF_DATE_TABLE
732     , a15 out nocopy JTF_VARCHAR2_TABLE_2000
733     , a16 out nocopy JTF_VARCHAR2_TABLE_100
734     , a17 out nocopy JTF_VARCHAR2_TABLE_200
735     , a18 out nocopy JTF_VARCHAR2_TABLE_200
736     , a19 out nocopy JTF_VARCHAR2_TABLE_200
737     , a20 out nocopy JTF_VARCHAR2_TABLE_200
738     , a21 out nocopy JTF_VARCHAR2_TABLE_200
739     , a22 out nocopy JTF_VARCHAR2_TABLE_200
740     , a23 out nocopy JTF_VARCHAR2_TABLE_200
741     , a24 out nocopy JTF_VARCHAR2_TABLE_200
742     , a25 out nocopy JTF_VARCHAR2_TABLE_200
743     , a26 out nocopy JTF_VARCHAR2_TABLE_200
744     , a27 out nocopy JTF_VARCHAR2_TABLE_200
745     , a28 out nocopy JTF_VARCHAR2_TABLE_200
746     , a29 out nocopy JTF_VARCHAR2_TABLE_200
747     , a30 out nocopy JTF_VARCHAR2_TABLE_200
748     , a31 out nocopy JTF_VARCHAR2_TABLE_200
749     , a32 out nocopy JTF_VARCHAR2_TABLE_100
750     ) as
751     ddindx binary_integer; indx binary_integer;
752   begin
753   if t is null or t.count = 0 then
754     a0 := JTF_NUMBER_TABLE();
755     a1 := JTF_NUMBER_TABLE();
756     a2 := JTF_DATE_TABLE();
757     a3 := JTF_NUMBER_TABLE();
758     a4 := JTF_DATE_TABLE();
759     a5 := JTF_NUMBER_TABLE();
760     a6 := JTF_NUMBER_TABLE();
761     a7 := JTF_NUMBER_TABLE();
762     a8 := JTF_VARCHAR2_TABLE_100();
763     a9 := JTF_VARCHAR2_TABLE_100();
764     a10 := JTF_VARCHAR2_TABLE_100();
765     a11 := JTF_VARCHAR2_TABLE_100();
766     a12 := JTF_VARCHAR2_TABLE_100();
767     a13 := JTF_DATE_TABLE();
768     a14 := JTF_DATE_TABLE();
769     a15 := JTF_VARCHAR2_TABLE_2000();
770     a16 := JTF_VARCHAR2_TABLE_100();
771     a17 := JTF_VARCHAR2_TABLE_200();
772     a18 := JTF_VARCHAR2_TABLE_200();
773     a19 := JTF_VARCHAR2_TABLE_200();
774     a20 := JTF_VARCHAR2_TABLE_200();
775     a21 := JTF_VARCHAR2_TABLE_200();
776     a22 := JTF_VARCHAR2_TABLE_200();
777     a23 := JTF_VARCHAR2_TABLE_200();
778     a24 := JTF_VARCHAR2_TABLE_200();
779     a25 := JTF_VARCHAR2_TABLE_200();
780     a26 := JTF_VARCHAR2_TABLE_200();
781     a27 := JTF_VARCHAR2_TABLE_200();
782     a28 := JTF_VARCHAR2_TABLE_200();
783     a29 := JTF_VARCHAR2_TABLE_200();
784     a30 := JTF_VARCHAR2_TABLE_200();
785     a31 := JTF_VARCHAR2_TABLE_200();
786     a32 := JTF_VARCHAR2_TABLE_100();
787   else
788       a0 := JTF_NUMBER_TABLE();
789       a1 := JTF_NUMBER_TABLE();
790       a2 := JTF_DATE_TABLE();
791       a3 := JTF_NUMBER_TABLE();
792       a4 := JTF_DATE_TABLE();
793       a5 := JTF_NUMBER_TABLE();
794       a6 := JTF_NUMBER_TABLE();
795       a7 := JTF_NUMBER_TABLE();
796       a8 := JTF_VARCHAR2_TABLE_100();
797       a9 := JTF_VARCHAR2_TABLE_100();
798       a10 := JTF_VARCHAR2_TABLE_100();
799       a11 := JTF_VARCHAR2_TABLE_100();
800       a12 := JTF_VARCHAR2_TABLE_100();
801       a13 := JTF_DATE_TABLE();
802       a14 := JTF_DATE_TABLE();
803       a15 := JTF_VARCHAR2_TABLE_2000();
804       a16 := JTF_VARCHAR2_TABLE_100();
805       a17 := JTF_VARCHAR2_TABLE_200();
806       a18 := JTF_VARCHAR2_TABLE_200();
807       a19 := JTF_VARCHAR2_TABLE_200();
808       a20 := JTF_VARCHAR2_TABLE_200();
809       a21 := JTF_VARCHAR2_TABLE_200();
810       a22 := JTF_VARCHAR2_TABLE_200();
811       a23 := JTF_VARCHAR2_TABLE_200();
812       a24 := JTF_VARCHAR2_TABLE_200();
813       a25 := JTF_VARCHAR2_TABLE_200();
814       a26 := JTF_VARCHAR2_TABLE_200();
815       a27 := JTF_VARCHAR2_TABLE_200();
816       a28 := JTF_VARCHAR2_TABLE_200();
817       a29 := JTF_VARCHAR2_TABLE_200();
818       a30 := JTF_VARCHAR2_TABLE_200();
819       a31 := JTF_VARCHAR2_TABLE_200();
820       a32 := JTF_VARCHAR2_TABLE_100();
821       if t.count > 0 then
822         a0.extend(t.count);
823         a1.extend(t.count);
824         a2.extend(t.count);
825         a3.extend(t.count);
826         a4.extend(t.count);
827         a5.extend(t.count);
828         a6.extend(t.count);
829         a7.extend(t.count);
830         a8.extend(t.count);
831         a9.extend(t.count);
832         a10.extend(t.count);
833         a11.extend(t.count);
834         a12.extend(t.count);
835         a13.extend(t.count);
836         a14.extend(t.count);
837         a15.extend(t.count);
838         a16.extend(t.count);
839         a17.extend(t.count);
840         a18.extend(t.count);
841         a19.extend(t.count);
842         a20.extend(t.count);
843         a21.extend(t.count);
844         a22.extend(t.count);
845         a23.extend(t.count);
846         a24.extend(t.count);
847         a25.extend(t.count);
848         a26.extend(t.count);
849         a27.extend(t.count);
850         a28.extend(t.count);
851         a29.extend(t.count);
852         a30.extend(t.count);
853         a31.extend(t.count);
854         a32.extend(t.count);
855         ddindx := t.first;
856         indx := 1;
860           a2(indx) := t(ddindx).last_update_date;
857         while true loop
858           a0(indx) := t(ddindx).rule_id;
859           a1(indx) := t(ddindx).object_version_number;
861           a3(indx) := t(ddindx).last_updated_by;
862           a4(indx) := t(ddindx).creation_date;
863           a5(indx) := t(ddindx).created_by;
864           a6(indx) := t(ddindx).last_update_login;
865           a7(indx) := t(ddindx).mc_header_id;
866           a8(indx) := t(ddindx).mc_name;
867           a9(indx) := t(ddindx).mc_revision;
868           a10(indx) := t(ddindx).rule_name;
869           a11(indx) := t(ddindx).rule_type_code;
870           a12(indx) := t(ddindx).rule_type_meaning;
871           a13(indx) := t(ddindx).active_start_date;
872           a14(indx) := t(ddindx).active_end_date;
873           a15(indx) := t(ddindx).description;
874           a16(indx) := t(ddindx).attribute_category;
875           a17(indx) := t(ddindx).attribute1;
876           a18(indx) := t(ddindx).attribute2;
877           a19(indx) := t(ddindx).attribute3;
878           a20(indx) := t(ddindx).attribute4;
879           a21(indx) := t(ddindx).attribute5;
880           a22(indx) := t(ddindx).attribute6;
881           a23(indx) := t(ddindx).attribute7;
882           a24(indx) := t(ddindx).attribute8;
883           a25(indx) := t(ddindx).attribute9;
884           a26(indx) := t(ddindx).attribute10;
885           a27(indx) := t(ddindx).attribute11;
886           a28(indx) := t(ddindx).attribute12;
887           a29(indx) := t(ddindx).attribute13;
888           a30(indx) := t(ddindx).attribute14;
889           a31(indx) := t(ddindx).attribute15;
890           a32(indx) := t(ddindx).operation_flag;
891           indx := indx+1;
892           if t.last =ddindx
893             then exit;
894           end if;
895           ddindx := t.next(ddindx);
896         end loop;
897       end if;
898    end if;
899   end rosetta_table_copy_out_p5;
900 
901   procedure load_rule(p_api_version  NUMBER
902     , p_init_msg_list  VARCHAR2
903     , p_commit  VARCHAR2
904     , p_validation_level  NUMBER
905     , x_return_status out nocopy  VARCHAR2
906     , x_msg_count out nocopy  NUMBER
907     , x_msg_data out nocopy  VARCHAR2
908     , p_rule_id  NUMBER
909     , p8_a0 out nocopy JTF_NUMBER_TABLE
910     , p8_a1 out nocopy JTF_VARCHAR2_TABLE_100
911     , p8_a2 out nocopy JTF_NUMBER_TABLE
912     , p8_a3 out nocopy JTF_NUMBER_TABLE
913     , p8_a4 out nocopy JTF_NUMBER_TABLE
914     , p8_a5 out nocopy JTF_NUMBER_TABLE
915     , p8_a6 out nocopy JTF_VARCHAR2_TABLE_100
916     , p8_a7 out nocopy JTF_VARCHAR2_TABLE_100
917     , p8_a8 out nocopy JTF_VARCHAR2_TABLE_100
918     , p8_a9 out nocopy JTF_VARCHAR2_TABLE_100
919     , p8_a10 out nocopy JTF_VARCHAR2_TABLE_100
920     , p8_a11 out nocopy JTF_NUMBER_TABLE
921     , p8_a12 out nocopy JTF_VARCHAR2_TABLE_100
922     , p8_a13 out nocopy JTF_VARCHAR2_TABLE_100
923     , p8_a14 out nocopy JTF_VARCHAR2_TABLE_100
924     , p8_a15 out nocopy JTF_VARCHAR2_TABLE_100
925     , p8_a16 out nocopy JTF_VARCHAR2_TABLE_100
926     , p8_a17 out nocopy JTF_VARCHAR2_TABLE_100
927     , p8_a18 out nocopy JTF_VARCHAR2_TABLE_100
928     , p8_a19 out nocopy JTF_VARCHAR2_TABLE_100
929     , p8_a20 out nocopy JTF_VARCHAR2_TABLE_100
930     , p8_a21 out nocopy JTF_VARCHAR2_TABLE_100
931     , p8_a22 out nocopy JTF_NUMBER_TABLE
932     , p8_a23 out nocopy JTF_NUMBER_TABLE
933     , p8_a24 out nocopy JTF_NUMBER_TABLE
934     , p8_a25 out nocopy JTF_VARCHAR2_TABLE_100
935     , p8_a26 out nocopy JTF_VARCHAR2_TABLE_200
936     , p8_a27 out nocopy JTF_VARCHAR2_TABLE_200
937     , p8_a28 out nocopy JTF_VARCHAR2_TABLE_200
938     , p8_a29 out nocopy JTF_VARCHAR2_TABLE_200
939     , p8_a30 out nocopy JTF_VARCHAR2_TABLE_200
940     , p8_a31 out nocopy JTF_VARCHAR2_TABLE_200
941     , p8_a32 out nocopy JTF_VARCHAR2_TABLE_200
942     , p8_a33 out nocopy JTF_VARCHAR2_TABLE_200
943     , p8_a34 out nocopy JTF_VARCHAR2_TABLE_200
944     , p8_a35 out nocopy JTF_VARCHAR2_TABLE_200
945     , p8_a36 out nocopy JTF_VARCHAR2_TABLE_200
946     , p8_a37 out nocopy JTF_VARCHAR2_TABLE_200
947     , p8_a38 out nocopy JTF_VARCHAR2_TABLE_200
948     , p8_a39 out nocopy JTF_VARCHAR2_TABLE_200
949     , p8_a40 out nocopy JTF_VARCHAR2_TABLE_200
950   )
951 
952   as
953     ddx_rule_stmt_tbl ahl_mc_rule_pvt.ui_rule_stmt_tbl_type;
954     ddindx binary_integer; indx binary_integer;
955   begin
956 
957     -- copy data to the local IN or IN-OUT args, if any
958 
959 
960 
961 
962 
963 
964 
965 
966 
967     -- here's the delegated call to the old PL/SQL routine
968     ahl_mc_rule_pvt.load_rule(p_api_version,
969       p_init_msg_list,
970       p_commit,
971       p_validation_level,
972       x_return_status,
973       x_msg_count,
974       x_msg_data,
975       p_rule_id,
976       ddx_rule_stmt_tbl);
977 
978     -- copy data back from the local variables to OUT or IN-OUT args, if any
979 
980 
981 
982 
983 
984 
985 
986 
987     ahl_mc_rule_pvt_w.rosetta_table_copy_out_p3(ddx_rule_stmt_tbl, p8_a0
988       , p8_a1
989       , p8_a2
990       , p8_a3
991       , p8_a4
992       , p8_a5
993       , p8_a6
994       , p8_a7
998       , p8_a11
995       , p8_a8
996       , p8_a9
997       , p8_a10
999       , p8_a12
1000       , p8_a13
1001       , p8_a14
1002       , p8_a15
1003       , p8_a16
1004       , p8_a17
1005       , p8_a18
1006       , p8_a19
1007       , p8_a20
1008       , p8_a21
1009       , p8_a22
1010       , p8_a23
1011       , p8_a24
1012       , p8_a25
1013       , p8_a26
1014       , p8_a27
1015       , p8_a28
1016       , p8_a29
1017       , p8_a30
1018       , p8_a31
1019       , p8_a32
1020       , p8_a33
1021       , p8_a34
1022       , p8_a35
1023       , p8_a36
1024       , p8_a37
1025       , p8_a38
1026       , p8_a39
1027       , p8_a40
1028       );
1029   end;
1030 
1031   procedure insert_rule(p_api_version  NUMBER
1032     , p_init_msg_list  VARCHAR2
1033     , p_commit  VARCHAR2
1034     , p_validation_level  NUMBER
1035     , x_return_status out nocopy  VARCHAR2
1036     , x_msg_count out nocopy  NUMBER
1037     , x_msg_data out nocopy  VARCHAR2
1038     , p_module  VARCHAR2
1039     , p8_a0 JTF_NUMBER_TABLE
1040     , p8_a1 JTF_VARCHAR2_TABLE_100
1041     , p8_a2 JTF_NUMBER_TABLE
1042     , p8_a3 JTF_NUMBER_TABLE
1043     , p8_a4 JTF_NUMBER_TABLE
1044     , p8_a5 JTF_NUMBER_TABLE
1045     , p8_a6 JTF_VARCHAR2_TABLE_100
1046     , p8_a7 JTF_VARCHAR2_TABLE_100
1047     , p8_a8 JTF_VARCHAR2_TABLE_100
1048     , p8_a9 JTF_VARCHAR2_TABLE_100
1049     , p8_a10 JTF_VARCHAR2_TABLE_100
1050     , p8_a11 JTF_NUMBER_TABLE
1051     , p8_a12 JTF_VARCHAR2_TABLE_100
1052     , p8_a13 JTF_VARCHAR2_TABLE_100
1053     , p8_a14 JTF_VARCHAR2_TABLE_100
1054     , p8_a15 JTF_VARCHAR2_TABLE_100
1055     , p8_a16 JTF_VARCHAR2_TABLE_100
1056     , p8_a17 JTF_VARCHAR2_TABLE_100
1057     , p8_a18 JTF_VARCHAR2_TABLE_100
1058     , p8_a19 JTF_VARCHAR2_TABLE_100
1059     , p8_a20 JTF_VARCHAR2_TABLE_100
1060     , p8_a21 JTF_VARCHAR2_TABLE_100
1061     , p8_a22 JTF_NUMBER_TABLE
1062     , p8_a23 JTF_NUMBER_TABLE
1063     , p8_a24 JTF_NUMBER_TABLE
1064     , p8_a25 JTF_VARCHAR2_TABLE_100
1065     , p8_a26 JTF_VARCHAR2_TABLE_200
1066     , p8_a27 JTF_VARCHAR2_TABLE_200
1067     , p8_a28 JTF_VARCHAR2_TABLE_200
1068     , p8_a29 JTF_VARCHAR2_TABLE_200
1069     , p8_a30 JTF_VARCHAR2_TABLE_200
1070     , p8_a31 JTF_VARCHAR2_TABLE_200
1071     , p8_a32 JTF_VARCHAR2_TABLE_200
1072     , p8_a33 JTF_VARCHAR2_TABLE_200
1073     , p8_a34 JTF_VARCHAR2_TABLE_200
1074     , p8_a35 JTF_VARCHAR2_TABLE_200
1075     , p8_a36 JTF_VARCHAR2_TABLE_200
1076     , p8_a37 JTF_VARCHAR2_TABLE_200
1077     , p8_a38 JTF_VARCHAR2_TABLE_200
1078     , p8_a39 JTF_VARCHAR2_TABLE_200
1079     , p8_a40 JTF_VARCHAR2_TABLE_200
1080     , p9_a0 in out nocopy  NUMBER
1081     , p9_a1 in out nocopy  NUMBER
1082     , p9_a2 in out nocopy  DATE
1083     , p9_a3 in out nocopy  NUMBER
1084     , p9_a4 in out nocopy  DATE
1085     , p9_a5 in out nocopy  NUMBER
1086     , p9_a6 in out nocopy  NUMBER
1087     , p9_a7 in out nocopy  NUMBER
1088     , p9_a8 in out nocopy  VARCHAR2
1089     , p9_a9 in out nocopy  VARCHAR2
1090     , p9_a10 in out nocopy  VARCHAR2
1091     , p9_a11 in out nocopy  VARCHAR2
1092     , p9_a12 in out nocopy  VARCHAR2
1093     , p9_a13 in out nocopy  DATE
1094     , p9_a14 in out nocopy  DATE
1095     , p9_a15 in out nocopy  VARCHAR2
1096     , p9_a16 in out nocopy  VARCHAR2
1097     , p9_a17 in out nocopy  VARCHAR2
1098     , p9_a18 in out nocopy  VARCHAR2
1099     , p9_a19 in out nocopy  VARCHAR2
1100     , p9_a20 in out nocopy  VARCHAR2
1101     , p9_a21 in out nocopy  VARCHAR2
1102     , p9_a22 in out nocopy  VARCHAR2
1103     , p9_a23 in out nocopy  VARCHAR2
1104     , p9_a24 in out nocopy  VARCHAR2
1105     , p9_a25 in out nocopy  VARCHAR2
1106     , p9_a26 in out nocopy  VARCHAR2
1107     , p9_a27 in out nocopy  VARCHAR2
1108     , p9_a28 in out nocopy  VARCHAR2
1109     , p9_a29 in out nocopy  VARCHAR2
1110     , p9_a30 in out nocopy  VARCHAR2
1111     , p9_a31 in out nocopy  VARCHAR2
1112     , p9_a32 in out nocopy  VARCHAR2
1113   )
1114 
1115   as
1116     ddp_rule_stmt_tbl ahl_mc_rule_pvt.ui_rule_stmt_tbl_type;
1117     ddp_x_rule_rec ahl_mc_rule_pvt.rule_rec_type;
1118     ddindx binary_integer; indx binary_integer;
1119   begin
1120 
1121     -- copy data to the local IN or IN-OUT args, if any
1122 
1123 
1124 
1125 
1126 
1127 
1128 
1129 
1130     ahl_mc_rule_pvt_w.rosetta_table_copy_in_p3(ddp_rule_stmt_tbl, p8_a0
1131       , p8_a1
1132       , p8_a2
1133       , p8_a3
1134       , p8_a4
1135       , p8_a5
1136       , p8_a6
1137       , p8_a7
1138       , p8_a8
1139       , p8_a9
1140       , p8_a10
1141       , p8_a11
1142       , p8_a12
1143       , p8_a13
1144       , p8_a14
1145       , p8_a15
1146       , p8_a16
1147       , p8_a17
1148       , p8_a18
1149       , p8_a19
1150       , p8_a20
1151       , p8_a21
1152       , p8_a22
1153       , p8_a23
1154       , p8_a24
1155       , p8_a25
1156       , p8_a26
1157       , p8_a27
1158       , p8_a28
1159       , p8_a29
1160       , p8_a30
1161       , p8_a31
1162       , p8_a32
1163       , p8_a33
1164       , p8_a34
1165       , p8_a35
1166       , p8_a36
1170       , p8_a40
1167       , p8_a37
1168       , p8_a38
1169       , p8_a39
1171       );
1172 
1173     ddp_x_rule_rec.rule_id := p9_a0;
1174     ddp_x_rule_rec.object_version_number := p9_a1;
1175     ddp_x_rule_rec.last_update_date := rosetta_g_miss_date_in_map(p9_a2);
1176     ddp_x_rule_rec.last_updated_by := p9_a3;
1177     ddp_x_rule_rec.creation_date := rosetta_g_miss_date_in_map(p9_a4);
1178     ddp_x_rule_rec.created_by := p9_a5;
1179     ddp_x_rule_rec.last_update_login := p9_a6;
1180     ddp_x_rule_rec.mc_header_id := p9_a7;
1181     ddp_x_rule_rec.mc_name := p9_a8;
1182     ddp_x_rule_rec.mc_revision := p9_a9;
1183     ddp_x_rule_rec.rule_name := p9_a10;
1184     ddp_x_rule_rec.rule_type_code := p9_a11;
1185     ddp_x_rule_rec.rule_type_meaning := p9_a12;
1186     ddp_x_rule_rec.active_start_date := rosetta_g_miss_date_in_map(p9_a13);
1187     ddp_x_rule_rec.active_end_date := rosetta_g_miss_date_in_map(p9_a14);
1188     ddp_x_rule_rec.description := p9_a15;
1189     ddp_x_rule_rec.attribute_category := p9_a16;
1190     ddp_x_rule_rec.attribute1 := p9_a17;
1191     ddp_x_rule_rec.attribute2 := p9_a18;
1192     ddp_x_rule_rec.attribute3 := p9_a19;
1193     ddp_x_rule_rec.attribute4 := p9_a20;
1194     ddp_x_rule_rec.attribute5 := p9_a21;
1195     ddp_x_rule_rec.attribute6 := p9_a22;
1196     ddp_x_rule_rec.attribute7 := p9_a23;
1197     ddp_x_rule_rec.attribute8 := p9_a24;
1198     ddp_x_rule_rec.attribute9 := p9_a25;
1199     ddp_x_rule_rec.attribute10 := p9_a26;
1200     ddp_x_rule_rec.attribute11 := p9_a27;
1201     ddp_x_rule_rec.attribute12 := p9_a28;
1202     ddp_x_rule_rec.attribute13 := p9_a29;
1203     ddp_x_rule_rec.attribute14 := p9_a30;
1204     ddp_x_rule_rec.attribute15 := p9_a31;
1205     ddp_x_rule_rec.operation_flag := p9_a32;
1206 
1207     -- here's the delegated call to the old PL/SQL routine
1208     ahl_mc_rule_pvt.insert_rule(p_api_version,
1209       p_init_msg_list,
1210       p_commit,
1211       p_validation_level,
1212       x_return_status,
1213       x_msg_count,
1214       x_msg_data,
1215       p_module,
1216       ddp_rule_stmt_tbl,
1217       ddp_x_rule_rec);
1218 
1219     -- copy data back from the local variables to OUT or IN-OUT args, if any
1220 
1221 
1222 
1223 
1224 
1225 
1226 
1227 
1228 
1229     p9_a0 := ddp_x_rule_rec.rule_id;
1230     p9_a1 := ddp_x_rule_rec.object_version_number;
1231     p9_a2 := ddp_x_rule_rec.last_update_date;
1232     p9_a3 := ddp_x_rule_rec.last_updated_by;
1233     p9_a4 := ddp_x_rule_rec.creation_date;
1234     p9_a5 := ddp_x_rule_rec.created_by;
1235     p9_a6 := ddp_x_rule_rec.last_update_login;
1236     p9_a7 := ddp_x_rule_rec.mc_header_id;
1237     p9_a8 := ddp_x_rule_rec.mc_name;
1238     p9_a9 := ddp_x_rule_rec.mc_revision;
1239     p9_a10 := ddp_x_rule_rec.rule_name;
1240     p9_a11 := ddp_x_rule_rec.rule_type_code;
1241     p9_a12 := ddp_x_rule_rec.rule_type_meaning;
1242     p9_a13 := ddp_x_rule_rec.active_start_date;
1243     p9_a14 := ddp_x_rule_rec.active_end_date;
1244     p9_a15 := ddp_x_rule_rec.description;
1245     p9_a16 := ddp_x_rule_rec.attribute_category;
1246     p9_a17 := ddp_x_rule_rec.attribute1;
1247     p9_a18 := ddp_x_rule_rec.attribute2;
1248     p9_a19 := ddp_x_rule_rec.attribute3;
1249     p9_a20 := ddp_x_rule_rec.attribute4;
1250     p9_a21 := ddp_x_rule_rec.attribute5;
1251     p9_a22 := ddp_x_rule_rec.attribute6;
1252     p9_a23 := ddp_x_rule_rec.attribute7;
1253     p9_a24 := ddp_x_rule_rec.attribute8;
1254     p9_a25 := ddp_x_rule_rec.attribute9;
1255     p9_a26 := ddp_x_rule_rec.attribute10;
1256     p9_a27 := ddp_x_rule_rec.attribute11;
1257     p9_a28 := ddp_x_rule_rec.attribute12;
1258     p9_a29 := ddp_x_rule_rec.attribute13;
1259     p9_a30 := ddp_x_rule_rec.attribute14;
1260     p9_a31 := ddp_x_rule_rec.attribute15;
1261     p9_a32 := ddp_x_rule_rec.operation_flag;
1262   end;
1263 
1264   procedure update_rule(p_api_version  NUMBER
1265     , p_init_msg_list  VARCHAR2
1266     , p_commit  VARCHAR2
1267     , p_validation_level  NUMBER
1268     , x_return_status out nocopy  VARCHAR2
1269     , x_msg_count out nocopy  NUMBER
1270     , x_msg_data out nocopy  VARCHAR2
1271     , p_module  VARCHAR2
1272     , p8_a0  NUMBER
1273     , p8_a1  NUMBER
1274     , p8_a2  DATE
1275     , p8_a3  NUMBER
1276     , p8_a4  DATE
1277     , p8_a5  NUMBER
1278     , p8_a6  NUMBER
1279     , p8_a7  NUMBER
1280     , p8_a8  VARCHAR2
1281     , p8_a9  VARCHAR2
1282     , p8_a10  VARCHAR2
1283     , p8_a11  VARCHAR2
1284     , p8_a12  VARCHAR2
1285     , p8_a13  DATE
1286     , p8_a14  DATE
1287     , p8_a15  VARCHAR2
1288     , p8_a16  VARCHAR2
1289     , p8_a17  VARCHAR2
1290     , p8_a18  VARCHAR2
1291     , p8_a19  VARCHAR2
1292     , p8_a20  VARCHAR2
1293     , p8_a21  VARCHAR2
1294     , p8_a22  VARCHAR2
1295     , p8_a23  VARCHAR2
1296     , p8_a24  VARCHAR2
1297     , p8_a25  VARCHAR2
1298     , p8_a26  VARCHAR2
1299     , p8_a27  VARCHAR2
1300     , p8_a28  VARCHAR2
1301     , p8_a29  VARCHAR2
1302     , p8_a30  VARCHAR2
1303     , p8_a31  VARCHAR2
1304     , p8_a32  VARCHAR2
1305     , p9_a0 JTF_NUMBER_TABLE
1306     , p9_a1 JTF_VARCHAR2_TABLE_100
1307     , p9_a2 JTF_NUMBER_TABLE
1308     , p9_a3 JTF_NUMBER_TABLE
1309     , p9_a4 JTF_NUMBER_TABLE
1313     , p9_a8 JTF_VARCHAR2_TABLE_100
1310     , p9_a5 JTF_NUMBER_TABLE
1311     , p9_a6 JTF_VARCHAR2_TABLE_100
1312     , p9_a7 JTF_VARCHAR2_TABLE_100
1314     , p9_a9 JTF_VARCHAR2_TABLE_100
1315     , p9_a10 JTF_VARCHAR2_TABLE_100
1316     , p9_a11 JTF_NUMBER_TABLE
1317     , p9_a12 JTF_VARCHAR2_TABLE_100
1318     , p9_a13 JTF_VARCHAR2_TABLE_100
1319     , p9_a14 JTF_VARCHAR2_TABLE_100
1320     , p9_a15 JTF_VARCHAR2_TABLE_100
1321     , p9_a16 JTF_VARCHAR2_TABLE_100
1322     , p9_a17 JTF_VARCHAR2_TABLE_100
1323     , p9_a18 JTF_VARCHAR2_TABLE_100
1324     , p9_a19 JTF_VARCHAR2_TABLE_100
1325     , p9_a20 JTF_VARCHAR2_TABLE_100
1326     , p9_a21 JTF_VARCHAR2_TABLE_100
1327     , p9_a22 JTF_NUMBER_TABLE
1328     , p9_a23 JTF_NUMBER_TABLE
1329     , p9_a24 JTF_NUMBER_TABLE
1330     , p9_a25 JTF_VARCHAR2_TABLE_100
1331     , p9_a26 JTF_VARCHAR2_TABLE_200
1332     , p9_a27 JTF_VARCHAR2_TABLE_200
1333     , p9_a28 JTF_VARCHAR2_TABLE_200
1334     , p9_a29 JTF_VARCHAR2_TABLE_200
1335     , p9_a30 JTF_VARCHAR2_TABLE_200
1336     , p9_a31 JTF_VARCHAR2_TABLE_200
1337     , p9_a32 JTF_VARCHAR2_TABLE_200
1338     , p9_a33 JTF_VARCHAR2_TABLE_200
1339     , p9_a34 JTF_VARCHAR2_TABLE_200
1340     , p9_a35 JTF_VARCHAR2_TABLE_200
1341     , p9_a36 JTF_VARCHAR2_TABLE_200
1342     , p9_a37 JTF_VARCHAR2_TABLE_200
1343     , p9_a38 JTF_VARCHAR2_TABLE_200
1344     , p9_a39 JTF_VARCHAR2_TABLE_200
1345     , p9_a40 JTF_VARCHAR2_TABLE_200
1346   )
1347 
1348   as
1349     ddp_rule_rec ahl_mc_rule_pvt.rule_rec_type;
1350     ddp_rule_stmt_tbl ahl_mc_rule_pvt.ui_rule_stmt_tbl_type;
1351     ddindx binary_integer; indx binary_integer;
1352   begin
1353 
1354     -- copy data to the local IN or IN-OUT args, if any
1355 
1356 
1357 
1358 
1359 
1360 
1361 
1362 
1363     ddp_rule_rec.rule_id := p8_a0;
1364     ddp_rule_rec.object_version_number := p8_a1;
1365     ddp_rule_rec.last_update_date := rosetta_g_miss_date_in_map(p8_a2);
1366     ddp_rule_rec.last_updated_by := p8_a3;
1367     ddp_rule_rec.creation_date := rosetta_g_miss_date_in_map(p8_a4);
1368     ddp_rule_rec.created_by := p8_a5;
1369     ddp_rule_rec.last_update_login := p8_a6;
1370     ddp_rule_rec.mc_header_id := p8_a7;
1371     ddp_rule_rec.mc_name := p8_a8;
1372     ddp_rule_rec.mc_revision := p8_a9;
1373     ddp_rule_rec.rule_name := p8_a10;
1374     ddp_rule_rec.rule_type_code := p8_a11;
1375     ddp_rule_rec.rule_type_meaning := p8_a12;
1376     ddp_rule_rec.active_start_date := rosetta_g_miss_date_in_map(p8_a13);
1377     ddp_rule_rec.active_end_date := rosetta_g_miss_date_in_map(p8_a14);
1378     ddp_rule_rec.description := p8_a15;
1379     ddp_rule_rec.attribute_category := p8_a16;
1380     ddp_rule_rec.attribute1 := p8_a17;
1381     ddp_rule_rec.attribute2 := p8_a18;
1382     ddp_rule_rec.attribute3 := p8_a19;
1383     ddp_rule_rec.attribute4 := p8_a20;
1384     ddp_rule_rec.attribute5 := p8_a21;
1385     ddp_rule_rec.attribute6 := p8_a22;
1386     ddp_rule_rec.attribute7 := p8_a23;
1387     ddp_rule_rec.attribute8 := p8_a24;
1388     ddp_rule_rec.attribute9 := p8_a25;
1389     ddp_rule_rec.attribute10 := p8_a26;
1390     ddp_rule_rec.attribute11 := p8_a27;
1391     ddp_rule_rec.attribute12 := p8_a28;
1392     ddp_rule_rec.attribute13 := p8_a29;
1393     ddp_rule_rec.attribute14 := p8_a30;
1394     ddp_rule_rec.attribute15 := p8_a31;
1395     ddp_rule_rec.operation_flag := p8_a32;
1396 
1397     ahl_mc_rule_pvt_w.rosetta_table_copy_in_p3(ddp_rule_stmt_tbl, p9_a0
1398       , p9_a1
1399       , p9_a2
1400       , p9_a3
1401       , p9_a4
1402       , p9_a5
1403       , p9_a6
1404       , p9_a7
1405       , p9_a8
1406       , p9_a9
1407       , p9_a10
1408       , p9_a11
1409       , p9_a12
1410       , p9_a13
1411       , p9_a14
1412       , p9_a15
1413       , p9_a16
1414       , p9_a17
1415       , p9_a18
1416       , p9_a19
1417       , p9_a20
1418       , p9_a21
1419       , p9_a22
1420       , p9_a23
1421       , p9_a24
1422       , p9_a25
1423       , p9_a26
1424       , p9_a27
1425       , p9_a28
1426       , p9_a29
1427       , p9_a30
1428       , p9_a31
1429       , p9_a32
1430       , p9_a33
1431       , p9_a34
1432       , p9_a35
1433       , p9_a36
1434       , p9_a37
1435       , p9_a38
1436       , p9_a39
1437       , p9_a40
1438       );
1439 
1440     -- here's the delegated call to the old PL/SQL routine
1441     ahl_mc_rule_pvt.update_rule(p_api_version,
1442       p_init_msg_list,
1443       p_commit,
1444       p_validation_level,
1445       x_return_status,
1446       x_msg_count,
1447       x_msg_data,
1448       p_module,
1449       ddp_rule_rec,
1450       ddp_rule_stmt_tbl);
1451 
1452     -- copy data back from the local variables to OUT or IN-OUT args, if any
1453 
1454 
1455 
1456 
1457 
1458 
1459 
1460 
1461 
1462   end;
1463 
1464   procedure delete_rule(p_api_version  NUMBER
1465     , p_init_msg_list  VARCHAR2
1466     , p_commit  VARCHAR2
1467     , p_validation_level  NUMBER
1468     , x_return_status out nocopy  VARCHAR2
1469     , x_msg_count out nocopy  NUMBER
1470     , x_msg_data out nocopy  VARCHAR2
1471     , p7_a0  NUMBER
1472     , p7_a1  NUMBER
1476     , p7_a5  NUMBER
1473     , p7_a2  DATE
1474     , p7_a3  NUMBER
1475     , p7_a4  DATE
1477     , p7_a6  NUMBER
1478     , p7_a7  NUMBER
1479     , p7_a8  VARCHAR2
1480     , p7_a9  VARCHAR2
1481     , p7_a10  VARCHAR2
1482     , p7_a11  VARCHAR2
1483     , p7_a12  VARCHAR2
1484     , p7_a13  DATE
1485     , p7_a14  DATE
1486     , p7_a15  VARCHAR2
1487     , p7_a16  VARCHAR2
1488     , p7_a17  VARCHAR2
1489     , p7_a18  VARCHAR2
1490     , p7_a19  VARCHAR2
1491     , p7_a20  VARCHAR2
1492     , p7_a21  VARCHAR2
1493     , p7_a22  VARCHAR2
1494     , p7_a23  VARCHAR2
1495     , p7_a24  VARCHAR2
1496     , p7_a25  VARCHAR2
1497     , p7_a26  VARCHAR2
1498     , p7_a27  VARCHAR2
1499     , p7_a28  VARCHAR2
1500     , p7_a29  VARCHAR2
1501     , p7_a30  VARCHAR2
1502     , p7_a31  VARCHAR2
1503     , p7_a32  VARCHAR2
1504   )
1505 
1506   as
1507     ddp_rule_rec ahl_mc_rule_pvt.rule_rec_type;
1508     ddindx binary_integer; indx binary_integer;
1509   begin
1510 
1511     -- copy data to the local IN or IN-OUT args, if any
1512 
1513 
1514 
1515 
1516 
1517 
1518 
1519     ddp_rule_rec.rule_id := p7_a0;
1520     ddp_rule_rec.object_version_number := p7_a1;
1521     ddp_rule_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a2);
1522     ddp_rule_rec.last_updated_by := p7_a3;
1523     ddp_rule_rec.creation_date := rosetta_g_miss_date_in_map(p7_a4);
1524     ddp_rule_rec.created_by := p7_a5;
1525     ddp_rule_rec.last_update_login := p7_a6;
1526     ddp_rule_rec.mc_header_id := p7_a7;
1527     ddp_rule_rec.mc_name := p7_a8;
1528     ddp_rule_rec.mc_revision := p7_a9;
1529     ddp_rule_rec.rule_name := p7_a10;
1530     ddp_rule_rec.rule_type_code := p7_a11;
1531     ddp_rule_rec.rule_type_meaning := p7_a12;
1532     ddp_rule_rec.active_start_date := rosetta_g_miss_date_in_map(p7_a13);
1533     ddp_rule_rec.active_end_date := rosetta_g_miss_date_in_map(p7_a14);
1534     ddp_rule_rec.description := p7_a15;
1535     ddp_rule_rec.attribute_category := p7_a16;
1536     ddp_rule_rec.attribute1 := p7_a17;
1537     ddp_rule_rec.attribute2 := p7_a18;
1538     ddp_rule_rec.attribute3 := p7_a19;
1539     ddp_rule_rec.attribute4 := p7_a20;
1540     ddp_rule_rec.attribute5 := p7_a21;
1541     ddp_rule_rec.attribute6 := p7_a22;
1542     ddp_rule_rec.attribute7 := p7_a23;
1543     ddp_rule_rec.attribute8 := p7_a24;
1544     ddp_rule_rec.attribute9 := p7_a25;
1545     ddp_rule_rec.attribute10 := p7_a26;
1546     ddp_rule_rec.attribute11 := p7_a27;
1547     ddp_rule_rec.attribute12 := p7_a28;
1548     ddp_rule_rec.attribute13 := p7_a29;
1549     ddp_rule_rec.attribute14 := p7_a30;
1550     ddp_rule_rec.attribute15 := p7_a31;
1551     ddp_rule_rec.operation_flag := p7_a32;
1552 
1553     -- here's the delegated call to the old PL/SQL routine
1554     ahl_mc_rule_pvt.delete_rule(p_api_version,
1555       p_init_msg_list,
1556       p_commit,
1557       p_validation_level,
1558       x_return_status,
1559       x_msg_count,
1560       x_msg_data,
1561       ddp_rule_rec);
1562 
1563     -- copy data back from the local variables to OUT or IN-OUT args, if any
1564 
1565 
1566 
1567 
1568 
1569 
1570 
1571   end;
1572 
1573   procedure get_rules_for_position(p_api_version  NUMBER
1574     , p_init_msg_list  VARCHAR2
1575     , p_commit  VARCHAR2
1576     , p_validation_level  NUMBER
1577     , x_return_status out nocopy  VARCHAR2
1578     , x_msg_count out nocopy  NUMBER
1579     , x_msg_data out nocopy  VARCHAR2
1580     , p_mc_header_id  NUMBER
1581     , p_encoded_path  VARCHAR2
1582     , p9_a0 out nocopy JTF_NUMBER_TABLE
1583     , p9_a1 out nocopy JTF_NUMBER_TABLE
1584     , p9_a2 out nocopy JTF_DATE_TABLE
1585     , p9_a3 out nocopy JTF_NUMBER_TABLE
1586     , p9_a4 out nocopy JTF_DATE_TABLE
1587     , p9_a5 out nocopy JTF_NUMBER_TABLE
1588     , p9_a6 out nocopy JTF_NUMBER_TABLE
1589     , p9_a7 out nocopy JTF_NUMBER_TABLE
1590     , p9_a8 out nocopy JTF_VARCHAR2_TABLE_100
1591     , p9_a9 out nocopy JTF_VARCHAR2_TABLE_100
1592     , p9_a10 out nocopy JTF_VARCHAR2_TABLE_100
1593     , p9_a11 out nocopy JTF_VARCHAR2_TABLE_100
1594     , p9_a12 out nocopy JTF_VARCHAR2_TABLE_100
1595     , p9_a13 out nocopy JTF_DATE_TABLE
1596     , p9_a14 out nocopy JTF_DATE_TABLE
1597     , p9_a15 out nocopy JTF_VARCHAR2_TABLE_2000
1598     , p9_a16 out nocopy JTF_VARCHAR2_TABLE_100
1599     , p9_a17 out nocopy JTF_VARCHAR2_TABLE_200
1600     , p9_a18 out nocopy JTF_VARCHAR2_TABLE_200
1601     , p9_a19 out nocopy JTF_VARCHAR2_TABLE_200
1602     , p9_a20 out nocopy JTF_VARCHAR2_TABLE_200
1603     , p9_a21 out nocopy JTF_VARCHAR2_TABLE_200
1604     , p9_a22 out nocopy JTF_VARCHAR2_TABLE_200
1605     , p9_a23 out nocopy JTF_VARCHAR2_TABLE_200
1606     , p9_a24 out nocopy JTF_VARCHAR2_TABLE_200
1607     , p9_a25 out nocopy JTF_VARCHAR2_TABLE_200
1608     , p9_a26 out nocopy JTF_VARCHAR2_TABLE_200
1609     , p9_a27 out nocopy JTF_VARCHAR2_TABLE_200
1610     , p9_a28 out nocopy JTF_VARCHAR2_TABLE_200
1611     , p9_a29 out nocopy JTF_VARCHAR2_TABLE_200
1612     , p9_a30 out nocopy JTF_VARCHAR2_TABLE_200
1613     , p9_a31 out nocopy JTF_VARCHAR2_TABLE_200
1614     , p9_a32 out nocopy JTF_VARCHAR2_TABLE_100
1615   )
1616 
1617   as
1618     ddx_rule_tbl ahl_mc_rule_pvt.rule_tbl_type;
1619     ddindx binary_integer; indx binary_integer;
1620   begin
1621 
1622     -- copy data to the local IN or IN-OUT args, if any
1623 
1624 
1625 
1626 
1627 
1628 
1629 
1630 
1631 
1632 
1633     -- here's the delegated call to the old PL/SQL routine
1634     ahl_mc_rule_pvt.get_rules_for_position(p_api_version,
1635       p_init_msg_list,
1636       p_commit,
1637       p_validation_level,
1638       x_return_status,
1639       x_msg_count,
1640       x_msg_data,
1641       p_mc_header_id,
1642       p_encoded_path,
1643       ddx_rule_tbl);
1644 
1645     -- copy data back from the local variables to OUT or IN-OUT args, if any
1646 
1647 
1648 
1649 
1650 
1651 
1652 
1653 
1654 
1655     ahl_mc_rule_pvt_w.rosetta_table_copy_out_p5(ddx_rule_tbl, p9_a0
1656       , p9_a1
1657       , p9_a2
1658       , p9_a3
1659       , p9_a4
1660       , p9_a5
1661       , p9_a6
1662       , p9_a7
1663       , p9_a8
1664       , p9_a9
1665       , p9_a10
1666       , p9_a11
1667       , p9_a12
1668       , p9_a13
1669       , p9_a14
1670       , p9_a15
1671       , p9_a16
1672       , p9_a17
1673       , p9_a18
1674       , p9_a19
1675       , p9_a20
1676       , p9_a21
1677       , p9_a22
1678       , p9_a23
1679       , p9_a24
1680       , p9_a25
1681       , p9_a26
1682       , p9_a27
1683       , p9_a28
1684       , p9_a29
1685       , p9_a30
1686       , p9_a31
1687       , p9_a32
1688       );
1689   end;
1690 
1691 end ahl_mc_rule_pvt_w;