DBA Data[Home] [Help]

PACKAGE BODY: APPS.EAM_PMDEF_PUB_W

Source


1 package body eam_pmdef_pub_w as
2   /* $Header: EAMWPMDB.pls 120.2 2005/10/14 12:11:19 hkarmach noship $ */
3   procedure rosetta_table_copy_in_p2(t out nocopy eam_pmdef_pub.pm_activities_grp_tbl_type, a0 JTF_NUMBER_TABLE
4     , a1 JTF_NUMBER_TABLE
5     , a2 JTF_NUMBER_TABLE
6     , a3 JTF_VARCHAR2_TABLE_100
7     , a4 JTF_NUMBER_TABLE
8     , a5 JTF_DATE_TABLE
9     , a6 JTF_DATE_TABLE
10     ) as
11     ddindx binary_integer; indx binary_integer;
12   begin
13   if a0 is not null and a0.count > 0 then
14       if a0.count > 0 then
15         indx := a0.first;
16         ddindx := 1;
17         while true loop
18           t(ddindx).pm_schedule_id := a0(indx);
19           t(ddindx).activity_association_id := a1(indx);
20           t(ddindx).interval_multiple := a2(indx);
21           t(ddindx).allow_repeat_in_cycle := a3(indx);
22           t(ddindx).day_tolerance := a4(indx);
23           t(ddindx).next_service_start_date := a5(indx);
24           t(ddindx).next_service_end_date := a6(indx);
25           ddindx := ddindx+1;
26           if a0.last =indx
27             then exit;
28           end if;
29           indx := a0.next(indx);
30         end loop;
31       end if;
32    end if;
33   end rosetta_table_copy_in_p2;
34   procedure rosetta_table_copy_out_p2(t eam_pmdef_pub.pm_activities_grp_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
35     , a1 out nocopy JTF_NUMBER_TABLE
36     , a2 out nocopy JTF_NUMBER_TABLE
37     , a3 out nocopy JTF_VARCHAR2_TABLE_100
38     , a4 out nocopy JTF_NUMBER_TABLE
39     , a5 out nocopy JTF_DATE_TABLE
40     , a6 out nocopy JTF_DATE_TABLE
41     ) as
42     ddindx binary_integer; indx binary_integer;
43   begin
44   if t is null or t.count = 0 then
45     a0 := JTF_NUMBER_TABLE();
46     a1 := JTF_NUMBER_TABLE();
47     a2 := JTF_NUMBER_TABLE();
48     a3 := JTF_VARCHAR2_TABLE_100();
49     a4 := JTF_NUMBER_TABLE();
50     a5 := JTF_DATE_TABLE();
51     a6 := JTF_DATE_TABLE();
52   else
53       a0 := JTF_NUMBER_TABLE();
54       a1 := JTF_NUMBER_TABLE();
55       a2 := JTF_NUMBER_TABLE();
56       a3 := JTF_VARCHAR2_TABLE_100();
57       a4 := JTF_NUMBER_TABLE();
58       a5 := JTF_DATE_TABLE();
59       a6 := JTF_DATE_TABLE();
60       if t.count > 0 then
61         a0.extend(t.count);
62         a1.extend(t.count);
63         a2.extend(t.count);
64         a3.extend(t.count);
65         a4.extend(t.count);
66         a5.extend(t.count);
67         a6.extend(t.count);
68         ddindx := t.first;
69         indx := 1;
70         while true loop
71           a0(indx) := t(ddindx).pm_schedule_id;
72           a1(indx) := t(ddindx).activity_association_id;
73           a2(indx) := t(ddindx).interval_multiple;
74           a3(indx) := t(ddindx).allow_repeat_in_cycle;
75           a4(indx) := t(ddindx).day_tolerance;
76           a5(indx) := t(ddindx).next_service_start_date;
77           a6(indx) := t(ddindx).next_service_end_date;
78           indx := indx+1;
79           if t.last =ddindx
80             then exit;
81           end if;
82           ddindx := t.next(ddindx);
83         end loop;
84       end if;
85    end if;
86   end rosetta_table_copy_out_p2;
87 
88   procedure rosetta_table_copy_in_p4(t out nocopy eam_pmdef_pub.pm_rule_tbl_type, a0 JTF_NUMBER_TABLE
89     , a1 JTF_NUMBER_TABLE
90     , a2 JTF_NUMBER_TABLE
91     , a3 JTF_NUMBER_TABLE
92     , a4 JTF_NUMBER_TABLE
93     , a5 JTF_NUMBER_TABLE
94     , a6 JTF_NUMBER_TABLE
95     , a7 JTF_NUMBER_TABLE
96     , a8 JTF_NUMBER_TABLE
97     , a9 JTF_DATE_TABLE
98     , a10 JTF_DATE_TABLE
99     , a11 JTF_DATE_TABLE
100     , a12 JTF_VARCHAR2_TABLE_100
101     ) as
102     ddindx binary_integer; indx binary_integer;
103   begin
104   if a0 is not null and a0.count > 0 then
105       if a0.count > 0 then
106         indx := a0.first;
107         ddindx := 1;
108         while true loop
109           t(ddindx).rule_id := a0(indx);
110           t(ddindx).pm_schedule_id := a1(indx);
111           t(ddindx).rule_type := a2(indx);
112           t(ddindx).day_interval := a3(indx);
113           t(ddindx).meter_id := a4(indx);
114           t(ddindx).runtime_interval := a5(indx);
115           t(ddindx).last_service_reading := a6(indx);
116           t(ddindx).effective_reading_from := a7(indx);
117           t(ddindx).effective_reading_to := a8(indx);
118           t(ddindx).effective_date_from := a9(indx);
119           t(ddindx).effective_date_to := a10(indx);
120           t(ddindx).list_date := a11(indx);
121           t(ddindx).list_date_desc := a12(indx);
122           ddindx := ddindx+1;
123           if a0.last =indx
124             then exit;
125           end if;
126           indx := a0.next(indx);
127         end loop;
128       end if;
129    end if;
130   end rosetta_table_copy_in_p4;
131   procedure rosetta_table_copy_out_p4(t eam_pmdef_pub.pm_rule_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
132     , a1 out nocopy JTF_NUMBER_TABLE
133     , a2 out nocopy JTF_NUMBER_TABLE
134     , a3 out nocopy JTF_NUMBER_TABLE
135     , a4 out nocopy JTF_NUMBER_TABLE
136     , a5 out nocopy JTF_NUMBER_TABLE
137     , a6 out nocopy JTF_NUMBER_TABLE
138     , a7 out nocopy JTF_NUMBER_TABLE
139     , a8 out nocopy JTF_NUMBER_TABLE
140     , a9 out nocopy JTF_DATE_TABLE
141     , a10 out nocopy JTF_DATE_TABLE
142     , a11 out nocopy JTF_DATE_TABLE
143     , a12 out nocopy JTF_VARCHAR2_TABLE_100
144     ) as
145     ddindx binary_integer; indx binary_integer;
146   begin
147   if t is null or t.count = 0 then
148     a0 := JTF_NUMBER_TABLE();
149     a1 := JTF_NUMBER_TABLE();
150     a2 := JTF_NUMBER_TABLE();
151     a3 := JTF_NUMBER_TABLE();
152     a4 := JTF_NUMBER_TABLE();
153     a5 := JTF_NUMBER_TABLE();
154     a6 := JTF_NUMBER_TABLE();
155     a7 := JTF_NUMBER_TABLE();
156     a8 := JTF_NUMBER_TABLE();
157     a9 := JTF_DATE_TABLE();
158     a10 := JTF_DATE_TABLE();
159     a11 := JTF_DATE_TABLE();
160     a12 := JTF_VARCHAR2_TABLE_100();
161   else
162       a0 := JTF_NUMBER_TABLE();
163       a1 := JTF_NUMBER_TABLE();
164       a2 := JTF_NUMBER_TABLE();
165       a3 := JTF_NUMBER_TABLE();
166       a4 := JTF_NUMBER_TABLE();
167       a5 := JTF_NUMBER_TABLE();
168       a6 := JTF_NUMBER_TABLE();
169       a7 := JTF_NUMBER_TABLE();
170       a8 := JTF_NUMBER_TABLE();
171       a9 := JTF_DATE_TABLE();
172       a10 := JTF_DATE_TABLE();
173       a11 := JTF_DATE_TABLE();
174       a12 := JTF_VARCHAR2_TABLE_100();
175       if t.count > 0 then
176         a0.extend(t.count);
177         a1.extend(t.count);
178         a2.extend(t.count);
179         a3.extend(t.count);
180         a4.extend(t.count);
181         a5.extend(t.count);
182         a6.extend(t.count);
183         a7.extend(t.count);
184         a8.extend(t.count);
185         a9.extend(t.count);
186         a10.extend(t.count);
187         a11.extend(t.count);
188         a12.extend(t.count);
189         ddindx := t.first;
190         indx := 1;
191         while true loop
192           a0(indx) := t(ddindx).rule_id;
193           a1(indx) := t(ddindx).pm_schedule_id;
194           a2(indx) := t(ddindx).rule_type;
195           a3(indx) := t(ddindx).day_interval;
196           a4(indx) := t(ddindx).meter_id;
197           a5(indx) := t(ddindx).runtime_interval;
198           a6(indx) := t(ddindx).last_service_reading;
199           a7(indx) := t(ddindx).effective_reading_from;
200           a8(indx) := t(ddindx).effective_reading_to;
201           a9(indx) := t(ddindx).effective_date_from;
202           a10(indx) := t(ddindx).effective_date_to;
203           a11(indx) := t(ddindx).list_date;
204           a12(indx) := t(ddindx).list_date_desc;
205           indx := indx+1;
206           if t.last =ddindx
207             then exit;
208           end if;
209           ddindx := t.next(ddindx);
210         end loop;
211       end if;
212    end if;
213   end rosetta_table_copy_out_p4;
214 
215   procedure rosetta_table_copy_in_p6(t out nocopy eam_pmdef_pub.pm_date_tbl_type, a0 JTF_NUMBER_TABLE
216     , a1 JTF_DATE_TABLE
217     , a2 JTF_NUMBER_TABLE
218     ) as
219     ddindx binary_integer; indx binary_integer;
220   begin
221   if a0 is not null and a0.count > 0 then
222       if a0.count > 0 then
223         indx := a0.first;
224         ddindx := 1;
225         while true loop
226           t(ddindx).index1 := a0(indx);
227           t(ddindx).date1 := a1(indx);
228           t(ddindx).other := a2(indx);
229           ddindx := ddindx+1;
230           if a0.last =indx
231             then exit;
232           end if;
233           indx := a0.next(indx);
234         end loop;
235       end if;
236    end if;
237   end rosetta_table_copy_in_p6;
238   procedure rosetta_table_copy_out_p6(t eam_pmdef_pub.pm_date_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
239     , a1 out nocopy JTF_DATE_TABLE
240     , a2 out nocopy JTF_NUMBER_TABLE
241     ) as
242     ddindx binary_integer; indx binary_integer;
243   begin
244   if t is null or t.count = 0 then
245     a0 := JTF_NUMBER_TABLE();
246     a1 := JTF_DATE_TABLE();
247     a2 := JTF_NUMBER_TABLE();
248   else
249       a0 := JTF_NUMBER_TABLE();
250       a1 := JTF_DATE_TABLE();
251       a2 := JTF_NUMBER_TABLE();
252       if t.count > 0 then
253         a0.extend(t.count);
254         a1.extend(t.count);
255         a2.extend(t.count);
256         ddindx := t.first;
257         indx := 1;
258         while true loop
259           a0(indx) := t(ddindx).index1;
260           a1(indx) := t(ddindx).date1;
261           a2(indx) := t(ddindx).other;
262           indx := indx+1;
263           if t.last =ddindx
264             then exit;
265           end if;
266           ddindx := t.next(ddindx);
267         end loop;
268       end if;
269    end if;
270   end rosetta_table_copy_out_p6;
271 
272   procedure rosetta_table_copy_in_p8(t out nocopy eam_pmdef_pub.pm_num_tbl_type, a0 JTF_NUMBER_TABLE
273     , a1 JTF_NUMBER_TABLE
274     , a2 JTF_NUMBER_TABLE
275     ) as
276     ddindx binary_integer; indx binary_integer;
277   begin
278   if a0 is not null and a0.count > 0 then
279       if a0.count > 0 then
280         indx := a0.first;
281         ddindx := 1;
282         while true loop
283           t(ddindx).index1 := a0(indx);
284           t(ddindx).num1 := a1(indx);
285           t(ddindx).other := a2(indx);
286           ddindx := ddindx+1;
287           if a0.last =indx
288             then exit;
289           end if;
290           indx := a0.next(indx);
291         end loop;
292       end if;
293    end if;
294   end rosetta_table_copy_in_p8;
295   procedure rosetta_table_copy_out_p8(t eam_pmdef_pub.pm_num_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
296     , a1 out nocopy JTF_NUMBER_TABLE
297     , a2 out nocopy JTF_NUMBER_TABLE
298     ) as
299     ddindx binary_integer; indx binary_integer;
300   begin
301   if t is null or t.count = 0 then
302     a0 := JTF_NUMBER_TABLE();
303     a1 := JTF_NUMBER_TABLE();
304     a2 := JTF_NUMBER_TABLE();
305   else
306       a0 := JTF_NUMBER_TABLE();
307       a1 := JTF_NUMBER_TABLE();
308       a2 := JTF_NUMBER_TABLE();
309       if t.count > 0 then
310         a0.extend(t.count);
311         a1.extend(t.count);
312         a2.extend(t.count);
313         ddindx := t.first;
314         indx := 1;
315         while true loop
316           a0(indx) := t(ddindx).index1;
317           a1(indx) := t(ddindx).num1;
318           a2(indx) := t(ddindx).other;
319           indx := indx+1;
320           if t.last =ddindx
321             then exit;
322           end if;
323           ddindx := t.next(ddindx);
324         end loop;
325       end if;
326    end if;
327   end rosetta_table_copy_out_p8;
328 
329   procedure instantiate_pm_defs(p_api_version  NUMBER
330     , p_init_msg_list  VARCHAR2
331     , p_commit  VARCHAR2
332     , p_validation_level  NUMBER
333     , x_return_status out nocopy  VARCHAR2
334     , x_msg_count out nocopy  NUMBER
335     , x_msg_data out nocopy  VARCHAR2
336     , p_activity_assoc_id_tbl JTF_NUMBER_TABLE
337   )
338 
339   as
340     ddp_activity_assoc_id_tbl eam_objectinstantiation_pub.association_id_tbl_type;
341     ddindx binary_integer; indx binary_integer;
342   begin
343 
344     -- copy data to the local IN or IN-OUT args, if any
345 
346 
347 
348 
349 
350 
351 
352     eam_objectinstantiation_pub_w.rosetta_table_copy_in_p0(ddp_activity_assoc_id_tbl, p_activity_assoc_id_tbl);
353 
354     -- here's the delegated call to the old PL/SQL routine
355     eam_pmdef_pub.instantiate_pm_defs(p_api_version,
356       p_init_msg_list,
357       p_commit,
358       p_validation_level,
359       x_return_status,
360       x_msg_count,
361       x_msg_data,
362       ddp_activity_assoc_id_tbl);
363 
364     -- copy data back from the local variables to OUT or IN-OUT args, if any
365 
366 
367 
368 
369 
370 
371 
372   end;
373 
374   procedure create_pm_def(p_api_version  NUMBER
375     , p_init_msg_list  VARCHAR2
376     , p_commit  VARCHAR2
377     , p_validation_level  NUMBER
378     , x_return_status out nocopy  VARCHAR2
379     , x_msg_count out nocopy  NUMBER
380     , x_msg_data out nocopy  VARCHAR2
381     , p7_a0  NUMBER
382     , p7_a1  NUMBER
383     , p7_a2  VARCHAR2
384     , p7_a3  DATE
385     , p7_a4  DATE
386     , p7_a5  NUMBER
387     , p7_a6  NUMBER
388     , p7_a7  VARCHAR2
389     , p7_a8  VARCHAR2
390     , p7_a9  VARCHAR2
391     , p7_a10  VARCHAR2
392     , p7_a11  VARCHAR2
393     , p7_a12  VARCHAR2
394     , p7_a13  VARCHAR2
395     , p7_a14  VARCHAR2
396     , p7_a15  VARCHAR2
397     , p7_a16  VARCHAR2
398     , p7_a17  VARCHAR2
399     , p7_a18  VARCHAR2
400     , p7_a19  VARCHAR2
401     , p7_a20  VARCHAR2
402     , p7_a21  VARCHAR2
403     , p7_a22  VARCHAR2
404     , p7_a23  NUMBER
405     , p7_a24  VARCHAR2
406     , p7_a25  VARCHAR2
407     , p7_a26  VARCHAR2
408     , p7_a27  VARCHAR2
409     , p7_a28  VARCHAR2
410     , p7_a29  NUMBER
411     , p7_a30  NUMBER
412     , p7_a31  NUMBER
413     , p7_a32  DATE
414     , p7_a33  DATE
415     , p7_a34  NUMBER
416     , p7_a35  VARCHAR2
417     , p7_a36  VARCHAR2
418     , p7_a37  VARCHAR2
419     , p7_a38  NUMBER
420     , p7_a39  NUMBER
421     , p7_a40  NUMBER
422     , p7_a41  NUMBER
423     , p7_a42  NUMBER
424     , p7_a43  DATE
425     , p7_a44  NUMBER
426     , p7_a45  NUMBER
427     , p7_a46  NUMBER
428     , p7_a47  NUMBER
429     , p8_a0 JTF_NUMBER_TABLE
430     , p8_a1 JTF_NUMBER_TABLE
431     , p8_a2 JTF_NUMBER_TABLE
432     , p8_a3 JTF_VARCHAR2_TABLE_100
433     , p8_a4 JTF_NUMBER_TABLE
434     , p8_a5 JTF_DATE_TABLE
435     , p8_a6 JTF_DATE_TABLE
436     , p9_a0 JTF_NUMBER_TABLE
437     , p9_a1 JTF_NUMBER_TABLE
438     , p9_a2 JTF_NUMBER_TABLE
439     , p9_a3 JTF_NUMBER_TABLE
440     , p9_a4 JTF_NUMBER_TABLE
441     , p9_a5 JTF_NUMBER_TABLE
442     , p9_a6 JTF_NUMBER_TABLE
443     , p9_a7 JTF_NUMBER_TABLE
444     , p9_a8 JTF_NUMBER_TABLE
445     , p9_a9 JTF_DATE_TABLE
446     , p9_a10 JTF_DATE_TABLE
447     , p9_a11 JTF_DATE_TABLE
448     , p9_a12 JTF_VARCHAR2_TABLE_100
452     , p10_a3 JTF_NUMBER_TABLE
449     , p10_a0 JTF_NUMBER_TABLE
450     , p10_a1 JTF_NUMBER_TABLE
451     , p10_a2 JTF_NUMBER_TABLE
453     , p10_a4 JTF_NUMBER_TABLE
454     , p10_a5 JTF_NUMBER_TABLE
455     , p10_a6 JTF_NUMBER_TABLE
456     , p10_a7 JTF_NUMBER_TABLE
457     , p10_a8 JTF_NUMBER_TABLE
458     , p10_a9 JTF_DATE_TABLE
459     , p10_a10 JTF_DATE_TABLE
460     , p10_a11 JTF_DATE_TABLE
461     , p10_a12 JTF_VARCHAR2_TABLE_100
462     , p11_a0 JTF_NUMBER_TABLE
463     , p11_a1 JTF_NUMBER_TABLE
464     , p11_a2 JTF_NUMBER_TABLE
465     , p11_a3 JTF_NUMBER_TABLE
466     , p11_a4 JTF_NUMBER_TABLE
467     , p11_a5 JTF_NUMBER_TABLE
468     , p11_a6 JTF_NUMBER_TABLE
469     , p11_a7 JTF_NUMBER_TABLE
470     , p11_a8 JTF_NUMBER_TABLE
471     , p11_a9 JTF_DATE_TABLE
472     , p11_a10 JTF_DATE_TABLE
473     , p11_a11 JTF_DATE_TABLE
474     , p11_a12 JTF_VARCHAR2_TABLE_100
475     , x_new_pm_schedule_id out nocopy  NUMBER
476   )
477 
478   as
479     ddp_pm_schedule_rec eam_pmdef_pub.pm_scheduling_rec_type;
480     ddp_pm_activities_tbl eam_pmdef_pub.pm_activities_grp_tbl_type;
481     ddp_pm_day_interval_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
482     ddp_pm_runtime_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
483     ddp_pm_list_date_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
484     ddindx binary_integer; indx binary_integer;
485   begin
486 
487     -- copy data to the local IN or IN-OUT args, if any
488 
489 
490 
491 
492 
493 
494 
495     ddp_pm_schedule_rec.pm_schedule_id := p7_a0;
496     ddp_pm_schedule_rec.activity_association_id := p7_a1;
497     ddp_pm_schedule_rec.non_scheduled_flag := p7_a2;
498     ddp_pm_schedule_rec.from_effective_date := p7_a3;
499     ddp_pm_schedule_rec.to_effective_date := p7_a4;
500     ddp_pm_schedule_rec.rescheduling_point := p7_a5;
501     ddp_pm_schedule_rec.lead_time := p7_a6;
502     ddp_pm_schedule_rec.attribute_category := p7_a7;
503     ddp_pm_schedule_rec.attribute1 := p7_a8;
504     ddp_pm_schedule_rec.attribute2 := p7_a9;
505     ddp_pm_schedule_rec.attribute3 := p7_a10;
506     ddp_pm_schedule_rec.attribute4 := p7_a11;
507     ddp_pm_schedule_rec.attribute5 := p7_a12;
508     ddp_pm_schedule_rec.attribute6 := p7_a13;
509     ddp_pm_schedule_rec.attribute7 := p7_a14;
510     ddp_pm_schedule_rec.attribute8 := p7_a15;
511     ddp_pm_schedule_rec.attribute9 := p7_a16;
512     ddp_pm_schedule_rec.attribute10 := p7_a17;
513     ddp_pm_schedule_rec.attribute11 := p7_a18;
514     ddp_pm_schedule_rec.attribute12 := p7_a19;
515     ddp_pm_schedule_rec.attribute13 := p7_a20;
516     ddp_pm_schedule_rec.attribute14 := p7_a21;
517     ddp_pm_schedule_rec.attribute15 := p7_a22;
518     ddp_pm_schedule_rec.day_tolerance := p7_a23;
519     ddp_pm_schedule_rec.source_code := p7_a24;
520     ddp_pm_schedule_rec.source_line := p7_a25;
521     ddp_pm_schedule_rec.default_implement := p7_a26;
522     ddp_pm_schedule_rec.whichever_first := p7_a27;
523     ddp_pm_schedule_rec.include_manual := p7_a28;
524     ddp_pm_schedule_rec.set_name_id := p7_a29;
525     ddp_pm_schedule_rec.scheduling_method_code := p7_a30;
526     ddp_pm_schedule_rec.type_code := p7_a31;
527     ddp_pm_schedule_rec.next_service_start_date := p7_a32;
528     ddp_pm_schedule_rec.next_service_end_date := p7_a33;
529     ddp_pm_schedule_rec.source_tmpl_id := p7_a34;
530     ddp_pm_schedule_rec.auto_instantiation_flag := p7_a35;
531     ddp_pm_schedule_rec.name := p7_a36;
532     ddp_pm_schedule_rec.tmpl_flag := p7_a37;
533     ddp_pm_schedule_rec.generate_wo_status := p7_a38;
534     ddp_pm_schedule_rec.interval_per_cycle := p7_a39;
535     ddp_pm_schedule_rec.current_cycle := p7_a40;
536     ddp_pm_schedule_rec.current_seq := p7_a41;
537     ddp_pm_schedule_rec.current_wo_seq := p7_a42;
538     ddp_pm_schedule_rec.base_date := p7_a43;
539     ddp_pm_schedule_rec.base_reading := p7_a44;
540     ddp_pm_schedule_rec.eam_last_cyclic_act := p7_a45;
541     ddp_pm_schedule_rec.maintenance_object_id := p7_a46;
542     ddp_pm_schedule_rec.maintenance_object_type := p7_a47;
543 
544     eam_pmdef_pub_w.rosetta_table_copy_in_p2(ddp_pm_activities_tbl, p8_a0
545       , p8_a1
546       , p8_a2
547       , p8_a3
548       , p8_a4
549       , p8_a5
550       , p8_a6
551       );
552 
553     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_day_interval_rules_tbl, p9_a0
554       , p9_a1
555       , p9_a2
556       , p9_a3
557       , p9_a4
558       , p9_a5
559       , p9_a6
560       , p9_a7
561       , p9_a8
562       , p9_a9
563       , p9_a10
564       , p9_a11
565       , p9_a12
566       );
567 
568     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_runtime_rules_tbl, p10_a0
569       , p10_a1
570       , p10_a2
571       , p10_a3
572       , p10_a4
573       , p10_a5
574       , p10_a6
575       , p10_a7
576       , p10_a8
577       , p10_a9
578       , p10_a10
579       , p10_a11
580       , p10_a12
581       );
582 
583     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_list_date_rules_tbl, p11_a0
584       , p11_a1
585       , p11_a2
586       , p11_a3
587       , p11_a4
588       , p11_a5
592       , p11_a9
589       , p11_a6
590       , p11_a7
591       , p11_a8
593       , p11_a10
594       , p11_a11
595       , p11_a12
596       );
597 
598 
599     -- here's the delegated call to the old PL/SQL routine
600     eam_pmdef_pub.create_pm_def(p_api_version,
601       p_init_msg_list,
602       p_commit,
603       p_validation_level,
604       x_return_status,
605       x_msg_count,
606       x_msg_data,
607       ddp_pm_schedule_rec,
608       ddp_pm_activities_tbl,
609       ddp_pm_day_interval_rules_tbl,
610       ddp_pm_runtime_rules_tbl,
611       ddp_pm_list_date_rules_tbl,
612       x_new_pm_schedule_id);
613 
614     -- copy data back from the local variables to OUT or IN-OUT args, if any
615 
616 
617 
618 
619 
620 
621 
622 
623 
624 
625 
626 
627   end;
628 
629   procedure update_pm_def(p_api_version  NUMBER
630     , p_init_msg_list  VARCHAR2
631     , p_commit  VARCHAR2
632     , p_validation_level  NUMBER
633     , x_return_status out nocopy  VARCHAR2
634     , x_msg_count out nocopy  NUMBER
635     , x_msg_data out nocopy  VARCHAR2
636     , p7_a0  NUMBER
637     , p7_a1  NUMBER
638     , p7_a2  VARCHAR2
639     , p7_a3  DATE
640     , p7_a4  DATE
641     , p7_a5  NUMBER
642     , p7_a6  NUMBER
643     , p7_a7  VARCHAR2
644     , p7_a8  VARCHAR2
645     , p7_a9  VARCHAR2
646     , p7_a10  VARCHAR2
647     , p7_a11  VARCHAR2
648     , p7_a12  VARCHAR2
649     , p7_a13  VARCHAR2
650     , p7_a14  VARCHAR2
651     , p7_a15  VARCHAR2
652     , p7_a16  VARCHAR2
653     , p7_a17  VARCHAR2
654     , p7_a18  VARCHAR2
655     , p7_a19  VARCHAR2
656     , p7_a20  VARCHAR2
657     , p7_a21  VARCHAR2
658     , p7_a22  VARCHAR2
659     , p7_a23  NUMBER
660     , p7_a24  VARCHAR2
661     , p7_a25  VARCHAR2
662     , p7_a26  VARCHAR2
663     , p7_a27  VARCHAR2
664     , p7_a28  VARCHAR2
665     , p7_a29  NUMBER
666     , p7_a30  NUMBER
667     , p7_a31  NUMBER
668     , p7_a32  DATE
669     , p7_a33  DATE
670     , p7_a34  NUMBER
671     , p7_a35  VARCHAR2
672     , p7_a36  VARCHAR2
673     , p7_a37  VARCHAR2
674     , p7_a38  NUMBER
675     , p7_a39  NUMBER
676     , p7_a40  NUMBER
677     , p7_a41  NUMBER
678     , p7_a42  NUMBER
679     , p7_a43  DATE
680     , p7_a44  NUMBER
681     , p7_a45  NUMBER
682     , p7_a46  NUMBER
683     , p7_a47  NUMBER
684     , p8_a0 JTF_NUMBER_TABLE
685     , p8_a1 JTF_NUMBER_TABLE
686     , p8_a2 JTF_NUMBER_TABLE
687     , p8_a3 JTF_VARCHAR2_TABLE_100
688     , p8_a4 JTF_NUMBER_TABLE
689     , p8_a5 JTF_DATE_TABLE
690     , p8_a6 JTF_DATE_TABLE
691     , p9_a0 JTF_NUMBER_TABLE
692     , p9_a1 JTF_NUMBER_TABLE
693     , p9_a2 JTF_NUMBER_TABLE
694     , p9_a3 JTF_NUMBER_TABLE
695     , p9_a4 JTF_NUMBER_TABLE
696     , p9_a5 JTF_NUMBER_TABLE
697     , p9_a6 JTF_NUMBER_TABLE
698     , p9_a7 JTF_NUMBER_TABLE
699     , p9_a8 JTF_NUMBER_TABLE
700     , p9_a9 JTF_DATE_TABLE
701     , p9_a10 JTF_DATE_TABLE
702     , p9_a11 JTF_DATE_TABLE
703     , p9_a12 JTF_VARCHAR2_TABLE_100
704     , p10_a0 JTF_NUMBER_TABLE
705     , p10_a1 JTF_NUMBER_TABLE
706     , p10_a2 JTF_NUMBER_TABLE
707     , p10_a3 JTF_NUMBER_TABLE
708     , p10_a4 JTF_NUMBER_TABLE
709     , p10_a5 JTF_NUMBER_TABLE
710     , p10_a6 JTF_NUMBER_TABLE
711     , p10_a7 JTF_NUMBER_TABLE
712     , p10_a8 JTF_NUMBER_TABLE
713     , p10_a9 JTF_DATE_TABLE
714     , p10_a10 JTF_DATE_TABLE
715     , p10_a11 JTF_DATE_TABLE
716     , p10_a12 JTF_VARCHAR2_TABLE_100
717     , p11_a0 JTF_NUMBER_TABLE
718     , p11_a1 JTF_NUMBER_TABLE
719     , p11_a2 JTF_NUMBER_TABLE
720     , p11_a3 JTF_NUMBER_TABLE
721     , p11_a4 JTF_NUMBER_TABLE
722     , p11_a5 JTF_NUMBER_TABLE
723     , p11_a6 JTF_NUMBER_TABLE
724     , p11_a7 JTF_NUMBER_TABLE
725     , p11_a8 JTF_NUMBER_TABLE
726     , p11_a9 JTF_DATE_TABLE
727     , p11_a10 JTF_DATE_TABLE
728     , p11_a11 JTF_DATE_TABLE
729     , p11_a12 JTF_VARCHAR2_TABLE_100
730   )
731 
732   as
733     ddp_pm_schedule_rec eam_pmdef_pub.pm_scheduling_rec_type;
734     ddp_pm_activities_tbl eam_pmdef_pub.pm_activities_grp_tbl_type;
735     ddp_pm_day_interval_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
736     ddp_pm_runtime_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
737     ddp_pm_list_date_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
738     ddindx binary_integer; indx binary_integer;
739   begin
740 
741     -- copy data to the local IN or IN-OUT args, if any
742 
743 
744 
745 
746 
747 
748 
749     ddp_pm_schedule_rec.pm_schedule_id := p7_a0;
750     ddp_pm_schedule_rec.activity_association_id := p7_a1;
751     ddp_pm_schedule_rec.non_scheduled_flag := p7_a2;
752     ddp_pm_schedule_rec.from_effective_date := p7_a3;
753     ddp_pm_schedule_rec.to_effective_date := p7_a4;
754     ddp_pm_schedule_rec.rescheduling_point := p7_a5;
755     ddp_pm_schedule_rec.lead_time := p7_a6;
756     ddp_pm_schedule_rec.attribute_category := p7_a7;
760     ddp_pm_schedule_rec.attribute4 := p7_a11;
757     ddp_pm_schedule_rec.attribute1 := p7_a8;
758     ddp_pm_schedule_rec.attribute2 := p7_a9;
759     ddp_pm_schedule_rec.attribute3 := p7_a10;
761     ddp_pm_schedule_rec.attribute5 := p7_a12;
762     ddp_pm_schedule_rec.attribute6 := p7_a13;
763     ddp_pm_schedule_rec.attribute7 := p7_a14;
764     ddp_pm_schedule_rec.attribute8 := p7_a15;
765     ddp_pm_schedule_rec.attribute9 := p7_a16;
766     ddp_pm_schedule_rec.attribute10 := p7_a17;
767     ddp_pm_schedule_rec.attribute11 := p7_a18;
768     ddp_pm_schedule_rec.attribute12 := p7_a19;
769     ddp_pm_schedule_rec.attribute13 := p7_a20;
770     ddp_pm_schedule_rec.attribute14 := p7_a21;
771     ddp_pm_schedule_rec.attribute15 := p7_a22;
772     ddp_pm_schedule_rec.day_tolerance := p7_a23;
773     ddp_pm_schedule_rec.source_code := p7_a24;
774     ddp_pm_schedule_rec.source_line := p7_a25;
775     ddp_pm_schedule_rec.default_implement := p7_a26;
776     ddp_pm_schedule_rec.whichever_first := p7_a27;
777     ddp_pm_schedule_rec.include_manual := p7_a28;
778     ddp_pm_schedule_rec.set_name_id := p7_a29;
779     ddp_pm_schedule_rec.scheduling_method_code := p7_a30;
780     ddp_pm_schedule_rec.type_code := p7_a31;
781     ddp_pm_schedule_rec.next_service_start_date := p7_a32;
782     ddp_pm_schedule_rec.next_service_end_date := p7_a33;
783     ddp_pm_schedule_rec.source_tmpl_id := p7_a34;
784     ddp_pm_schedule_rec.auto_instantiation_flag := p7_a35;
785     ddp_pm_schedule_rec.name := p7_a36;
786     ddp_pm_schedule_rec.tmpl_flag := p7_a37;
787     ddp_pm_schedule_rec.generate_wo_status := p7_a38;
788     ddp_pm_schedule_rec.interval_per_cycle := p7_a39;
789     ddp_pm_schedule_rec.current_cycle := p7_a40;
790     ddp_pm_schedule_rec.current_seq := p7_a41;
791     ddp_pm_schedule_rec.current_wo_seq := p7_a42;
792     ddp_pm_schedule_rec.base_date := p7_a43;
793     ddp_pm_schedule_rec.base_reading := p7_a44;
794     ddp_pm_schedule_rec.eam_last_cyclic_act := p7_a45;
795     ddp_pm_schedule_rec.maintenance_object_id := p7_a46;
796     ddp_pm_schedule_rec.maintenance_object_type := p7_a47;
797 
798     eam_pmdef_pub_w.rosetta_table_copy_in_p2(ddp_pm_activities_tbl, p8_a0
799       , p8_a1
800       , p8_a2
801       , p8_a3
802       , p8_a4
803       , p8_a5
804       , p8_a6
805       );
806 
807     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_day_interval_rules_tbl, p9_a0
808       , p9_a1
809       , p9_a2
810       , p9_a3
811       , p9_a4
812       , p9_a5
813       , p9_a6
814       , p9_a7
815       , p9_a8
816       , p9_a9
817       , p9_a10
818       , p9_a11
819       , p9_a12
820       );
821 
822     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_runtime_rules_tbl, p10_a0
823       , p10_a1
824       , p10_a2
825       , p10_a3
826       , p10_a4
827       , p10_a5
828       , p10_a6
829       , p10_a7
830       , p10_a8
831       , p10_a9
832       , p10_a10
833       , p10_a11
834       , p10_a12
835       );
836 
837     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_list_date_rules_tbl, p11_a0
838       , p11_a1
839       , p11_a2
840       , p11_a3
841       , p11_a4
842       , p11_a5
843       , p11_a6
844       , p11_a7
845       , p11_a8
846       , p11_a9
847       , p11_a10
848       , p11_a11
849       , p11_a12
850       );
851 
852     -- here's the delegated call to the old PL/SQL routine
853     eam_pmdef_pub.update_pm_def(p_api_version,
854       p_init_msg_list,
855       p_commit,
856       p_validation_level,
857       x_return_status,
858       x_msg_count,
859       x_msg_data,
860       ddp_pm_schedule_rec,
861       ddp_pm_activities_tbl,
862       ddp_pm_day_interval_rules_tbl,
863       ddp_pm_runtime_rules_tbl,
864       ddp_pm_list_date_rules_tbl);
865 
866     -- copy data back from the local variables to OUT or IN-OUT args, if any
867 
868 
869 
870 
871 
872 
873 
874 
875 
876 
877 
878   end;
879 
880   procedure validate_pm_header(p0_a0  NUMBER
881     , p0_a1  NUMBER
882     , p0_a2  VARCHAR2
883     , p0_a3  DATE
884     , p0_a4  DATE
885     , p0_a5  NUMBER
886     , p0_a6  NUMBER
887     , p0_a7  VARCHAR2
888     , p0_a8  VARCHAR2
889     , p0_a9  VARCHAR2
890     , p0_a10  VARCHAR2
891     , p0_a11  VARCHAR2
892     , p0_a12  VARCHAR2
893     , p0_a13  VARCHAR2
894     , p0_a14  VARCHAR2
895     , p0_a15  VARCHAR2
896     , p0_a16  VARCHAR2
897     , p0_a17  VARCHAR2
898     , p0_a18  VARCHAR2
899     , p0_a19  VARCHAR2
900     , p0_a20  VARCHAR2
901     , p0_a21  VARCHAR2
902     , p0_a22  VARCHAR2
903     , p0_a23  NUMBER
904     , p0_a24  VARCHAR2
905     , p0_a25  VARCHAR2
906     , p0_a26  VARCHAR2
907     , p0_a27  VARCHAR2
908     , p0_a28  VARCHAR2
909     , p0_a29  NUMBER
910     , p0_a30  NUMBER
911     , p0_a31  NUMBER
912     , p0_a32  DATE
913     , p0_a33  DATE
914     , p0_a34  NUMBER
915     , p0_a35  VARCHAR2
919     , p0_a39  NUMBER
916     , p0_a36  VARCHAR2
917     , p0_a37  VARCHAR2
918     , p0_a38  NUMBER
920     , p0_a40  NUMBER
921     , p0_a41  NUMBER
922     , p0_a42  NUMBER
923     , p0_a43  DATE
924     , p0_a44  NUMBER
925     , p0_a45  NUMBER
926     , p0_a46  NUMBER
927     , p0_a47  NUMBER
928     , x_reason_failed out nocopy  VARCHAR2
929     , ddrosetta_retval_bool OUT NOCOPY NUMBER
930   )
931 
932   as
933     ddp_pm_schedule_rec eam_pmdef_pub.pm_scheduling_rec_type;
934     ddindx binary_integer; indx binary_integer;
935     ddrosetta_retval boolean;
936   begin
937 
938     -- copy data to the local IN or IN-OUT args, if any
939     ddp_pm_schedule_rec.pm_schedule_id := p0_a0;
940     ddp_pm_schedule_rec.activity_association_id := p0_a1;
941     ddp_pm_schedule_rec.non_scheduled_flag := p0_a2;
942     ddp_pm_schedule_rec.from_effective_date := p0_a3;
943     ddp_pm_schedule_rec.to_effective_date := p0_a4;
944     ddp_pm_schedule_rec.rescheduling_point := p0_a5;
945     ddp_pm_schedule_rec.lead_time := p0_a6;
946     ddp_pm_schedule_rec.attribute_category := p0_a7;
947     ddp_pm_schedule_rec.attribute1 := p0_a8;
948     ddp_pm_schedule_rec.attribute2 := p0_a9;
949     ddp_pm_schedule_rec.attribute3 := p0_a10;
950     ddp_pm_schedule_rec.attribute4 := p0_a11;
951     ddp_pm_schedule_rec.attribute5 := p0_a12;
952     ddp_pm_schedule_rec.attribute6 := p0_a13;
953     ddp_pm_schedule_rec.attribute7 := p0_a14;
954     ddp_pm_schedule_rec.attribute8 := p0_a15;
955     ddp_pm_schedule_rec.attribute9 := p0_a16;
956     ddp_pm_schedule_rec.attribute10 := p0_a17;
957     ddp_pm_schedule_rec.attribute11 := p0_a18;
958     ddp_pm_schedule_rec.attribute12 := p0_a19;
959     ddp_pm_schedule_rec.attribute13 := p0_a20;
960     ddp_pm_schedule_rec.attribute14 := p0_a21;
961     ddp_pm_schedule_rec.attribute15 := p0_a22;
962     ddp_pm_schedule_rec.day_tolerance := p0_a23;
963     ddp_pm_schedule_rec.source_code := p0_a24;
964     ddp_pm_schedule_rec.source_line := p0_a25;
965     ddp_pm_schedule_rec.default_implement := p0_a26;
966     ddp_pm_schedule_rec.whichever_first := p0_a27;
967     ddp_pm_schedule_rec.include_manual := p0_a28;
968     ddp_pm_schedule_rec.set_name_id := p0_a29;
969     ddp_pm_schedule_rec.scheduling_method_code := p0_a30;
970     ddp_pm_schedule_rec.type_code := p0_a31;
971     ddp_pm_schedule_rec.next_service_start_date := p0_a32;
972     ddp_pm_schedule_rec.next_service_end_date := p0_a33;
973     ddp_pm_schedule_rec.source_tmpl_id := p0_a34;
974     ddp_pm_schedule_rec.auto_instantiation_flag := p0_a35;
975     ddp_pm_schedule_rec.name := p0_a36;
976     ddp_pm_schedule_rec.tmpl_flag := p0_a37;
977     ddp_pm_schedule_rec.generate_wo_status := p0_a38;
978     ddp_pm_schedule_rec.interval_per_cycle := p0_a39;
979     ddp_pm_schedule_rec.current_cycle := p0_a40;
980     ddp_pm_schedule_rec.current_seq := p0_a41;
981     ddp_pm_schedule_rec.current_wo_seq := p0_a42;
982     ddp_pm_schedule_rec.base_date := p0_a43;
983     ddp_pm_schedule_rec.base_reading := p0_a44;
984     ddp_pm_schedule_rec.eam_last_cyclic_act := p0_a45;
985     ddp_pm_schedule_rec.maintenance_object_id := p0_a46;
986     ddp_pm_schedule_rec.maintenance_object_type := p0_a47;
987 
988 
989     -- here's the delegated call to the old PL/SQL routine
990     ddrosetta_retval := eam_pmdef_pub.validate_pm_header(ddp_pm_schedule_rec,
991       x_reason_failed);
992 
993     -- copy data back from the local variables to OUT or IN-OUT args, if any
994     if ddrosetta_retval is null
995       then ddrosetta_retval_bool := null;
996     elsif ddrosetta_retval
997       then ddrosetta_retval_bool := 1;
998     else ddrosetta_retval_bool := 0;
999     end if;
1000 
1001   end;
1002 
1003   procedure validate_pm_day_interval_rule(p0_a0  NUMBER
1004     , p0_a1  NUMBER
1005     , p0_a2  NUMBER
1006     , p0_a3  NUMBER
1007     , p0_a4  NUMBER
1008     , p0_a5  NUMBER
1009     , p0_a6  NUMBER
1010     , p0_a7  NUMBER
1011     , p0_a8  NUMBER
1012     , p0_a9  DATE
1013     , p0_a10  DATE
1014     , p0_a11  DATE
1015     , p0_a12  VARCHAR2
1016     , x_reason_failed out nocopy  VARCHAR2
1017     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1018   )
1019 
1020   as
1021     ddp_pm_rule_rec eam_pmdef_pub.pm_rule_rec_type;
1022     ddindx binary_integer; indx binary_integer;
1023     ddrosetta_retval boolean;
1024   begin
1025 
1026     -- copy data to the local IN or IN-OUT args, if any
1027     ddp_pm_rule_rec.rule_id := p0_a0;
1028     ddp_pm_rule_rec.pm_schedule_id := p0_a1;
1029     ddp_pm_rule_rec.rule_type := p0_a2;
1030     ddp_pm_rule_rec.day_interval := p0_a3;
1031     ddp_pm_rule_rec.meter_id := p0_a4;
1032     ddp_pm_rule_rec.runtime_interval := p0_a5;
1033     ddp_pm_rule_rec.last_service_reading := p0_a6;
1034     ddp_pm_rule_rec.effective_reading_from := p0_a7;
1035     ddp_pm_rule_rec.effective_reading_to := p0_a8;
1036     ddp_pm_rule_rec.effective_date_from := p0_a9;
1037     ddp_pm_rule_rec.effective_date_to := p0_a10;
1038     ddp_pm_rule_rec.list_date := p0_a11;
1039     ddp_pm_rule_rec.list_date_desc := p0_a12;
1040 
1041 
1042     -- here's the delegated call to the old PL/SQL routine
1043     ddrosetta_retval := eam_pmdef_pub.validate_pm_day_interval_rule(ddp_pm_rule_rec,
1047     if ddrosetta_retval is null
1044       x_reason_failed);
1045 
1046     -- copy data back from the local variables to OUT or IN-OUT args, if any
1048       then ddrosetta_retval_bool := null;
1049     elsif ddrosetta_retval
1050       then ddrosetta_retval_bool := 1;
1051     else ddrosetta_retval_bool := 0;
1052     end if;
1053 
1054   end;
1055 
1056   procedure validate_pm_runtime_rule(p0_a0  NUMBER
1057     , p0_a1  NUMBER
1058     , p0_a2  NUMBER
1059     , p0_a3  NUMBER
1060     , p0_a4  NUMBER
1061     , p0_a5  NUMBER
1062     , p0_a6  NUMBER
1063     , p0_a7  NUMBER
1064     , p0_a8  NUMBER
1065     , p0_a9  DATE
1066     , p0_a10  DATE
1067     , p0_a11  DATE
1068     , p0_a12  VARCHAR2
1069     , x_reason_failed out nocopy  VARCHAR2
1070     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1071   )
1072 
1073   as
1074     ddp_pm_rule_rec eam_pmdef_pub.pm_rule_rec_type;
1075     ddindx binary_integer; indx binary_integer;
1076     ddrosetta_retval boolean;
1077   begin
1078 
1079     -- copy data to the local IN or IN-OUT args, if any
1080     ddp_pm_rule_rec.rule_id := p0_a0;
1081     ddp_pm_rule_rec.pm_schedule_id := p0_a1;
1082     ddp_pm_rule_rec.rule_type := p0_a2;
1083     ddp_pm_rule_rec.day_interval := p0_a3;
1084     ddp_pm_rule_rec.meter_id := p0_a4;
1085     ddp_pm_rule_rec.runtime_interval := p0_a5;
1086     ddp_pm_rule_rec.last_service_reading := p0_a6;
1087     ddp_pm_rule_rec.effective_reading_from := p0_a7;
1088     ddp_pm_rule_rec.effective_reading_to := p0_a8;
1089     ddp_pm_rule_rec.effective_date_from := p0_a9;
1090     ddp_pm_rule_rec.effective_date_to := p0_a10;
1091     ddp_pm_rule_rec.list_date := p0_a11;
1092     ddp_pm_rule_rec.list_date_desc := p0_a12;
1093 
1094 
1095     -- here's the delegated call to the old PL/SQL routine
1096     ddrosetta_retval := eam_pmdef_pub.validate_pm_runtime_rule(ddp_pm_rule_rec,
1097       x_reason_failed);
1098 
1099     -- copy data back from the local variables to OUT or IN-OUT args, if any
1100     if ddrosetta_retval is null
1101       then ddrosetta_retval_bool := null;
1102     elsif ddrosetta_retval
1103       then ddrosetta_retval_bool := 1;
1104     else ddrosetta_retval_bool := 0;
1105     end if;
1106 
1107   end;
1108 
1109   procedure validate_pm_list_date(p0_a0  NUMBER
1110     , p0_a1  NUMBER
1111     , p0_a2  NUMBER
1112     , p0_a3  NUMBER
1113     , p0_a4  NUMBER
1114     , p0_a5  NUMBER
1115     , p0_a6  NUMBER
1116     , p0_a7  NUMBER
1117     , p0_a8  NUMBER
1118     , p0_a9  DATE
1119     , p0_a10  DATE
1120     , p0_a11  DATE
1121     , p0_a12  VARCHAR2
1122     , x_reason_failed out nocopy  VARCHAR2
1123     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1124   )
1125 
1126   as
1127     ddp_pm_rule_rec eam_pmdef_pub.pm_rule_rec_type;
1128     ddindx binary_integer; indx binary_integer;
1129     ddrosetta_retval boolean;
1130   begin
1131 
1132     -- copy data to the local IN or IN-OUT args, if any
1133     ddp_pm_rule_rec.rule_id := p0_a0;
1134     ddp_pm_rule_rec.pm_schedule_id := p0_a1;
1135     ddp_pm_rule_rec.rule_type := p0_a2;
1136     ddp_pm_rule_rec.day_interval := p0_a3;
1137     ddp_pm_rule_rec.meter_id := p0_a4;
1138     ddp_pm_rule_rec.runtime_interval := p0_a5;
1139     ddp_pm_rule_rec.last_service_reading := p0_a6;
1140     ddp_pm_rule_rec.effective_reading_from := p0_a7;
1141     ddp_pm_rule_rec.effective_reading_to := p0_a8;
1142     ddp_pm_rule_rec.effective_date_from := p0_a9;
1143     ddp_pm_rule_rec.effective_date_to := p0_a10;
1144     ddp_pm_rule_rec.list_date := p0_a11;
1145     ddp_pm_rule_rec.list_date_desc := p0_a12;
1146 
1147 
1148     -- here's the delegated call to the old PL/SQL routine
1149     ddrosetta_retval := eam_pmdef_pub.validate_pm_list_date(ddp_pm_rule_rec,
1150       x_reason_failed);
1151 
1152     -- copy data back from the local variables to OUT or IN-OUT args, if any
1153     if ddrosetta_retval is null
1154       then ddrosetta_retval_bool := null;
1155     elsif ddrosetta_retval
1156       then ddrosetta_retval_bool := 1;
1157     else ddrosetta_retval_bool := 0;
1158     end if;
1159 
1160   end;
1161 
1162   procedure validate_pm_day_interval_rules(p0_a0 JTF_NUMBER_TABLE
1163     , p0_a1 JTF_NUMBER_TABLE
1164     , p0_a2 JTF_NUMBER_TABLE
1165     , p0_a3 JTF_NUMBER_TABLE
1166     , p0_a4 JTF_NUMBER_TABLE
1167     , p0_a5 JTF_NUMBER_TABLE
1168     , p0_a6 JTF_NUMBER_TABLE
1169     , p0_a7 JTF_NUMBER_TABLE
1170     , p0_a8 JTF_NUMBER_TABLE
1171     , p0_a9 JTF_DATE_TABLE
1172     , p0_a10 JTF_DATE_TABLE
1173     , p0_a11 JTF_DATE_TABLE
1174     , p0_a12 JTF_VARCHAR2_TABLE_100
1175     , x_reason_failed out nocopy  VARCHAR2
1176     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1177   )
1178 
1179   as
1180     ddp_pm_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1181     ddindx binary_integer; indx binary_integer;
1182     ddrosetta_retval boolean;
1183   begin
1184 
1185     -- copy data to the local IN or IN-OUT args, if any
1186     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_rules_tbl, p0_a0
1187       , p0_a1
1188       , p0_a2
1189       , p0_a3
1190       , p0_a4
1191       , p0_a5
1192       , p0_a6
1196       , p0_a10
1193       , p0_a7
1194       , p0_a8
1195       , p0_a9
1197       , p0_a11
1198       , p0_a12
1199       );
1200 
1201 
1202     -- here's the delegated call to the old PL/SQL routine
1203     ddrosetta_retval := eam_pmdef_pub.validate_pm_day_interval_rules(ddp_pm_rules_tbl,
1204       x_reason_failed);
1205 
1206     -- copy data back from the local variables to OUT or IN-OUT args, if any
1207     if ddrosetta_retval is null
1208       then ddrosetta_retval_bool := null;
1209     elsif ddrosetta_retval
1210       then ddrosetta_retval_bool := 1;
1211     else ddrosetta_retval_bool := 0;
1212     end if;
1213 
1214   end;
1215 
1216   procedure validate_pm_runtime_rules(p0_a0 JTF_NUMBER_TABLE
1217     , p0_a1 JTF_NUMBER_TABLE
1218     , p0_a2 JTF_NUMBER_TABLE
1219     , p0_a3 JTF_NUMBER_TABLE
1220     , p0_a4 JTF_NUMBER_TABLE
1221     , p0_a5 JTF_NUMBER_TABLE
1222     , p0_a6 JTF_NUMBER_TABLE
1223     , p0_a7 JTF_NUMBER_TABLE
1224     , p0_a8 JTF_NUMBER_TABLE
1225     , p0_a9 JTF_DATE_TABLE
1226     , p0_a10 JTF_DATE_TABLE
1227     , p0_a11 JTF_DATE_TABLE
1228     , p0_a12 JTF_VARCHAR2_TABLE_100
1229     , x_reason_failed out nocopy  VARCHAR2
1230     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1231   )
1232 
1233   as
1234     ddp_pm_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1235     ddindx binary_integer; indx binary_integer;
1236     ddrosetta_retval boolean;
1237   begin
1238 
1239     -- copy data to the local IN or IN-OUT args, if any
1240     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_rules_tbl, p0_a0
1241       , p0_a1
1242       , p0_a2
1243       , p0_a3
1244       , p0_a4
1245       , p0_a5
1246       , p0_a6
1247       , p0_a7
1248       , p0_a8
1249       , p0_a9
1250       , p0_a10
1251       , p0_a11
1252       , p0_a12
1253       );
1254 
1255 
1256     -- here's the delegated call to the old PL/SQL routine
1257     ddrosetta_retval := eam_pmdef_pub.validate_pm_runtime_rules(ddp_pm_rules_tbl,
1258       x_reason_failed);
1259 
1260     -- copy data back from the local variables to OUT or IN-OUT args, if any
1261     if ddrosetta_retval is null
1262       then ddrosetta_retval_bool := null;
1263     elsif ddrosetta_retval
1264       then ddrosetta_retval_bool := 1;
1265     else ddrosetta_retval_bool := 0;
1266     end if;
1267 
1268   end;
1269 
1270   procedure validate_pm_list_date_rules(p0_a0 JTF_NUMBER_TABLE
1271     , p0_a1 JTF_NUMBER_TABLE
1272     , p0_a2 JTF_NUMBER_TABLE
1273     , p0_a3 JTF_NUMBER_TABLE
1274     , p0_a4 JTF_NUMBER_TABLE
1275     , p0_a5 JTF_NUMBER_TABLE
1276     , p0_a6 JTF_NUMBER_TABLE
1277     , p0_a7 JTF_NUMBER_TABLE
1278     , p0_a8 JTF_NUMBER_TABLE
1279     , p0_a9 JTF_DATE_TABLE
1280     , p0_a10 JTF_DATE_TABLE
1281     , p0_a11 JTF_DATE_TABLE
1282     , p0_a12 JTF_VARCHAR2_TABLE_100
1283     , x_reason_failed out nocopy  VARCHAR2
1284     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1285   )
1286 
1287   as
1288     ddp_pm_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1289     ddindx binary_integer; indx binary_integer;
1290     ddrosetta_retval boolean;
1291   begin
1292 
1293     -- copy data to the local IN or IN-OUT args, if any
1294     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_rules_tbl, p0_a0
1295       , p0_a1
1296       , p0_a2
1297       , p0_a3
1298       , p0_a4
1299       , p0_a5
1300       , p0_a6
1301       , p0_a7
1302       , p0_a8
1303       , p0_a9
1304       , p0_a10
1305       , p0_a11
1306       , p0_a12
1307       );
1308 
1309 
1310     -- here's the delegated call to the old PL/SQL routine
1311     ddrosetta_retval := eam_pmdef_pub.validate_pm_list_date_rules(ddp_pm_rules_tbl,
1312       x_reason_failed);
1313 
1314     -- copy data back from the local variables to OUT or IN-OUT args, if any
1315     if ddrosetta_retval is null
1316       then ddrosetta_retval_bool := null;
1317     elsif ddrosetta_retval
1318       then ddrosetta_retval_bool := 1;
1319     else ddrosetta_retval_bool := 0;
1320     end if;
1321 
1322   end;
1323 
1324   procedure validate_pm_header_and_rules(p0_a0  NUMBER
1325     , p0_a1  NUMBER
1326     , p0_a2  VARCHAR2
1327     , p0_a3  DATE
1328     , p0_a4  DATE
1329     , p0_a5  NUMBER
1330     , p0_a6  NUMBER
1331     , p0_a7  VARCHAR2
1332     , p0_a8  VARCHAR2
1333     , p0_a9  VARCHAR2
1334     , p0_a10  VARCHAR2
1335     , p0_a11  VARCHAR2
1336     , p0_a12  VARCHAR2
1337     , p0_a13  VARCHAR2
1338     , p0_a14  VARCHAR2
1339     , p0_a15  VARCHAR2
1340     , p0_a16  VARCHAR2
1341     , p0_a17  VARCHAR2
1342     , p0_a18  VARCHAR2
1343     , p0_a19  VARCHAR2
1344     , p0_a20  VARCHAR2
1345     , p0_a21  VARCHAR2
1346     , p0_a22  VARCHAR2
1347     , p0_a23  NUMBER
1348     , p0_a24  VARCHAR2
1349     , p0_a25  VARCHAR2
1350     , p0_a26  VARCHAR2
1351     , p0_a27  VARCHAR2
1352     , p0_a28  VARCHAR2
1353     , p0_a29  NUMBER
1354     , p0_a30  NUMBER
1355     , p0_a31  NUMBER
1356     , p0_a32  DATE
1357     , p0_a33  DATE
1361     , p0_a37  VARCHAR2
1358     , p0_a34  NUMBER
1359     , p0_a35  VARCHAR2
1360     , p0_a36  VARCHAR2
1362     , p0_a38  NUMBER
1363     , p0_a39  NUMBER
1364     , p0_a40  NUMBER
1365     , p0_a41  NUMBER
1366     , p0_a42  NUMBER
1367     , p0_a43  DATE
1368     , p0_a44  NUMBER
1369     , p0_a45  NUMBER
1370     , p0_a46  NUMBER
1371     , p0_a47  NUMBER
1372     , p1_a0 JTF_NUMBER_TABLE
1373     , p1_a1 JTF_NUMBER_TABLE
1374     , p1_a2 JTF_NUMBER_TABLE
1375     , p1_a3 JTF_NUMBER_TABLE
1376     , p1_a4 JTF_NUMBER_TABLE
1377     , p1_a5 JTF_NUMBER_TABLE
1378     , p1_a6 JTF_NUMBER_TABLE
1379     , p1_a7 JTF_NUMBER_TABLE
1380     , p1_a8 JTF_NUMBER_TABLE
1381     , p1_a9 JTF_DATE_TABLE
1382     , p1_a10 JTF_DATE_TABLE
1383     , p1_a11 JTF_DATE_TABLE
1384     , p1_a12 JTF_VARCHAR2_TABLE_100
1385     , p2_a0 JTF_NUMBER_TABLE
1386     , p2_a1 JTF_NUMBER_TABLE
1387     , p2_a2 JTF_NUMBER_TABLE
1388     , p2_a3 JTF_NUMBER_TABLE
1389     , p2_a4 JTF_NUMBER_TABLE
1390     , p2_a5 JTF_NUMBER_TABLE
1391     , p2_a6 JTF_NUMBER_TABLE
1392     , p2_a7 JTF_NUMBER_TABLE
1393     , p2_a8 JTF_NUMBER_TABLE
1394     , p2_a9 JTF_DATE_TABLE
1395     , p2_a10 JTF_DATE_TABLE
1396     , p2_a11 JTF_DATE_TABLE
1397     , p2_a12 JTF_VARCHAR2_TABLE_100
1398     , p3_a0 JTF_NUMBER_TABLE
1399     , p3_a1 JTF_NUMBER_TABLE
1400     , p3_a2 JTF_NUMBER_TABLE
1401     , p3_a3 JTF_NUMBER_TABLE
1402     , p3_a4 JTF_NUMBER_TABLE
1403     , p3_a5 JTF_NUMBER_TABLE
1404     , p3_a6 JTF_NUMBER_TABLE
1405     , p3_a7 JTF_NUMBER_TABLE
1406     , p3_a8 JTF_NUMBER_TABLE
1407     , p3_a9 JTF_DATE_TABLE
1408     , p3_a10 JTF_DATE_TABLE
1409     , p3_a11 JTF_DATE_TABLE
1410     , p3_a12 JTF_VARCHAR2_TABLE_100
1411     , x_reason_failed out nocopy  VARCHAR2
1412     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1413   )
1414 
1415   as
1416     ddp_pm_schedule_rec eam_pmdef_pub.pm_scheduling_rec_type;
1417     ddp_pm_day_interval_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1418     ddp_pm_runtime_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1419     ddp_pm_list_date_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1420     ddindx binary_integer; indx binary_integer;
1421     ddrosetta_retval boolean;
1422   begin
1423 
1424     -- copy data to the local IN or IN-OUT args, if any
1425     ddp_pm_schedule_rec.pm_schedule_id := p0_a0;
1426     ddp_pm_schedule_rec.activity_association_id := p0_a1;
1427     ddp_pm_schedule_rec.non_scheduled_flag := p0_a2;
1428     ddp_pm_schedule_rec.from_effective_date := p0_a3;
1429     ddp_pm_schedule_rec.to_effective_date := p0_a4;
1430     ddp_pm_schedule_rec.rescheduling_point := p0_a5;
1431     ddp_pm_schedule_rec.lead_time := p0_a6;
1432     ddp_pm_schedule_rec.attribute_category := p0_a7;
1433     ddp_pm_schedule_rec.attribute1 := p0_a8;
1434     ddp_pm_schedule_rec.attribute2 := p0_a9;
1435     ddp_pm_schedule_rec.attribute3 := p0_a10;
1436     ddp_pm_schedule_rec.attribute4 := p0_a11;
1437     ddp_pm_schedule_rec.attribute5 := p0_a12;
1438     ddp_pm_schedule_rec.attribute6 := p0_a13;
1439     ddp_pm_schedule_rec.attribute7 := p0_a14;
1440     ddp_pm_schedule_rec.attribute8 := p0_a15;
1441     ddp_pm_schedule_rec.attribute9 := p0_a16;
1442     ddp_pm_schedule_rec.attribute10 := p0_a17;
1443     ddp_pm_schedule_rec.attribute11 := p0_a18;
1444     ddp_pm_schedule_rec.attribute12 := p0_a19;
1445     ddp_pm_schedule_rec.attribute13 := p0_a20;
1446     ddp_pm_schedule_rec.attribute14 := p0_a21;
1447     ddp_pm_schedule_rec.attribute15 := p0_a22;
1448     ddp_pm_schedule_rec.day_tolerance := p0_a23;
1449     ddp_pm_schedule_rec.source_code := p0_a24;
1450     ddp_pm_schedule_rec.source_line := p0_a25;
1451     ddp_pm_schedule_rec.default_implement := p0_a26;
1452     ddp_pm_schedule_rec.whichever_first := p0_a27;
1453     ddp_pm_schedule_rec.include_manual := p0_a28;
1454     ddp_pm_schedule_rec.set_name_id := p0_a29;
1455     ddp_pm_schedule_rec.scheduling_method_code := p0_a30;
1456     ddp_pm_schedule_rec.type_code := p0_a31;
1457     ddp_pm_schedule_rec.next_service_start_date := p0_a32;
1458     ddp_pm_schedule_rec.next_service_end_date := p0_a33;
1459     ddp_pm_schedule_rec.source_tmpl_id := p0_a34;
1460     ddp_pm_schedule_rec.auto_instantiation_flag := p0_a35;
1461     ddp_pm_schedule_rec.name := p0_a36;
1462     ddp_pm_schedule_rec.tmpl_flag := p0_a37;
1463     ddp_pm_schedule_rec.generate_wo_status := p0_a38;
1464     ddp_pm_schedule_rec.interval_per_cycle := p0_a39;
1465     ddp_pm_schedule_rec.current_cycle := p0_a40;
1466     ddp_pm_schedule_rec.current_seq := p0_a41;
1467     ddp_pm_schedule_rec.current_wo_seq := p0_a42;
1468     ddp_pm_schedule_rec.base_date := p0_a43;
1469     ddp_pm_schedule_rec.base_reading := p0_a44;
1470     ddp_pm_schedule_rec.eam_last_cyclic_act := p0_a45;
1471     ddp_pm_schedule_rec.maintenance_object_id := p0_a46;
1472     ddp_pm_schedule_rec.maintenance_object_type := p0_a47;
1473 
1474     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_day_interval_rules_tbl, p1_a0
1475       , p1_a1
1476       , p1_a2
1477       , p1_a3
1478       , p1_a4
1479       , p1_a5
1480       , p1_a6
1481       , p1_a7
1482       , p1_a8
1483       , p1_a9
1484       , p1_a10
1485       , p1_a11
1486       , p1_a12
1487       );
1488 
1489     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_runtime_rules_tbl, p2_a0
1490       , p2_a1
1491       , p2_a2
1492       , p2_a3
1493       , p2_a4
1494       , p2_a5
1495       , p2_a6
1496       , p2_a7
1497       , p2_a8
1498       , p2_a9
1499       , p2_a10
1500       , p2_a11
1501       , p2_a12
1502       );
1503 
1504     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_list_date_rules_tbl, p3_a0
1505       , p3_a1
1506       , p3_a2
1507       , p3_a3
1508       , p3_a4
1509       , p3_a5
1510       , p3_a6
1511       , p3_a7
1512       , p3_a8
1513       , p3_a9
1514       , p3_a10
1515       , p3_a11
1516       , p3_a12
1517       );
1518 
1519 
1520     -- here's the delegated call to the old PL/SQL routine
1521     ddrosetta_retval := eam_pmdef_pub.validate_pm_header_and_rules(ddp_pm_schedule_rec,
1522       ddp_pm_day_interval_rules_tbl,
1523       ddp_pm_runtime_rules_tbl,
1524       ddp_pm_list_date_rules_tbl,
1525       x_reason_failed);
1526 
1527     -- copy data back from the local variables to OUT or IN-OUT args, if any
1528     if ddrosetta_retval is null
1529       then ddrosetta_retval_bool := null;
1530     elsif ddrosetta_retval
1531       then ddrosetta_retval_bool := 1;
1532     else ddrosetta_retval_bool := 0;
1533     end if;
1534 
1535 
1536 
1537 
1538   end;
1539 
1540   procedure validate_pm_activity(p0_a0  NUMBER
1541     , p0_a1  NUMBER
1542     , p0_a2  NUMBER
1543     , p0_a3  VARCHAR2
1544     , p0_a4  NUMBER
1545     , p0_a5  DATE
1546     , p0_a6  DATE
1547     , p1_a0 JTF_NUMBER_TABLE
1548     , p1_a1 JTF_NUMBER_TABLE
1549     , p1_a2 JTF_NUMBER_TABLE
1550     , p1_a3 JTF_NUMBER_TABLE
1551     , p1_a4 JTF_NUMBER_TABLE
1552     , p1_a5 JTF_NUMBER_TABLE
1553     , p1_a6 JTF_NUMBER_TABLE
1554     , p1_a7 JTF_NUMBER_TABLE
1555     , p1_a8 JTF_NUMBER_TABLE
1556     , p1_a9 JTF_DATE_TABLE
1557     , p1_a10 JTF_DATE_TABLE
1558     , p1_a11 JTF_DATE_TABLE
1559     , p1_a12 JTF_VARCHAR2_TABLE_100
1560     , p2_a0  NUMBER
1561     , p2_a1  NUMBER
1562     , p2_a2  VARCHAR2
1563     , p2_a3  DATE
1564     , p2_a4  DATE
1565     , p2_a5  NUMBER
1566     , p2_a6  NUMBER
1567     , p2_a7  VARCHAR2
1568     , p2_a8  VARCHAR2
1569     , p2_a9  VARCHAR2
1570     , p2_a10  VARCHAR2
1571     , p2_a11  VARCHAR2
1572     , p2_a12  VARCHAR2
1573     , p2_a13  VARCHAR2
1574     , p2_a14  VARCHAR2
1575     , p2_a15  VARCHAR2
1576     , p2_a16  VARCHAR2
1577     , p2_a17  VARCHAR2
1578     , p2_a18  VARCHAR2
1579     , p2_a19  VARCHAR2
1580     , p2_a20  VARCHAR2
1581     , p2_a21  VARCHAR2
1582     , p2_a22  VARCHAR2
1583     , p2_a23  NUMBER
1584     , p2_a24  VARCHAR2
1585     , p2_a25  VARCHAR2
1586     , p2_a26  VARCHAR2
1587     , p2_a27  VARCHAR2
1588     , p2_a28  VARCHAR2
1589     , p2_a29  NUMBER
1590     , p2_a30  NUMBER
1591     , p2_a31  NUMBER
1592     , p2_a32  DATE
1593     , p2_a33  DATE
1594     , p2_a34  NUMBER
1595     , p2_a35  VARCHAR2
1596     , p2_a36  VARCHAR2
1597     , p2_a37  VARCHAR2
1598     , p2_a38  NUMBER
1599     , p2_a39  NUMBER
1600     , p2_a40  NUMBER
1601     , p2_a41  NUMBER
1602     , p2_a42  NUMBER
1603     , p2_a43  DATE
1607     , p2_a47  NUMBER
1604     , p2_a44  NUMBER
1605     , p2_a45  NUMBER
1606     , p2_a46  NUMBER
1608     , x_reason_failed out nocopy  VARCHAR2
1609     , x_message out nocopy  VARCHAR2
1610     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1611   )
1612 
1613   as
1614     ddp_pm_activity_grp_rec eam_pmdef_pub.pm_activities_grp_rec_type;
1615     ddp_pm_runtime_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1616     ddp_pm_schedule_rec eam_pmdef_pub.pm_scheduling_rec_type;
1617     ddindx binary_integer; indx binary_integer;
1618     ddrosetta_retval boolean;
1619     l_activities varchar2(80);
1620   begin
1621 
1622     -- copy data to the local IN or IN-OUT args, if any
1623     ddp_pm_activity_grp_rec.pm_schedule_id := p0_a0;
1624     ddp_pm_activity_grp_rec.activity_association_id := p0_a1;
1625     ddp_pm_activity_grp_rec.interval_multiple := p0_a2;
1626     ddp_pm_activity_grp_rec.allow_repeat_in_cycle := p0_a3;
1627     ddp_pm_activity_grp_rec.day_tolerance := p0_a4;
1628     ddp_pm_activity_grp_rec.next_service_start_date := p0_a5;
1629     ddp_pm_activity_grp_rec.next_service_end_date := p0_a6;
1630 
1631     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_runtime_rules_tbl, p1_a0
1632       , p1_a1
1633       , p1_a2
1634       , p1_a3
1635       , p1_a4
1636       , p1_a5
1637       , p1_a6
1638       , p1_a7
1639       , p1_a8
1640       , p1_a9
1641       , p1_a10
1642       , p1_a11
1643       , p1_a12
1644       );
1645 
1646     ddp_pm_schedule_rec.pm_schedule_id := p2_a0;
1647     ddp_pm_schedule_rec.activity_association_id := p2_a1;
1648     ddp_pm_schedule_rec.non_scheduled_flag := p2_a2;
1649     ddp_pm_schedule_rec.from_effective_date := p2_a3;
1650     ddp_pm_schedule_rec.to_effective_date := p2_a4;
1651     ddp_pm_schedule_rec.rescheduling_point := p2_a5;
1652     ddp_pm_schedule_rec.lead_time := p2_a6;
1653     ddp_pm_schedule_rec.attribute_category := p2_a7;
1654     ddp_pm_schedule_rec.attribute1 := p2_a8;
1655     ddp_pm_schedule_rec.attribute2 := p2_a9;
1656     ddp_pm_schedule_rec.attribute3 := p2_a10;
1657     ddp_pm_schedule_rec.attribute4 := p2_a11;
1658     ddp_pm_schedule_rec.attribute5 := p2_a12;
1659     ddp_pm_schedule_rec.attribute6 := p2_a13;
1660     ddp_pm_schedule_rec.attribute7 := p2_a14;
1661     ddp_pm_schedule_rec.attribute8 := p2_a15;
1662     ddp_pm_schedule_rec.attribute9 := p2_a16;
1663     ddp_pm_schedule_rec.attribute10 := p2_a17;
1664     ddp_pm_schedule_rec.attribute11 := p2_a18;
1665     ddp_pm_schedule_rec.attribute12 := p2_a19;
1666     ddp_pm_schedule_rec.attribute13 := p2_a20;
1667     ddp_pm_schedule_rec.attribute14 := p2_a21;
1668     ddp_pm_schedule_rec.attribute15 := p2_a22;
1669     ddp_pm_schedule_rec.day_tolerance := p2_a23;
1670     ddp_pm_schedule_rec.source_code := p2_a24;
1671     ddp_pm_schedule_rec.source_line := p2_a25;
1672     ddp_pm_schedule_rec.default_implement := p2_a26;
1673     ddp_pm_schedule_rec.whichever_first := p2_a27;
1674     ddp_pm_schedule_rec.include_manual := p2_a28;
1675     ddp_pm_schedule_rec.set_name_id := p2_a29;
1676     ddp_pm_schedule_rec.scheduling_method_code := p2_a30;
1677     ddp_pm_schedule_rec.type_code := p2_a31;
1678     ddp_pm_schedule_rec.next_service_start_date := p2_a32;
1679     ddp_pm_schedule_rec.next_service_end_date := p2_a33;
1680     ddp_pm_schedule_rec.source_tmpl_id := p2_a34;
1681     ddp_pm_schedule_rec.auto_instantiation_flag := p2_a35;
1682     ddp_pm_schedule_rec.name := p2_a36;
1683     ddp_pm_schedule_rec.tmpl_flag := p2_a37;
1684     ddp_pm_schedule_rec.generate_wo_status := p2_a38;
1685     ddp_pm_schedule_rec.interval_per_cycle := p2_a39;
1686     ddp_pm_schedule_rec.current_cycle := p2_a40;
1687     ddp_pm_schedule_rec.current_seq := p2_a41;
1688     ddp_pm_schedule_rec.current_wo_seq := p2_a42;
1689     ddp_pm_schedule_rec.base_date := p2_a43;
1690     ddp_pm_schedule_rec.base_reading := p2_a44;
1691     ddp_pm_schedule_rec.eam_last_cyclic_act := p2_a45;
1692     ddp_pm_schedule_rec.maintenance_object_id := p2_a46;
1693     ddp_pm_schedule_rec.maintenance_object_type := p2_a47;
1694 
1695 
1696 
1697     -- here's the delegated call to the old PL/SQL routine
1698     ddrosetta_retval := eam_pmdef_pub.validate_pm_activity(ddp_pm_activity_grp_rec,
1699       ddp_pm_runtime_rules_tbl,
1700       ddp_pm_schedule_rec,
1701       x_reason_failed,
1702       x_message,
1703       l_activities);
1704 
1705     -- copy data back from the local variables to OUT or IN-OUT args, if any
1706     if ddrosetta_retval is null
1707       then ddrosetta_retval_bool := null;
1708     elsif ddrosetta_retval
1709       then ddrosetta_retval_bool := 1;
1710     else ddrosetta_retval_bool := 0;
1711     end if;
1712 
1713 
1714 
1715 
1716   end;
1717 
1718   procedure validate_pm_activity(p0_a0  NUMBER
1719     , p0_a1  NUMBER
1720     , p0_a2  NUMBER
1721     , p0_a3  VARCHAR2
1722     , p0_a4  NUMBER
1723     , p0_a5  DATE
1724     , p0_a6  DATE
1725     , p1_a0  NUMBER
1726     , p1_a1  NUMBER
1727     , p1_a2  VARCHAR2
1728     , p1_a3  DATE
1729     , p1_a4  DATE
1730     , p1_a5  NUMBER
1731     , p1_a6  NUMBER
1732     , p1_a7  VARCHAR2
1733     , p1_a8  VARCHAR2
1734     , p1_a9  VARCHAR2
1735     , p1_a10  VARCHAR2
1736     , p1_a11  VARCHAR2
1737     , p1_a12  VARCHAR2
1738     , p1_a13  VARCHAR2
1739     , p1_a14  VARCHAR2
1740     , p1_a15  VARCHAR2
1741     , p1_a16  VARCHAR2
1742     , p1_a17  VARCHAR2
1743     , p1_a18  VARCHAR2
1744     , p1_a19  VARCHAR2
1745     , p1_a20  VARCHAR2
1746     , p1_a21  VARCHAR2
1747     , p1_a22  VARCHAR2
1748     , p1_a23  NUMBER
1749     , p1_a24  VARCHAR2
1750     , p1_a25  VARCHAR2
1751     , p1_a26  VARCHAR2
1752     , p1_a27  VARCHAR2
1753     , p1_a28  VARCHAR2
1754     , p1_a29  NUMBER
1758     , p1_a33  DATE
1755     , p1_a30  NUMBER
1756     , p1_a31  NUMBER
1757     , p1_a32  DATE
1759     , p1_a34  NUMBER
1760     , p1_a35  VARCHAR2
1761     , p1_a36  VARCHAR2
1762     , p1_a37  VARCHAR2
1763     , p1_a38  NUMBER
1764     , p1_a39  NUMBER
1765     , p1_a40  NUMBER
1766     , p1_a41  NUMBER
1767     , p1_a42  NUMBER
1768     , p1_a43  DATE
1769     , p1_a44  NUMBER
1770     , p1_a45  NUMBER
1771     , p1_a46  NUMBER
1772     , p1_a47  NUMBER
1773     , x_reason_failed out nocopy  VARCHAR2
1774     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1775   )
1776 
1777   as
1778     ddp_pm_activity_grp_rec eam_pmdef_pub.pm_activities_grp_rec_type;
1779     ddp_pm_schedule_rec eam_pmdef_pub.pm_scheduling_rec_type;
1780     ddindx binary_integer; indx binary_integer;
1781     ddrosetta_retval boolean;
1782   begin
1783 
1784     -- copy data to the local IN or IN-OUT args, if any
1785     ddp_pm_activity_grp_rec.pm_schedule_id := p0_a0;
1786     ddp_pm_activity_grp_rec.activity_association_id := p0_a1;
1787     ddp_pm_activity_grp_rec.interval_multiple := p0_a2;
1788     ddp_pm_activity_grp_rec.allow_repeat_in_cycle := p0_a3;
1789     ddp_pm_activity_grp_rec.day_tolerance := p0_a4;
1790     ddp_pm_activity_grp_rec.next_service_start_date := p0_a5;
1791     ddp_pm_activity_grp_rec.next_service_end_date := p0_a6;
1792 
1793     ddp_pm_schedule_rec.pm_schedule_id := p1_a0;
1794     ddp_pm_schedule_rec.activity_association_id := p1_a1;
1795     ddp_pm_schedule_rec.non_scheduled_flag := p1_a2;
1796     ddp_pm_schedule_rec.from_effective_date := p1_a3;
1797     ddp_pm_schedule_rec.to_effective_date := p1_a4;
1798     ddp_pm_schedule_rec.rescheduling_point := p1_a5;
1799     ddp_pm_schedule_rec.lead_time := p1_a6;
1800     ddp_pm_schedule_rec.attribute_category := p1_a7;
1801     ddp_pm_schedule_rec.attribute1 := p1_a8;
1802     ddp_pm_schedule_rec.attribute2 := p1_a9;
1803     ddp_pm_schedule_rec.attribute3 := p1_a10;
1804     ddp_pm_schedule_rec.attribute4 := p1_a11;
1805     ddp_pm_schedule_rec.attribute5 := p1_a12;
1806     ddp_pm_schedule_rec.attribute6 := p1_a13;
1807     ddp_pm_schedule_rec.attribute7 := p1_a14;
1808     ddp_pm_schedule_rec.attribute8 := p1_a15;
1809     ddp_pm_schedule_rec.attribute9 := p1_a16;
1810     ddp_pm_schedule_rec.attribute10 := p1_a17;
1811     ddp_pm_schedule_rec.attribute11 := p1_a18;
1812     ddp_pm_schedule_rec.attribute12 := p1_a19;
1813     ddp_pm_schedule_rec.attribute13 := p1_a20;
1814     ddp_pm_schedule_rec.attribute14 := p1_a21;
1815     ddp_pm_schedule_rec.attribute15 := p1_a22;
1816     ddp_pm_schedule_rec.day_tolerance := p1_a23;
1817     ddp_pm_schedule_rec.source_code := p1_a24;
1818     ddp_pm_schedule_rec.source_line := p1_a25;
1819     ddp_pm_schedule_rec.default_implement := p1_a26;
1820     ddp_pm_schedule_rec.whichever_first := p1_a27;
1821     ddp_pm_schedule_rec.include_manual := p1_a28;
1822     ddp_pm_schedule_rec.set_name_id := p1_a29;
1823     ddp_pm_schedule_rec.scheduling_method_code := p1_a30;
1824     ddp_pm_schedule_rec.type_code := p1_a31;
1825     ddp_pm_schedule_rec.next_service_start_date := p1_a32;
1826     ddp_pm_schedule_rec.next_service_end_date := p1_a33;
1827     ddp_pm_schedule_rec.source_tmpl_id := p1_a34;
1828     ddp_pm_schedule_rec.auto_instantiation_flag := p1_a35;
1829     ddp_pm_schedule_rec.name := p1_a36;
1830     ddp_pm_schedule_rec.tmpl_flag := p1_a37;
1831     ddp_pm_schedule_rec.generate_wo_status := p1_a38;
1832     ddp_pm_schedule_rec.interval_per_cycle := p1_a39;
1833     ddp_pm_schedule_rec.current_cycle := p1_a40;
1834     ddp_pm_schedule_rec.current_seq := p1_a41;
1835     ddp_pm_schedule_rec.current_wo_seq := p1_a42;
1836     ddp_pm_schedule_rec.base_date := p1_a43;
1837     ddp_pm_schedule_rec.base_reading := p1_a44;
1838     ddp_pm_schedule_rec.eam_last_cyclic_act := p1_a45;
1839     ddp_pm_schedule_rec.maintenance_object_id := p1_a46;
1840     ddp_pm_schedule_rec.maintenance_object_type := p1_a47;
1841 
1842 
1843     -- here's the delegated call to the old PL/SQL routine
1844     ddrosetta_retval := eam_pmdef_pub.validate_pm_activity(ddp_pm_activity_grp_rec,
1845       ddp_pm_schedule_rec,
1846       x_reason_failed);
1847 
1848     -- copy data back from the local variables to OUT or IN-OUT args, if any
1849     if ddrosetta_retval is null
1850       then ddrosetta_retval_bool := null;
1851     elsif ddrosetta_retval
1852       then ddrosetta_retval_bool := 1;
1853     else ddrosetta_retval_bool := 0;
1854     end if;
1855 
1856 
1857   end;
1858 
1859   procedure validate_pm_activities(p0_a0 JTF_NUMBER_TABLE
1860     , p0_a1 JTF_NUMBER_TABLE
1861     , p0_a2 JTF_NUMBER_TABLE
1862     , p0_a3 JTF_VARCHAR2_TABLE_100
1863     , p0_a4 JTF_NUMBER_TABLE
1864     , p0_a5 JTF_DATE_TABLE
1865     , p0_a6 JTF_DATE_TABLE
1866     , p1_a0 JTF_NUMBER_TABLE
1867     , p1_a1 JTF_NUMBER_TABLE
1868     , p1_a2 JTF_NUMBER_TABLE
1869     , p1_a3 JTF_NUMBER_TABLE
1870     , p1_a4 JTF_NUMBER_TABLE
1871     , p1_a5 JTF_NUMBER_TABLE
1872     , p1_a6 JTF_NUMBER_TABLE
1873     , p1_a7 JTF_NUMBER_TABLE
1874     , p1_a8 JTF_NUMBER_TABLE
1875     , p1_a9 JTF_DATE_TABLE
1876     , p1_a10 JTF_DATE_TABLE
1877     , p1_a11 JTF_DATE_TABLE
1878     , p1_a12 JTF_VARCHAR2_TABLE_100
1879     , p2_a0  NUMBER
1880     , p2_a1  NUMBER
1881     , p2_a2  VARCHAR2
1882     , p2_a3  DATE
1883     , p2_a4  DATE
1884     , p2_a5  NUMBER
1885     , p2_a6  NUMBER
1886     , p2_a7  VARCHAR2
1887     , p2_a8  VARCHAR2
1888     , p2_a9  VARCHAR2
1889     , p2_a10  VARCHAR2
1890     , p2_a11  VARCHAR2
1891     , p2_a12  VARCHAR2
1892     , p2_a13  VARCHAR2
1893     , p2_a14  VARCHAR2
1894     , p2_a15  VARCHAR2
1895     , p2_a16  VARCHAR2
1896     , p2_a17  VARCHAR2
1897     , p2_a18  VARCHAR2
1898     , p2_a19  VARCHAR2
1899     , p2_a20  VARCHAR2
1903     , p2_a24  VARCHAR2
1900     , p2_a21  VARCHAR2
1901     , p2_a22  VARCHAR2
1902     , p2_a23  NUMBER
1904     , p2_a25  VARCHAR2
1905     , p2_a26  VARCHAR2
1906     , p2_a27  VARCHAR2
1907     , p2_a28  VARCHAR2
1908     , p2_a29  NUMBER
1909     , p2_a30  NUMBER
1910     , p2_a31  NUMBER
1911     , p2_a32  DATE
1912     , p2_a33  DATE
1913     , p2_a34  NUMBER
1914     , p2_a35  VARCHAR2
1915     , p2_a36  VARCHAR2
1916     , p2_a37  VARCHAR2
1917     , p2_a38  NUMBER
1918     , p2_a39  NUMBER
1919     , p2_a40  NUMBER
1920     , p2_a41  NUMBER
1921     , p2_a42  NUMBER
1922     , p2_a43  DATE
1923     , p2_a44  NUMBER
1924     , p2_a45  NUMBER
1925     , p2_a46  NUMBER
1926     , p2_a47  NUMBER
1927     , x_reason_failed out nocopy  VARCHAR2
1928     , x_message out nocopy  VARCHAR2
1929     , ddrosetta_retval_bool OUT NOCOPY NUMBER
1930   )
1931 
1932   as
1933     ddp_pm_activities_grp_tbl eam_pmdef_pub.pm_activities_grp_tbl_type;
1934     ddp_pm_runtime_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
1935     ddp_pm_schedule_rec eam_pmdef_pub.pm_scheduling_rec_type;
1936     ddindx binary_integer; indx binary_integer;
1937     ddrosetta_retval boolean;
1938     l_activities varchar2(80);
1939   begin
1940 
1941     -- copy data to the local IN or IN-OUT args, if any
1942     eam_pmdef_pub_w.rosetta_table_copy_in_p2(ddp_pm_activities_grp_tbl, p0_a0
1943       , p0_a1
1944       , p0_a2
1945       , p0_a3
1946       , p0_a4
1947       , p0_a5
1948       , p0_a6
1949       );
1950 
1951     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_pm_runtime_rules_tbl, p1_a0
1952       , p1_a1
1953       , p1_a2
1954       , p1_a3
1955       , p1_a4
1956       , p1_a5
1957       , p1_a6
1958       , p1_a7
1959       , p1_a8
1960       , p1_a9
1961       , p1_a10
1962       , p1_a11
1963       , p1_a12
1964       );
1965 
1966     ddp_pm_schedule_rec.pm_schedule_id := p2_a0;
1967     ddp_pm_schedule_rec.activity_association_id := p2_a1;
1968     ddp_pm_schedule_rec.non_scheduled_flag := p2_a2;
1969     ddp_pm_schedule_rec.from_effective_date := p2_a3;
1970     ddp_pm_schedule_rec.to_effective_date := p2_a4;
1971     ddp_pm_schedule_rec.rescheduling_point := p2_a5;
1972     ddp_pm_schedule_rec.lead_time := p2_a6;
1973     ddp_pm_schedule_rec.attribute_category := p2_a7;
1974     ddp_pm_schedule_rec.attribute1 := p2_a8;
1975     ddp_pm_schedule_rec.attribute2 := p2_a9;
1976     ddp_pm_schedule_rec.attribute3 := p2_a10;
1977     ddp_pm_schedule_rec.attribute4 := p2_a11;
1978     ddp_pm_schedule_rec.attribute5 := p2_a12;
1979     ddp_pm_schedule_rec.attribute6 := p2_a13;
1980     ddp_pm_schedule_rec.attribute7 := p2_a14;
1981     ddp_pm_schedule_rec.attribute8 := p2_a15;
1982     ddp_pm_schedule_rec.attribute9 := p2_a16;
1983     ddp_pm_schedule_rec.attribute10 := p2_a17;
1984     ddp_pm_schedule_rec.attribute11 := p2_a18;
1985     ddp_pm_schedule_rec.attribute12 := p2_a19;
1986     ddp_pm_schedule_rec.attribute13 := p2_a20;
1987     ddp_pm_schedule_rec.attribute14 := p2_a21;
1988     ddp_pm_schedule_rec.attribute15 := p2_a22;
1989     ddp_pm_schedule_rec.day_tolerance := p2_a23;
1990     ddp_pm_schedule_rec.source_code := p2_a24;
1991     ddp_pm_schedule_rec.source_line := p2_a25;
1992     ddp_pm_schedule_rec.default_implement := p2_a26;
1993     ddp_pm_schedule_rec.whichever_first := p2_a27;
1994     ddp_pm_schedule_rec.include_manual := p2_a28;
1995     ddp_pm_schedule_rec.set_name_id := p2_a29;
1996     ddp_pm_schedule_rec.scheduling_method_code := p2_a30;
1997     ddp_pm_schedule_rec.type_code := p2_a31;
1998     ddp_pm_schedule_rec.next_service_start_date := p2_a32;
1999     ddp_pm_schedule_rec.next_service_end_date := p2_a33;
2000     ddp_pm_schedule_rec.source_tmpl_id := p2_a34;
2001     ddp_pm_schedule_rec.auto_instantiation_flag := p2_a35;
2002     ddp_pm_schedule_rec.name := p2_a36;
2003     ddp_pm_schedule_rec.tmpl_flag := p2_a37;
2004     ddp_pm_schedule_rec.generate_wo_status := p2_a38;
2005     ddp_pm_schedule_rec.interval_per_cycle := p2_a39;
2006     ddp_pm_schedule_rec.current_cycle := p2_a40;
2007     ddp_pm_schedule_rec.current_seq := p2_a41;
2008     ddp_pm_schedule_rec.current_wo_seq := p2_a42;
2009     ddp_pm_schedule_rec.base_date := p2_a43;
2010     ddp_pm_schedule_rec.base_reading := p2_a44;
2011     ddp_pm_schedule_rec.eam_last_cyclic_act := p2_a45;
2012     ddp_pm_schedule_rec.maintenance_object_id := p2_a46;
2013     ddp_pm_schedule_rec.maintenance_object_type := p2_a47;
2014 
2015 
2016 
2017     -- here's the delegated call to the old PL/SQL routine
2018     ddrosetta_retval := eam_pmdef_pub.validate_pm_activities(ddp_pm_activities_grp_tbl,
2019       ddp_pm_runtime_rules_tbl,
2020       ddp_pm_schedule_rec,
2021       x_reason_failed,
2022       x_message,
2023       l_activities);
2024 
2025     -- copy data back from the local variables to OUT or IN-OUT args, if any
2026     if ddrosetta_retval is null
2027       then ddrosetta_retval_bool := null;
2028     elsif ddrosetta_retval
2029       then ddrosetta_retval_bool := 1;
2030     else ddrosetta_retval_bool := 0;
2031     end if;
2032 
2033 
2034 
2035 
2036   end;
2037 
2038   procedure sort_table_by_date(p0_a0 JTF_NUMBER_TABLE
2039     , p0_a1 JTF_DATE_TABLE
2040     , p0_a2 JTF_NUMBER_TABLE
2041     , p_num_rows  NUMBER
2042     , p2_a0 out nocopy JTF_NUMBER_TABLE
2043     , p2_a1 out nocopy JTF_DATE_TABLE
2044     , p2_a2 out nocopy JTF_NUMBER_TABLE
2045   )
2046 
2047   as
2048     ddp_date_table eam_pmdef_pub.pm_date_tbl_type;
2049     ddx_sorted_date_table eam_pmdef_pub.pm_date_tbl_type;
2050     ddindx binary_integer; indx binary_integer;
2051   begin
2052 
2053     -- copy data to the local IN or IN-OUT args, if any
2057       );
2054     eam_pmdef_pub_w.rosetta_table_copy_in_p6(ddp_date_table, p0_a0
2055       , p0_a1
2056       , p0_a2
2058 
2059 
2060 
2061     -- here's the delegated call to the old PL/SQL routine
2062     eam_pmdef_pub.sort_table_by_date(ddp_date_table,
2063       p_num_rows,
2064       ddx_sorted_date_table);
2065 
2066     -- copy data back from the local variables to OUT or IN-OUT args, if any
2067 
2068 
2069     eam_pmdef_pub_w.rosetta_table_copy_out_p6(ddx_sorted_date_table, p2_a0
2070       , p2_a1
2071       , p2_a2
2072       );
2073   end;
2074 
2075   procedure sort_table_by_number(p0_a0 JTF_NUMBER_TABLE
2076     , p0_a1 JTF_NUMBER_TABLE
2077     , p0_a2 JTF_NUMBER_TABLE
2078     , p_num_rows  NUMBER
2079     , p2_a0 out nocopy JTF_NUMBER_TABLE
2080     , p2_a1 out nocopy JTF_NUMBER_TABLE
2081     , p2_a2 out nocopy JTF_NUMBER_TABLE
2082   )
2083 
2084   as
2085     ddp_num_table eam_pmdef_pub.pm_num_tbl_type;
2086     ddx_sorted_num_table eam_pmdef_pub.pm_num_tbl_type;
2087     ddindx binary_integer; indx binary_integer;
2088   begin
2089 
2090     -- copy data to the local IN or IN-OUT args, if any
2091     eam_pmdef_pub_w.rosetta_table_copy_in_p8(ddp_num_table, p0_a0
2092       , p0_a1
2093       , p0_a2
2094       );
2095 
2096 
2097 
2098     -- here's the delegated call to the old PL/SQL routine
2099     eam_pmdef_pub.sort_table_by_number(ddp_num_table,
2100       p_num_rows,
2101       ddx_sorted_num_table);
2102 
2103     -- copy data back from the local variables to OUT or IN-OUT args, if any
2104 
2105 
2106     eam_pmdef_pub_w.rosetta_table_copy_out_p8(ddx_sorted_num_table, p2_a0
2107       , p2_a1
2108       , p2_a2
2109       );
2110   end;
2111 
2112   procedure merge_rules(p0_a0 JTF_NUMBER_TABLE
2113     , p0_a1 JTF_NUMBER_TABLE
2114     , p0_a2 JTF_NUMBER_TABLE
2115     , p0_a3 JTF_NUMBER_TABLE
2116     , p0_a4 JTF_NUMBER_TABLE
2117     , p0_a5 JTF_NUMBER_TABLE
2118     , p0_a6 JTF_NUMBER_TABLE
2119     , p0_a7 JTF_NUMBER_TABLE
2120     , p0_a8 JTF_NUMBER_TABLE
2121     , p0_a9 JTF_DATE_TABLE
2122     , p0_a10 JTF_DATE_TABLE
2123     , p0_a11 JTF_DATE_TABLE
2124     , p0_a12 JTF_VARCHAR2_TABLE_100
2125     , p1_a0 JTF_NUMBER_TABLE
2126     , p1_a1 JTF_NUMBER_TABLE
2127     , p1_a2 JTF_NUMBER_TABLE
2128     , p1_a3 JTF_NUMBER_TABLE
2129     , p1_a4 JTF_NUMBER_TABLE
2130     , p1_a5 JTF_NUMBER_TABLE
2131     , p1_a6 JTF_NUMBER_TABLE
2132     , p1_a7 JTF_NUMBER_TABLE
2133     , p1_a8 JTF_NUMBER_TABLE
2134     , p1_a9 JTF_DATE_TABLE
2135     , p1_a10 JTF_DATE_TABLE
2136     , p1_a11 JTF_DATE_TABLE
2137     , p1_a12 JTF_VARCHAR2_TABLE_100
2138     , p2_a0 out nocopy JTF_NUMBER_TABLE
2139     , p2_a1 out nocopy JTF_NUMBER_TABLE
2140     , p2_a2 out nocopy JTF_NUMBER_TABLE
2141     , p2_a3 out nocopy JTF_NUMBER_TABLE
2142     , p2_a4 out nocopy JTF_NUMBER_TABLE
2143     , p2_a5 out nocopy JTF_NUMBER_TABLE
2144     , p2_a6 out nocopy JTF_NUMBER_TABLE
2145     , p2_a7 out nocopy JTF_NUMBER_TABLE
2146     , p2_a8 out nocopy JTF_NUMBER_TABLE
2147     , p2_a9 out nocopy JTF_DATE_TABLE
2148     , p2_a10 out nocopy JTF_DATE_TABLE
2149     , p2_a11 out nocopy JTF_DATE_TABLE
2150     , p2_a12 out nocopy JTF_VARCHAR2_TABLE_100
2151   )
2152 
2153   as
2154     ddp_rules_tbl1 eam_pmdef_pub.pm_rule_tbl_type;
2155     ddp_rules_tbl2 eam_pmdef_pub.pm_rule_tbl_type;
2156     ddx_merged_rules_tbl eam_pmdef_pub.pm_rule_tbl_type;
2157     ddindx binary_integer; indx binary_integer;
2158   begin
2159 
2160     -- copy data to the local IN or IN-OUT args, if any
2161     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_rules_tbl1, p0_a0
2162       , p0_a1
2163       , p0_a2
2164       , p0_a3
2165       , p0_a4
2166       , p0_a5
2167       , p0_a6
2168       , p0_a7
2169       , p0_a8
2170       , p0_a9
2171       , p0_a10
2172       , p0_a11
2173       , p0_a12
2174       );
2175 
2176     eam_pmdef_pub_w.rosetta_table_copy_in_p4(ddp_rules_tbl2, p1_a0
2177       , p1_a1
2178       , p1_a2
2179       , p1_a3
2180       , p1_a4
2181       , p1_a5
2182       , p1_a6
2183       , p1_a7
2184       , p1_a8
2185       , p1_a9
2186       , p1_a10
2187       , p1_a11
2188       , p1_a12
2189       );
2190 
2191 
2192     -- here's the delegated call to the old PL/SQL routine
2193     eam_pmdef_pub.merge_rules(ddp_rules_tbl1,
2194       ddp_rules_tbl2,
2195       ddx_merged_rules_tbl);
2196 
2197     -- copy data back from the local variables to OUT or IN-OUT args, if any
2198 
2199 
2200     eam_pmdef_pub_w.rosetta_table_copy_out_p4(ddx_merged_rules_tbl, p2_a0
2201       , p2_a1
2202       , p2_a2
2203       , p2_a3
2204       , p2_a4
2205       , p2_a5
2206       , p2_a6
2207       , p2_a7
2208       , p2_a8
2209       , p2_a9
2210       , p2_a10
2211       , p2_a11
2212       , p2_a12
2213       );
2214   end;
2215 
2216 end eam_pmdef_pub_w;