DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_PS_RULE_PVT_W

Source


1 package body ams_ps_rule_pvt_w as
2   /* $Header: amswrulb.pls 120.0 2005/06/01 02:58:02 appldev noship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5 
6   function rosetta_g_miss_num_map(n number) return number as
7     a number := fnd_api.g_miss_num;
8     b number := 0-1962.0724;
9   begin
10     if n=a then return b; end if;
11     if n=b then return a; end if;
12     return n;
13   end;
14 
15   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16   function rosetta_g_miss_date_in_map(d date) return date as
17   begin
18     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19     return d;
20   end;
21 
22   procedure rosetta_table_copy_in_p3(t OUT NOCOPY ams_ps_rule_pvt.ps_rules_tuple_tbl_type, a0 JTF_VARCHAR2_TABLE_100
23     , a1 JTF_VARCHAR2_TABLE_100
24     ) as
25     ddindx binary_integer; indx binary_integer;
26   begin
27   if a0 is not null and a0.count > 0 then
28       if a0.count > 0 then
29         indx := a0.first;
30         ddindx := 1;
31         while true loop
32           t(ddindx).name := a0(indx);
33           t(ddindx).value := a1(indx);
34           ddindx := ddindx+1;
35           if a0.last =indx
36             then exit;
37           end if;
38           indx := a0.next(indx);
39         end loop;
40       end if;
41    end if;
42   end rosetta_table_copy_in_p3;
43   procedure rosetta_table_copy_out_p3(t ams_ps_rule_pvt.ps_rules_tuple_tbl_type, a0 OUT NOCOPY JTF_VARCHAR2_TABLE_100
44     , a1 OUT NOCOPY JTF_VARCHAR2_TABLE_100
45     ) as
46     ddindx binary_integer; indx binary_integer;
47   begin
48   if t is null or t.count = 0 then
49     a0 := JTF_VARCHAR2_TABLE_100();
50     a1 := JTF_VARCHAR2_TABLE_100();
51   else
52       a0 := JTF_VARCHAR2_TABLE_100();
53       a1 := JTF_VARCHAR2_TABLE_100();
54       if t.count > 0 then
55         a0.extend(t.count);
56         a1.extend(t.count);
57         ddindx := t.first;
58         indx := 1;
59         while true loop
60           a0(indx) := t(ddindx).name;
61           a1(indx) := t(ddindx).value;
62           indx := indx+1;
63           if t.last =ddindx
64             then exit;
65           end if;
66           ddindx := t.next(ddindx);
67         end loop;
68       end if;
69    end if;
70   end rosetta_table_copy_out_p3;
71 
72   procedure rosetta_table_copy_in_p8(t OUT NOCOPY ams_ps_rule_pvt.ps_rules_tbl_type, a0 JTF_NUMBER_TABLE
73     , a1 JTF_DATE_TABLE
74     , a2 JTF_NUMBER_TABLE
75     , a3 JTF_DATE_TABLE
76     , a4 JTF_NUMBER_TABLE
77     , a5 JTF_NUMBER_TABLE
78     , a6 JTF_NUMBER_TABLE
79     , a7 JTF_NUMBER_TABLE
80     , a8 JTF_NUMBER_TABLE
81     , a9 JTF_NUMBER_TABLE
82     , a10 JTF_NUMBER_TABLE
83     , a11 JTF_VARCHAR2_TABLE_100
84     , a12 JTF_VARCHAR2_TABLE_100
85     , a13 JTF_VARCHAR2_TABLE_100
86     , a14 JTF_NUMBER_TABLE
87     , a15 JTF_VARCHAR2_TABLE_100
88     , a16 JTF_VARCHAR2_TABLE_100
89     , a17 JTF_NUMBER_TABLE
90     , a18 JTF_VARCHAR2_TABLE_100
91     , a19 JTF_VARCHAR2_TABLE_100
92     , a20 JTF_VARCHAR2_TABLE_100
93     , a21 JTF_VARCHAR2_TABLE_100
94     , a22 JTF_VARCHAR2_TABLE_100
95     , a23 JTF_VARCHAR2_TABLE_100
96     , a24 JTF_VARCHAR2_TABLE_100
97     , a25 JTF_VARCHAR2_TABLE_100
98     , a26 JTF_VARCHAR2_TABLE_100
99     , a27 JTF_VARCHAR2_TABLE_100
100     ) as
101     ddindx binary_integer; indx binary_integer;
102   begin
103   if a0 is not null and a0.count > 0 then
104       if a0.count > 0 then
105         indx := a0.first;
106         ddindx := 1;
107         while true loop
108           t(ddindx).created_by := rosetta_g_miss_num_map(a0(indx));
109           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a1(indx));
110           t(ddindx).last_updated_by := rosetta_g_miss_num_map(a2(indx));
111           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a3(indx));
112           t(ddindx).last_update_login := rosetta_g_miss_num_map(a4(indx));
113           t(ddindx).object_version_number := rosetta_g_miss_num_map(a5(indx));
114           t(ddindx).rule_id := rosetta_g_miss_num_map(a6(indx));
115           t(ddindx).rulegroup_id := rosetta_g_miss_num_map(a7(indx));
116           t(ddindx).posting_id := rosetta_g_miss_num_map(a8(indx));
117           t(ddindx).strategy_id := rosetta_g_miss_num_map(a9(indx));
118           t(ddindx).exec_priority := rosetta_g_miss_num_map(a10(indx));
119           t(ddindx).bus_priority_code := a11(indx);
120           t(ddindx).bus_priority_disp_order := a12(indx);
121           t(ddindx).clausevalue1 := a13(indx);
122           t(ddindx).clausevalue2 := rosetta_g_miss_num_map(a14(indx));
123           t(ddindx).clausevalue3 := a15(indx);
124           t(ddindx).clausevalue4 := a16(indx);
125           t(ddindx).clausevalue5 := rosetta_g_miss_num_map(a17(indx));
126           t(ddindx).clausevalue6 := a18(indx);
127           t(ddindx).clausevalue7 := a19(indx);
128           t(ddindx).clausevalue8 := a20(indx);
129           t(ddindx).clausevalue9 := a21(indx);
130           t(ddindx).clausevalue10 := a22(indx);
131           t(ddindx).use_clause6 := a23(indx);
132           t(ddindx).use_clause7 := a24(indx);
133           t(ddindx).use_clause8 := a25(indx);
134           t(ddindx).use_clause9 := a26(indx);
135           t(ddindx).use_clause10 := a27(indx);
136           ddindx := ddindx+1;
137           if a0.last =indx
138             then exit;
139           end if;
140           indx := a0.next(indx);
141         end loop;
142       end if;
143    end if;
144   end rosetta_table_copy_in_p8;
145   procedure rosetta_table_copy_out_p8(t ams_ps_rule_pvt.ps_rules_tbl_type, a0 OUT NOCOPY JTF_NUMBER_TABLE
146     , a1 OUT NOCOPY JTF_DATE_TABLE
147     , a2 OUT NOCOPY JTF_NUMBER_TABLE
148     , a3 OUT NOCOPY JTF_DATE_TABLE
149     , a4 OUT NOCOPY JTF_NUMBER_TABLE
150     , a5 OUT NOCOPY JTF_NUMBER_TABLE
151     , a6 OUT NOCOPY JTF_NUMBER_TABLE
152     , a7 OUT NOCOPY JTF_NUMBER_TABLE
153     , a8 OUT NOCOPY JTF_NUMBER_TABLE
154     , a9 OUT NOCOPY JTF_NUMBER_TABLE
155     , a10 OUT NOCOPY JTF_NUMBER_TABLE
156     , a11 OUT NOCOPY JTF_VARCHAR2_TABLE_100
157     , a12 OUT NOCOPY JTF_VARCHAR2_TABLE_100
158     , a13 OUT NOCOPY JTF_VARCHAR2_TABLE_100
159     , a14 OUT NOCOPY JTF_NUMBER_TABLE
160     , a15 OUT NOCOPY JTF_VARCHAR2_TABLE_100
161     , a16 OUT NOCOPY JTF_VARCHAR2_TABLE_100
162     , a17 OUT NOCOPY JTF_NUMBER_TABLE
163     , a18 OUT NOCOPY JTF_VARCHAR2_TABLE_100
164     , a19 OUT NOCOPY JTF_VARCHAR2_TABLE_100
165     , a20 OUT NOCOPY JTF_VARCHAR2_TABLE_100
166     , a21 OUT NOCOPY JTF_VARCHAR2_TABLE_100
167     , a22 OUT NOCOPY JTF_VARCHAR2_TABLE_100
168     , a23 OUT NOCOPY JTF_VARCHAR2_TABLE_100
169     , a24 OUT NOCOPY JTF_VARCHAR2_TABLE_100
170     , a25 OUT NOCOPY JTF_VARCHAR2_TABLE_100
171     , a26 OUT NOCOPY JTF_VARCHAR2_TABLE_100
172     , a27 OUT NOCOPY JTF_VARCHAR2_TABLE_100
173     ) as
174     ddindx binary_integer; indx binary_integer;
175   begin
176   if t is null or t.count = 0 then
177     a0 := JTF_NUMBER_TABLE();
178     a1 := JTF_DATE_TABLE();
179     a2 := JTF_NUMBER_TABLE();
180     a3 := JTF_DATE_TABLE();
181     a4 := JTF_NUMBER_TABLE();
182     a5 := JTF_NUMBER_TABLE();
183     a6 := JTF_NUMBER_TABLE();
184     a7 := JTF_NUMBER_TABLE();
185     a8 := JTF_NUMBER_TABLE();
186     a9 := JTF_NUMBER_TABLE();
187     a10 := JTF_NUMBER_TABLE();
188     a11 := JTF_VARCHAR2_TABLE_100();
189     a12 := JTF_VARCHAR2_TABLE_100();
190     a13 := JTF_VARCHAR2_TABLE_100();
191     a14 := JTF_NUMBER_TABLE();
192     a15 := JTF_VARCHAR2_TABLE_100();
193     a16 := JTF_VARCHAR2_TABLE_100();
194     a17 := JTF_NUMBER_TABLE();
195     a18 := JTF_VARCHAR2_TABLE_100();
196     a19 := JTF_VARCHAR2_TABLE_100();
197     a20 := JTF_VARCHAR2_TABLE_100();
198     a21 := JTF_VARCHAR2_TABLE_100();
199     a22 := JTF_VARCHAR2_TABLE_100();
200     a23 := JTF_VARCHAR2_TABLE_100();
201     a24 := JTF_VARCHAR2_TABLE_100();
202     a25 := JTF_VARCHAR2_TABLE_100();
203     a26 := JTF_VARCHAR2_TABLE_100();
204     a27 := JTF_VARCHAR2_TABLE_100();
205   else
206       a0 := JTF_NUMBER_TABLE();
207       a1 := JTF_DATE_TABLE();
208       a2 := JTF_NUMBER_TABLE();
209       a3 := JTF_DATE_TABLE();
210       a4 := JTF_NUMBER_TABLE();
211       a5 := JTF_NUMBER_TABLE();
212       a6 := JTF_NUMBER_TABLE();
213       a7 := JTF_NUMBER_TABLE();
214       a8 := JTF_NUMBER_TABLE();
215       a9 := JTF_NUMBER_TABLE();
216       a10 := JTF_NUMBER_TABLE();
217       a11 := JTF_VARCHAR2_TABLE_100();
218       a12 := JTF_VARCHAR2_TABLE_100();
219       a13 := JTF_VARCHAR2_TABLE_100();
220       a14 := JTF_NUMBER_TABLE();
221       a15 := JTF_VARCHAR2_TABLE_100();
222       a16 := JTF_VARCHAR2_TABLE_100();
223       a17 := JTF_NUMBER_TABLE();
224       a18 := JTF_VARCHAR2_TABLE_100();
225       a19 := JTF_VARCHAR2_TABLE_100();
226       a20 := JTF_VARCHAR2_TABLE_100();
227       a21 := JTF_VARCHAR2_TABLE_100();
228       a22 := JTF_VARCHAR2_TABLE_100();
229       a23 := JTF_VARCHAR2_TABLE_100();
230       a24 := JTF_VARCHAR2_TABLE_100();
231       a25 := JTF_VARCHAR2_TABLE_100();
232       a26 := JTF_VARCHAR2_TABLE_100();
233       a27 := JTF_VARCHAR2_TABLE_100();
234       if t.count > 0 then
235         a0.extend(t.count);
236         a1.extend(t.count);
237         a2.extend(t.count);
238         a3.extend(t.count);
239         a4.extend(t.count);
240         a5.extend(t.count);
241         a6.extend(t.count);
242         a7.extend(t.count);
243         a8.extend(t.count);
244         a9.extend(t.count);
245         a10.extend(t.count);
246         a11.extend(t.count);
247         a12.extend(t.count);
248         a13.extend(t.count);
249         a14.extend(t.count);
250         a15.extend(t.count);
251         a16.extend(t.count);
252         a17.extend(t.count);
253         a18.extend(t.count);
254         a19.extend(t.count);
255         a20.extend(t.count);
256         a21.extend(t.count);
257         a22.extend(t.count);
258         a23.extend(t.count);
259         a24.extend(t.count);
260         a25.extend(t.count);
261         a26.extend(t.count);
262         a27.extend(t.count);
263         ddindx := t.first;
264         indx := 1;
265         while true loop
266           a0(indx) := rosetta_g_miss_num_map(t(ddindx).created_by);
267           a1(indx) := t(ddindx).creation_date;
268           a2(indx) := rosetta_g_miss_num_map(t(ddindx).last_updated_by);
269           a3(indx) := t(ddindx).last_update_date;
270           a4(indx) := rosetta_g_miss_num_map(t(ddindx).last_update_login);
271           a5(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
272           a6(indx) := rosetta_g_miss_num_map(t(ddindx).rule_id);
273           a7(indx) := rosetta_g_miss_num_map(t(ddindx).rulegroup_id);
274           a8(indx) := rosetta_g_miss_num_map(t(ddindx).posting_id);
275           a9(indx) := rosetta_g_miss_num_map(t(ddindx).strategy_id);
276           a10(indx) := rosetta_g_miss_num_map(t(ddindx).exec_priority);
277           a11(indx) := t(ddindx).bus_priority_code;
278           a12(indx) := t(ddindx).bus_priority_disp_order;
279           a13(indx) := t(ddindx).clausevalue1;
280           a14(indx) := rosetta_g_miss_num_map(t(ddindx).clausevalue2);
281           a15(indx) := t(ddindx).clausevalue3;
282           a16(indx) := t(ddindx).clausevalue4;
283           a17(indx) := rosetta_g_miss_num_map(t(ddindx).clausevalue5);
284           a18(indx) := t(ddindx).clausevalue6;
285           a19(indx) := t(ddindx).clausevalue7;
286           a20(indx) := t(ddindx).clausevalue8;
287           a21(indx) := t(ddindx).clausevalue9;
288           a22(indx) := t(ddindx).clausevalue10;
289           a23(indx) := t(ddindx).use_clause6;
290           a24(indx) := t(ddindx).use_clause7;
291           a25(indx) := t(ddindx).use_clause8;
292           a26(indx) := t(ddindx).use_clause9;
293           a27(indx) := t(ddindx).use_clause10;
294           indx := indx+1;
295           if t.last =ddindx
296             then exit;
297           end if;
298           ddindx := t.next(ddindx);
299         end loop;
300       end if;
301    end if;
302   end rosetta_table_copy_out_p8;
303 
304   procedure create_ps_rule(p_api_version_number  NUMBER
305     , p_init_msg_list  VARCHAR2
306     , p_commit  VARCHAR2
307     , p_validation_level  NUMBER
308     , x_return_status OUT NOCOPY  VARCHAR2
309     , x_msg_count OUT NOCOPY  NUMBER
310     , x_msg_data OUT NOCOPY  VARCHAR2
311     , p8_a0  NUMBER
312     , p8_a1  NUMBER
313     , p8_a2  NUMBER
314     , x_rule_id OUT NOCOPY  NUMBER
315     , p7_a0  NUMBER := 0-1962.0724
316     , p7_a1  DATE := fnd_api.g_miss_date
317     , p7_a2  NUMBER := 0-1962.0724
318     , p7_a3  DATE := fnd_api.g_miss_date
319     , p7_a4  NUMBER := 0-1962.0724
320     , p7_a5  NUMBER := 0-1962.0724
321     , p7_a6  NUMBER := 0-1962.0724
322     , p7_a7  NUMBER := 0-1962.0724
323     , p7_a8  NUMBER := 0-1962.0724
324     , p7_a9  NUMBER := 0-1962.0724
325     , p7_a10  NUMBER := 0-1962.0724
326     , p7_a11  VARCHAR2 := fnd_api.g_miss_char
327     , p7_a12  VARCHAR2 := fnd_api.g_miss_char
328     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
329     , p7_a14  NUMBER := 0-1962.0724
330     , p7_a15  VARCHAR2 := fnd_api.g_miss_char
331     , p7_a16  VARCHAR2 := fnd_api.g_miss_char
332     , p7_a17  NUMBER := 0-1962.0724
333     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
334     , p7_a19  VARCHAR2 := fnd_api.g_miss_char
335     , p7_a20  VARCHAR2 := fnd_api.g_miss_char
336     , p7_a21  VARCHAR2 := fnd_api.g_miss_char
337     , p7_a22  VARCHAR2 := fnd_api.g_miss_char
338     , p7_a23  VARCHAR2 := fnd_api.g_miss_char
339     , p7_a24  VARCHAR2 := fnd_api.g_miss_char
340     , p7_a25  VARCHAR2 := fnd_api.g_miss_char
341     , p7_a26  VARCHAR2 := fnd_api.g_miss_char
342     , p7_a27  VARCHAR2 := fnd_api.g_miss_char
343   )
344   as
345     ddp_ps_rules_rec ams_ps_rule_pvt.ps_rules_rec_type;
346     ddp_visitor_rec ams_ps_rule_pvt.visitor_type_rec;
347     ddindx binary_integer; indx binary_integer;
348   begin
349 
350     -- copy data to the local IN or IN-OUT args, if any
351 
352 
353 
354 
355 
356 
357 
358     ddp_ps_rules_rec.created_by := rosetta_g_miss_num_map(p7_a0);
359     ddp_ps_rules_rec.creation_date := rosetta_g_miss_date_in_map(p7_a1);
360     ddp_ps_rules_rec.last_updated_by := rosetta_g_miss_num_map(p7_a2);
361     ddp_ps_rules_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a3);
362     ddp_ps_rules_rec.last_update_login := rosetta_g_miss_num_map(p7_a4);
363     ddp_ps_rules_rec.object_version_number := rosetta_g_miss_num_map(p7_a5);
364     ddp_ps_rules_rec.rule_id := rosetta_g_miss_num_map(p7_a6);
365     ddp_ps_rules_rec.rulegroup_id := rosetta_g_miss_num_map(p7_a7);
366     ddp_ps_rules_rec.posting_id := rosetta_g_miss_num_map(p7_a8);
367     ddp_ps_rules_rec.strategy_id := rosetta_g_miss_num_map(p7_a9);
368     ddp_ps_rules_rec.exec_priority := rosetta_g_miss_num_map(p7_a10);
369     ddp_ps_rules_rec.bus_priority_code := p7_a11;
370     ddp_ps_rules_rec.bus_priority_disp_order := p7_a12;
371     ddp_ps_rules_rec.clausevalue1 := p7_a13;
372     ddp_ps_rules_rec.clausevalue2 := rosetta_g_miss_num_map(p7_a14);
373     ddp_ps_rules_rec.clausevalue3 := p7_a15;
374     ddp_ps_rules_rec.clausevalue4 := p7_a16;
375     ddp_ps_rules_rec.clausevalue5 := rosetta_g_miss_num_map(p7_a17);
376     ddp_ps_rules_rec.clausevalue6 := p7_a18;
377     ddp_ps_rules_rec.clausevalue7 := p7_a19;
378     ddp_ps_rules_rec.clausevalue8 := p7_a20;
379     ddp_ps_rules_rec.clausevalue9 := p7_a21;
380     ddp_ps_rules_rec.clausevalue10 := p7_a22;
381     ddp_ps_rules_rec.use_clause6 := p7_a23;
382     ddp_ps_rules_rec.use_clause7 := p7_a24;
383     ddp_ps_rules_rec.use_clause8 := p7_a25;
384     ddp_ps_rules_rec.use_clause9 := p7_a26;
385     ddp_ps_rules_rec.use_clause10 := p7_a27;
386 
387     if p8_a0 is null
388       then ddp_visitor_rec.anon := null;
389     elsif p8_a0 = 0
390       then ddp_visitor_rec.anon := false;
391     else ddp_visitor_rec.anon := true;
392     end if;
393     if p8_a1 is null
394       then ddp_visitor_rec.rgoh := null;
395     elsif p8_a1 = 0
396       then ddp_visitor_rec.rgoh := false;
397     else ddp_visitor_rec.rgoh := true;
398     end if;
399     if p8_a2 is null
400       then ddp_visitor_rec.rgnoh := null;
401     elsif p8_a2 = 0
402       then ddp_visitor_rec.rgnoh := false;
403     else ddp_visitor_rec.rgnoh := true;
404     end if;
405 
406 
407     -- here's the delegated call to the old PL/SQL routine
408     ams_ps_rule_pvt.create_ps_rule(p_api_version_number,
409       p_init_msg_list,
410       p_commit,
411       p_validation_level,
412       x_return_status,
413       x_msg_count,
414       x_msg_data,
415       ddp_ps_rules_rec,
416       ddp_visitor_rec,
417       x_rule_id);
418 
419     -- copy data back from the local OUT or IN-OUT args, if any
420 
421 
422 
423 
424 
425 
426 
427 
428 
429   end;
430 
431   procedure update_ps_rule(p_api_version_number  NUMBER
432     , p_init_msg_list  VARCHAR2
433     , p_commit  VARCHAR2
434     , p_validation_level  NUMBER
435     , x_return_status OUT NOCOPY  VARCHAR2
436     , x_msg_count OUT NOCOPY  NUMBER
437     , x_msg_data OUT NOCOPY  VARCHAR2
438     , p8_a0  NUMBER
439     , p8_a1  NUMBER
440     , p8_a2  NUMBER
441     , p9_a0 JTF_VARCHAR2_TABLE_100
442     , p9_a1 JTF_VARCHAR2_TABLE_100
443     , p10_a0 JTF_VARCHAR2_TABLE_100
444     , p10_a1 JTF_VARCHAR2_TABLE_100
445     , x_object_version_number OUT NOCOPY  NUMBER
446     , p7_a0  NUMBER := 0-1962.0724
447     , p7_a1  DATE := fnd_api.g_miss_date
448     , p7_a2  NUMBER := 0-1962.0724
449     , p7_a3  DATE := fnd_api.g_miss_date
450     , p7_a4  NUMBER := 0-1962.0724
451     , p7_a5  NUMBER := 0-1962.0724
452     , p7_a6  NUMBER := 0-1962.0724
453     , p7_a7  NUMBER := 0-1962.0724
454     , p7_a8  NUMBER := 0-1962.0724
455     , p7_a9  NUMBER := 0-1962.0724
456     , p7_a10  NUMBER := 0-1962.0724
457     , p7_a11  VARCHAR2 := fnd_api.g_miss_char
458     , p7_a12  VARCHAR2 := fnd_api.g_miss_char
459     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
460     , p7_a14  NUMBER := 0-1962.0724
461     , p7_a15  VARCHAR2 := fnd_api.g_miss_char
462     , p7_a16  VARCHAR2 := fnd_api.g_miss_char
463     , p7_a17  NUMBER := 0-1962.0724
464     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
465     , p7_a19  VARCHAR2 := fnd_api.g_miss_char
466     , p7_a20  VARCHAR2 := fnd_api.g_miss_char
467     , p7_a21  VARCHAR2 := fnd_api.g_miss_char
468     , p7_a22  VARCHAR2 := fnd_api.g_miss_char
469     , p7_a23  VARCHAR2 := fnd_api.g_miss_char
470     , p7_a24  VARCHAR2 := fnd_api.g_miss_char
471     , p7_a25  VARCHAR2 := fnd_api.g_miss_char
472     , p7_a26  VARCHAR2 := fnd_api.g_miss_char
473     , p7_a27  VARCHAR2 := fnd_api.g_miss_char
474   )
475   as
476     ddp_ps_rules_rec ams_ps_rule_pvt.ps_rules_rec_type;
477     ddp_visitor_rec ams_ps_rule_pvt.visitor_type_rec;
478     ddp_ps_filter_tbl ams_ps_rule_pvt.ps_rules_tuple_tbl_type;
479     ddp_ps_strategy_tbl ams_ps_rule_pvt.ps_rules_tuple_tbl_type;
480     ddindx binary_integer; indx binary_integer;
481   begin
482 
483     -- copy data to the local IN or IN-OUT args, if any
484 
485 
486 
487 
488 
489 
490 
491     ddp_ps_rules_rec.created_by := rosetta_g_miss_num_map(p7_a0);
492     ddp_ps_rules_rec.creation_date := rosetta_g_miss_date_in_map(p7_a1);
493     ddp_ps_rules_rec.last_updated_by := rosetta_g_miss_num_map(p7_a2);
494     ddp_ps_rules_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a3);
495     ddp_ps_rules_rec.last_update_login := rosetta_g_miss_num_map(p7_a4);
496     ddp_ps_rules_rec.object_version_number := rosetta_g_miss_num_map(p7_a5);
497     ddp_ps_rules_rec.rule_id := rosetta_g_miss_num_map(p7_a6);
498     ddp_ps_rules_rec.rulegroup_id := rosetta_g_miss_num_map(p7_a7);
499     ddp_ps_rules_rec.posting_id := rosetta_g_miss_num_map(p7_a8);
500     ddp_ps_rules_rec.strategy_id := rosetta_g_miss_num_map(p7_a9);
501     ddp_ps_rules_rec.exec_priority := rosetta_g_miss_num_map(p7_a10);
502     ddp_ps_rules_rec.bus_priority_code := p7_a11;
503     ddp_ps_rules_rec.bus_priority_disp_order := p7_a12;
504     ddp_ps_rules_rec.clausevalue1 := p7_a13;
505     ddp_ps_rules_rec.clausevalue2 := rosetta_g_miss_num_map(p7_a14);
506     ddp_ps_rules_rec.clausevalue3 := p7_a15;
507     ddp_ps_rules_rec.clausevalue4 := p7_a16;
508     ddp_ps_rules_rec.clausevalue5 := rosetta_g_miss_num_map(p7_a17);
509     ddp_ps_rules_rec.clausevalue6 := p7_a18;
510     ddp_ps_rules_rec.clausevalue7 := p7_a19;
511     ddp_ps_rules_rec.clausevalue8 := p7_a20;
512     ddp_ps_rules_rec.clausevalue9 := p7_a21;
513     ddp_ps_rules_rec.clausevalue10 := p7_a22;
514     ddp_ps_rules_rec.use_clause6 := p7_a23;
515     ddp_ps_rules_rec.use_clause7 := p7_a24;
516     ddp_ps_rules_rec.use_clause8 := p7_a25;
517     ddp_ps_rules_rec.use_clause9 := p7_a26;
518     ddp_ps_rules_rec.use_clause10 := p7_a27;
519 
520     if p8_a0 is null
521       then ddp_visitor_rec.anon := null;
522     elsif p8_a0 = 0
523       then ddp_visitor_rec.anon := false;
524     else ddp_visitor_rec.anon := true;
525     end if;
526     if p8_a1 is null
527       then ddp_visitor_rec.rgoh := null;
528     elsif p8_a1 = 0
529       then ddp_visitor_rec.rgoh := false;
530     else ddp_visitor_rec.rgoh := true;
531     end if;
532     if p8_a2 is null
533       then ddp_visitor_rec.rgnoh := null;
534     elsif p8_a2 = 0
535       then ddp_visitor_rec.rgnoh := false;
536     else ddp_visitor_rec.rgnoh := true;
537     end if;
538 
539     ams_ps_rule_pvt_w.rosetta_table_copy_in_p3(ddp_ps_filter_tbl, p9_a0
540       , p9_a1
541       );
542 
543     ams_ps_rule_pvt_w.rosetta_table_copy_in_p3(ddp_ps_strategy_tbl, p10_a0
544       , p10_a1
545       );
546 
547 
548     -- here's the delegated call to the old PL/SQL routine
549     ams_ps_rule_pvt.update_ps_rule(p_api_version_number,
550       p_init_msg_list,
551       p_commit,
552       p_validation_level,
553       x_return_status,
554       x_msg_count,
555       x_msg_data,
556       ddp_ps_rules_rec,
557       ddp_visitor_rec,
558       ddp_ps_filter_tbl,
559       ddp_ps_strategy_tbl,
560       x_object_version_number);
561 
562     -- copy data back from the local OUT or IN-OUT args, if any
563 
564 
565 
566 
567 
568 
569 
570 
571 
572 
573 
574   end;
575 
576   procedure update_ps_rule_alt(p_api_version_number  NUMBER
577     , p_init_msg_list  VARCHAR2
578     , p_commit  VARCHAR2
579     , p_validation_level  NUMBER
580     , x_return_status OUT NOCOPY  VARCHAR2
581     , x_msg_count OUT NOCOPY  NUMBER
582     , x_msg_data OUT NOCOPY  VARCHAR2
583     , p8_a0  NUMBER
584     , p8_a1  NUMBER
585     , p8_a2  NUMBER
586     , p9_a0 JTF_VARCHAR2_TABLE_100
587     , p9_a1 JTF_VARCHAR2_TABLE_100
588     , p10_a0 JTF_VARCHAR2_TABLE_100
589     , p10_a1 JTF_VARCHAR2_TABLE_100
590     , p_vistype_change  number
591     , p_rem_change  number
592     , x_object_version_number OUT NOCOPY  NUMBER
593     , p7_a0  NUMBER := 0-1962.0724
594     , p7_a1  DATE := fnd_api.g_miss_date
595     , p7_a2  NUMBER := 0-1962.0724
596     , p7_a3  DATE := fnd_api.g_miss_date
597     , p7_a4  NUMBER := 0-1962.0724
598     , p7_a5  NUMBER := 0-1962.0724
599     , p7_a6  NUMBER := 0-1962.0724
600     , p7_a7  NUMBER := 0-1962.0724
601     , p7_a8  NUMBER := 0-1962.0724
602     , p7_a9  NUMBER := 0-1962.0724
603     , p7_a10  NUMBER := 0-1962.0724
604     , p7_a11  VARCHAR2 := fnd_api.g_miss_char
605     , p7_a12  VARCHAR2 := fnd_api.g_miss_char
606     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
607     , p7_a14  NUMBER := 0-1962.0724
608     , p7_a15  VARCHAR2 := fnd_api.g_miss_char
609     , p7_a16  VARCHAR2 := fnd_api.g_miss_char
610     , p7_a17  NUMBER := 0-1962.0724
611     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
612     , p7_a19  VARCHAR2 := fnd_api.g_miss_char
613     , p7_a20  VARCHAR2 := fnd_api.g_miss_char
614     , p7_a21  VARCHAR2 := fnd_api.g_miss_char
615     , p7_a22  VARCHAR2 := fnd_api.g_miss_char
616     , p7_a23  VARCHAR2 := fnd_api.g_miss_char
617     , p7_a24  VARCHAR2 := fnd_api.g_miss_char
618     , p7_a25  VARCHAR2 := fnd_api.g_miss_char
619     , p7_a26  VARCHAR2 := fnd_api.g_miss_char
620     , p7_a27  VARCHAR2 := fnd_api.g_miss_char
621   )
622   as
623     ddp_ps_rules_rec ams_ps_rule_pvt.ps_rules_rec_type;
624     ddp_visitor_rec ams_ps_rule_pvt.visitor_type_rec;
625     ddp_ps_filter_tbl ams_ps_rule_pvt.ps_rules_tuple_tbl_type;
626     ddp_ps_strategy_tbl ams_ps_rule_pvt.ps_rules_tuple_tbl_type;
627     ddp_vistype_change boolean;
628     ddp_rem_change boolean;
629     ddindx binary_integer; indx binary_integer;
630   begin
631 
632     -- copy data to the local IN or IN-OUT args, if any
633 
634 
635 
636 
637 
638 
639 
640     ddp_ps_rules_rec.created_by := rosetta_g_miss_num_map(p7_a0);
641     ddp_ps_rules_rec.creation_date := rosetta_g_miss_date_in_map(p7_a1);
642     ddp_ps_rules_rec.last_updated_by := rosetta_g_miss_num_map(p7_a2);
643     ddp_ps_rules_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a3);
644     ddp_ps_rules_rec.last_update_login := rosetta_g_miss_num_map(p7_a4);
645     ddp_ps_rules_rec.object_version_number := rosetta_g_miss_num_map(p7_a5);
646     ddp_ps_rules_rec.rule_id := rosetta_g_miss_num_map(p7_a6);
647     ddp_ps_rules_rec.rulegroup_id := rosetta_g_miss_num_map(p7_a7);
648     ddp_ps_rules_rec.posting_id := rosetta_g_miss_num_map(p7_a8);
649     ddp_ps_rules_rec.strategy_id := rosetta_g_miss_num_map(p7_a9);
650     ddp_ps_rules_rec.exec_priority := rosetta_g_miss_num_map(p7_a10);
651     ddp_ps_rules_rec.bus_priority_code := p7_a11;
652     ddp_ps_rules_rec.bus_priority_disp_order := p7_a12;
653     ddp_ps_rules_rec.clausevalue1 := p7_a13;
654     ddp_ps_rules_rec.clausevalue2 := rosetta_g_miss_num_map(p7_a14);
655     ddp_ps_rules_rec.clausevalue3 := p7_a15;
656     ddp_ps_rules_rec.clausevalue4 := p7_a16;
657     ddp_ps_rules_rec.clausevalue5 := rosetta_g_miss_num_map(p7_a17);
658     ddp_ps_rules_rec.clausevalue6 := p7_a18;
659     ddp_ps_rules_rec.clausevalue7 := p7_a19;
660     ddp_ps_rules_rec.clausevalue8 := p7_a20;
661     ddp_ps_rules_rec.clausevalue9 := p7_a21;
662     ddp_ps_rules_rec.clausevalue10 := p7_a22;
663     ddp_ps_rules_rec.use_clause6 := p7_a23;
664     ddp_ps_rules_rec.use_clause7 := p7_a24;
665     ddp_ps_rules_rec.use_clause8 := p7_a25;
666     ddp_ps_rules_rec.use_clause9 := p7_a26;
667     ddp_ps_rules_rec.use_clause10 := p7_a27;
668 
669     if p8_a0 is null
670       then ddp_visitor_rec.anon := null;
671     elsif p8_a0 = 0
672       then ddp_visitor_rec.anon := false;
673     else ddp_visitor_rec.anon := true;
674     end if;
675     if p8_a1 is null
676       then ddp_visitor_rec.rgoh := null;
677     elsif p8_a1 = 0
678       then ddp_visitor_rec.rgoh := false;
679     else ddp_visitor_rec.rgoh := true;
680     end if;
681     if p8_a2 is null
682       then ddp_visitor_rec.rgnoh := null;
683     elsif p8_a2 = 0
684       then ddp_visitor_rec.rgnoh := false;
685     else ddp_visitor_rec.rgnoh := true;
686     end if;
687 
688     ams_ps_rule_pvt_w.rosetta_table_copy_in_p3(ddp_ps_filter_tbl, p9_a0
689       , p9_a1
690       );
691 
692     ams_ps_rule_pvt_w.rosetta_table_copy_in_p3(ddp_ps_strategy_tbl, p10_a0
693       , p10_a1
694       );
695 
696     if p_vistype_change is null
697       then ddp_vistype_change := null;
698     elsif p_vistype_change = 0
699       then ddp_vistype_change := false;
700     else ddp_vistype_change := true;
701     end if;
702 
703     if p_rem_change is null
704       then ddp_rem_change := null;
705     elsif p_rem_change = 0
706       then ddp_rem_change := false;
707     else ddp_rem_change := true;
708     end if;
709 
710 
711     -- here's the delegated call to the old PL/SQL routine
712     ams_ps_rule_pvt.update_ps_rule_alt(p_api_version_number,
713       p_init_msg_list,
714       p_commit,
715       p_validation_level,
716       x_return_status,
717       x_msg_count,
718       x_msg_data,
719       ddp_ps_rules_rec,
720       ddp_visitor_rec,
721       ddp_ps_filter_tbl,
722       ddp_ps_strategy_tbl,
723       ddp_vistype_change,
724       ddp_rem_change,
725       x_object_version_number);
726 
727     -- copy data back from the local OUT or IN-OUT args, if any
728 
729 
730 
731 
732 
733 
734 
735 
736 
737 
738 
739 
740 
741   end;
742 
743   procedure delete_ps_rule_alt(p_api_version_number  NUMBER
744     , p_init_msg_list  VARCHAR2
745     , p_commit  VARCHAR2
746     , p_validation_level  NUMBER
747     , x_return_status OUT NOCOPY  VARCHAR2
748     , x_msg_count OUT NOCOPY  NUMBER
749     , x_msg_data OUT NOCOPY  VARCHAR2
750     , p_object_version_number  NUMBER
751     , p7_a0  NUMBER := 0-1962.0724
752     , p7_a1  DATE := fnd_api.g_miss_date
753     , p7_a2  NUMBER := 0-1962.0724
754     , p7_a3  DATE := fnd_api.g_miss_date
755     , p7_a4  NUMBER := 0-1962.0724
756     , p7_a5  NUMBER := 0-1962.0724
757     , p7_a6  NUMBER := 0-1962.0724
758     , p7_a7  NUMBER := 0-1962.0724
759     , p7_a8  NUMBER := 0-1962.0724
760     , p7_a9  NUMBER := 0-1962.0724
761     , p7_a10  NUMBER := 0-1962.0724
762     , p7_a11  VARCHAR2 := fnd_api.g_miss_char
763     , p7_a12  VARCHAR2 := fnd_api.g_miss_char
764     , p7_a13  VARCHAR2 := fnd_api.g_miss_char
765     , p7_a14  NUMBER := 0-1962.0724
766     , p7_a15  VARCHAR2 := fnd_api.g_miss_char
767     , p7_a16  VARCHAR2 := fnd_api.g_miss_char
768     , p7_a17  NUMBER := 0-1962.0724
769     , p7_a18  VARCHAR2 := fnd_api.g_miss_char
770     , p7_a19  VARCHAR2 := fnd_api.g_miss_char
771     , p7_a20  VARCHAR2 := fnd_api.g_miss_char
772     , p7_a21  VARCHAR2 := fnd_api.g_miss_char
773     , p7_a22  VARCHAR2 := fnd_api.g_miss_char
774     , p7_a23  VARCHAR2 := fnd_api.g_miss_char
775     , p7_a24  VARCHAR2 := fnd_api.g_miss_char
776     , p7_a25  VARCHAR2 := fnd_api.g_miss_char
777     , p7_a26  VARCHAR2 := fnd_api.g_miss_char
778     , p7_a27  VARCHAR2 := fnd_api.g_miss_char
779   )
780   as
781     ddp_ps_rules_rec ams_ps_rule_pvt.ps_rules_rec_type;
782     ddindx binary_integer; indx binary_integer;
783   begin
784 
785     -- copy data to the local IN or IN-OUT args, if any
786 
787 
788 
789 
790 
791 
792 
793     ddp_ps_rules_rec.created_by := rosetta_g_miss_num_map(p7_a0);
794     ddp_ps_rules_rec.creation_date := rosetta_g_miss_date_in_map(p7_a1);
795     ddp_ps_rules_rec.last_updated_by := rosetta_g_miss_num_map(p7_a2);
796     ddp_ps_rules_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a3);
797     ddp_ps_rules_rec.last_update_login := rosetta_g_miss_num_map(p7_a4);
798     ddp_ps_rules_rec.object_version_number := rosetta_g_miss_num_map(p7_a5);
799     ddp_ps_rules_rec.rule_id := rosetta_g_miss_num_map(p7_a6);
800     ddp_ps_rules_rec.rulegroup_id := rosetta_g_miss_num_map(p7_a7);
801     ddp_ps_rules_rec.posting_id := rosetta_g_miss_num_map(p7_a8);
802     ddp_ps_rules_rec.strategy_id := rosetta_g_miss_num_map(p7_a9);
803     ddp_ps_rules_rec.exec_priority := rosetta_g_miss_num_map(p7_a10);
804     ddp_ps_rules_rec.bus_priority_code := p7_a11;
805     ddp_ps_rules_rec.bus_priority_disp_order := p7_a12;
806     ddp_ps_rules_rec.clausevalue1 := p7_a13;
807     ddp_ps_rules_rec.clausevalue2 := rosetta_g_miss_num_map(p7_a14);
808     ddp_ps_rules_rec.clausevalue3 := p7_a15;
809     ddp_ps_rules_rec.clausevalue4 := p7_a16;
810     ddp_ps_rules_rec.clausevalue5 := rosetta_g_miss_num_map(p7_a17);
811     ddp_ps_rules_rec.clausevalue6 := p7_a18;
812     ddp_ps_rules_rec.clausevalue7 := p7_a19;
813     ddp_ps_rules_rec.clausevalue8 := p7_a20;
814     ddp_ps_rules_rec.clausevalue9 := p7_a21;
815     ddp_ps_rules_rec.clausevalue10 := p7_a22;
816     ddp_ps_rules_rec.use_clause6 := p7_a23;
817     ddp_ps_rules_rec.use_clause7 := p7_a24;
818     ddp_ps_rules_rec.use_clause8 := p7_a25;
819     ddp_ps_rules_rec.use_clause9 := p7_a26;
820     ddp_ps_rules_rec.use_clause10 := p7_a27;
821 
822 
823     -- here's the delegated call to the old PL/SQL routine
824     ams_ps_rule_pvt.delete_ps_rule_alt(p_api_version_number,
825       p_init_msg_list,
826       p_commit,
827       p_validation_level,
828       x_return_status,
829       x_msg_count,
830       x_msg_data,
831       ddp_ps_rules_rec,
832       p_object_version_number);
833 
834     -- copy data back from the local OUT or IN-OUT args, if any
835 
836 
837 
838 
839 
840 
841 
842 
843   end;
844 
845   procedure validate_ps_rule(p_api_version_number  NUMBER
846     , p_init_msg_list  VARCHAR2
847     , p_validation_level  NUMBER
848     , x_return_status OUT NOCOPY  VARCHAR2
849     , x_msg_count OUT NOCOPY  NUMBER
850     , x_msg_data OUT NOCOPY  VARCHAR2
851     , p3_a0  NUMBER := 0-1962.0724
852     , p3_a1  DATE := fnd_api.g_miss_date
853     , p3_a2  NUMBER := 0-1962.0724
854     , p3_a3  DATE := fnd_api.g_miss_date
855     , p3_a4  NUMBER := 0-1962.0724
856     , p3_a5  NUMBER := 0-1962.0724
857     , p3_a6  NUMBER := 0-1962.0724
858     , p3_a7  NUMBER := 0-1962.0724
859     , p3_a8  NUMBER := 0-1962.0724
860     , p3_a9  NUMBER := 0-1962.0724
861     , p3_a10  NUMBER := 0-1962.0724
862     , p3_a11  VARCHAR2 := fnd_api.g_miss_char
863     , p3_a12  VARCHAR2 := fnd_api.g_miss_char
864     , p3_a13  VARCHAR2 := fnd_api.g_miss_char
865     , p3_a14  NUMBER := 0-1962.0724
866     , p3_a15  VARCHAR2 := fnd_api.g_miss_char
867     , p3_a16  VARCHAR2 := fnd_api.g_miss_char
868     , p3_a17  NUMBER := 0-1962.0724
869     , p3_a18  VARCHAR2 := fnd_api.g_miss_char
870     , p3_a19  VARCHAR2 := fnd_api.g_miss_char
871     , p3_a20  VARCHAR2 := fnd_api.g_miss_char
872     , p3_a21  VARCHAR2 := fnd_api.g_miss_char
873     , p3_a22  VARCHAR2 := fnd_api.g_miss_char
874     , p3_a23  VARCHAR2 := fnd_api.g_miss_char
875     , p3_a24  VARCHAR2 := fnd_api.g_miss_char
876     , p3_a25  VARCHAR2 := fnd_api.g_miss_char
877     , p3_a26  VARCHAR2 := fnd_api.g_miss_char
878     , p3_a27  VARCHAR2 := fnd_api.g_miss_char
879   )
880   as
881     ddp_ps_rules_rec ams_ps_rule_pvt.ps_rules_rec_type;
882     ddindx binary_integer; indx binary_integer;
883   begin
884 
885     -- copy data to the local IN or IN-OUT args, if any
886 
887 
888 
889     ddp_ps_rules_rec.created_by := rosetta_g_miss_num_map(p3_a0);
890     ddp_ps_rules_rec.creation_date := rosetta_g_miss_date_in_map(p3_a1);
891     ddp_ps_rules_rec.last_updated_by := rosetta_g_miss_num_map(p3_a2);
892     ddp_ps_rules_rec.last_update_date := rosetta_g_miss_date_in_map(p3_a3);
893     ddp_ps_rules_rec.last_update_login := rosetta_g_miss_num_map(p3_a4);
894     ddp_ps_rules_rec.object_version_number := rosetta_g_miss_num_map(p3_a5);
895     ddp_ps_rules_rec.rule_id := rosetta_g_miss_num_map(p3_a6);
896     ddp_ps_rules_rec.rulegroup_id := rosetta_g_miss_num_map(p3_a7);
897     ddp_ps_rules_rec.posting_id := rosetta_g_miss_num_map(p3_a8);
898     ddp_ps_rules_rec.strategy_id := rosetta_g_miss_num_map(p3_a9);
899     ddp_ps_rules_rec.exec_priority := rosetta_g_miss_num_map(p3_a10);
900     ddp_ps_rules_rec.bus_priority_code := p3_a11;
901     ddp_ps_rules_rec.bus_priority_disp_order := p3_a12;
902     ddp_ps_rules_rec.clausevalue1 := p3_a13;
903     ddp_ps_rules_rec.clausevalue2 := rosetta_g_miss_num_map(p3_a14);
904     ddp_ps_rules_rec.clausevalue3 := p3_a15;
905     ddp_ps_rules_rec.clausevalue4 := p3_a16;
906     ddp_ps_rules_rec.clausevalue5 := rosetta_g_miss_num_map(p3_a17);
907     ddp_ps_rules_rec.clausevalue6 := p3_a18;
908     ddp_ps_rules_rec.clausevalue7 := p3_a19;
909     ddp_ps_rules_rec.clausevalue8 := p3_a20;
910     ddp_ps_rules_rec.clausevalue9 := p3_a21;
911     ddp_ps_rules_rec.clausevalue10 := p3_a22;
912     ddp_ps_rules_rec.use_clause6 := p3_a23;
913     ddp_ps_rules_rec.use_clause7 := p3_a24;
914     ddp_ps_rules_rec.use_clause8 := p3_a25;
915     ddp_ps_rules_rec.use_clause9 := p3_a26;
916     ddp_ps_rules_rec.use_clause10 := p3_a27;
917 
918 
919 
920 
921     -- here's the delegated call to the old PL/SQL routine
922     ams_ps_rule_pvt.validate_ps_rule(p_api_version_number,
923       p_init_msg_list,
924       p_validation_level,
925       ddp_ps_rules_rec,
926       x_return_status,
927       x_msg_count,
928       x_msg_data);
929 
930     -- copy data back from the local OUT or IN-OUT args, if any
931 
932 
933 
934 
935 
936 
937   end;
938 
939   procedure check_ps_rules_items(p_validation_mode  VARCHAR2
940     , x_return_status OUT NOCOPY  VARCHAR2
941     , p0_a0  NUMBER := 0-1962.0724
942     , p0_a1  DATE := fnd_api.g_miss_date
943     , p0_a2  NUMBER := 0-1962.0724
944     , p0_a3  DATE := fnd_api.g_miss_date
945     , p0_a4  NUMBER := 0-1962.0724
946     , p0_a5  NUMBER := 0-1962.0724
947     , p0_a6  NUMBER := 0-1962.0724
948     , p0_a7  NUMBER := 0-1962.0724
949     , p0_a8  NUMBER := 0-1962.0724
950     , p0_a9  NUMBER := 0-1962.0724
951     , p0_a10  NUMBER := 0-1962.0724
952     , p0_a11  VARCHAR2 := fnd_api.g_miss_char
953     , p0_a12  VARCHAR2 := fnd_api.g_miss_char
954     , p0_a13  VARCHAR2 := fnd_api.g_miss_char
955     , p0_a14  NUMBER := 0-1962.0724
956     , p0_a15  VARCHAR2 := fnd_api.g_miss_char
957     , p0_a16  VARCHAR2 := fnd_api.g_miss_char
958     , p0_a17  NUMBER := 0-1962.0724
959     , p0_a18  VARCHAR2 := fnd_api.g_miss_char
960     , p0_a19  VARCHAR2 := fnd_api.g_miss_char
961     , p0_a20  VARCHAR2 := fnd_api.g_miss_char
962     , p0_a21  VARCHAR2 := fnd_api.g_miss_char
963     , p0_a22  VARCHAR2 := fnd_api.g_miss_char
964     , p0_a23  VARCHAR2 := fnd_api.g_miss_char
965     , p0_a24  VARCHAR2 := fnd_api.g_miss_char
966     , p0_a25  VARCHAR2 := fnd_api.g_miss_char
967     , p0_a26  VARCHAR2 := fnd_api.g_miss_char
968     , p0_a27  VARCHAR2 := fnd_api.g_miss_char
969   )
970   as
971     ddp_ps_rules_rec ams_ps_rule_pvt.ps_rules_rec_type;
972     ddindx binary_integer; indx binary_integer;
973   begin
974 
975     -- copy data to the local IN or IN-OUT args, if any
976     ddp_ps_rules_rec.created_by := rosetta_g_miss_num_map(p0_a0);
977     ddp_ps_rules_rec.creation_date := rosetta_g_miss_date_in_map(p0_a1);
978     ddp_ps_rules_rec.last_updated_by := rosetta_g_miss_num_map(p0_a2);
979     ddp_ps_rules_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a3);
980     ddp_ps_rules_rec.last_update_login := rosetta_g_miss_num_map(p0_a4);
981     ddp_ps_rules_rec.object_version_number := rosetta_g_miss_num_map(p0_a5);
982     ddp_ps_rules_rec.rule_id := rosetta_g_miss_num_map(p0_a6);
983     ddp_ps_rules_rec.rulegroup_id := rosetta_g_miss_num_map(p0_a7);
984     ddp_ps_rules_rec.posting_id := rosetta_g_miss_num_map(p0_a8);
985     ddp_ps_rules_rec.strategy_id := rosetta_g_miss_num_map(p0_a9);
986     ddp_ps_rules_rec.exec_priority := rosetta_g_miss_num_map(p0_a10);
987     ddp_ps_rules_rec.bus_priority_code := p0_a11;
988     ddp_ps_rules_rec.bus_priority_disp_order := p0_a12;
989     ddp_ps_rules_rec.clausevalue1 := p0_a13;
990     ddp_ps_rules_rec.clausevalue2 := rosetta_g_miss_num_map(p0_a14);
991     ddp_ps_rules_rec.clausevalue3 := p0_a15;
992     ddp_ps_rules_rec.clausevalue4 := p0_a16;
993     ddp_ps_rules_rec.clausevalue5 := rosetta_g_miss_num_map(p0_a17);
994     ddp_ps_rules_rec.clausevalue6 := p0_a18;
995     ddp_ps_rules_rec.clausevalue7 := p0_a19;
996     ddp_ps_rules_rec.clausevalue8 := p0_a20;
997     ddp_ps_rules_rec.clausevalue9 := p0_a21;
998     ddp_ps_rules_rec.clausevalue10 := p0_a22;
999     ddp_ps_rules_rec.use_clause6 := p0_a23;
1000     ddp_ps_rules_rec.use_clause7 := p0_a24;
1001     ddp_ps_rules_rec.use_clause8 := p0_a25;
1002     ddp_ps_rules_rec.use_clause9 := p0_a26;
1003     ddp_ps_rules_rec.use_clause10 := p0_a27;
1004 
1005 
1006 
1007     -- here's the delegated call to the old PL/SQL routine
1008     ams_ps_rule_pvt.check_ps_rules_items(ddp_ps_rules_rec,
1009       p_validation_mode,
1010       x_return_status);
1011 
1012     -- copy data back from the local OUT or IN-OUT args, if any
1013 
1014 
1015   end;
1016 
1017   procedure update_filters(p_rulegroup_id  NUMBER
1018     , p1_a0 JTF_VARCHAR2_TABLE_100
1019     , p1_a1 JTF_VARCHAR2_TABLE_100
1020     , x_return_status OUT NOCOPY  VARCHAR2
1021   )
1022   as
1023     ddp_ps_filter_tbl ams_ps_rule_pvt.ps_rules_tuple_tbl_type;
1024     ddindx binary_integer; indx binary_integer;
1025   begin
1026 
1027     -- copy data to the local IN or IN-OUT args, if any
1028 
1029     ams_ps_rule_pvt_w.rosetta_table_copy_in_p3(ddp_ps_filter_tbl, p1_a0
1030       , p1_a1
1031       );
1032 
1033 
1034     -- here's the delegated call to the old PL/SQL routine
1035     ams_ps_rule_pvt.update_filters(p_rulegroup_id,
1036       ddp_ps_filter_tbl,
1037       x_return_status);
1038 
1039     -- copy data back from the local OUT or IN-OUT args, if any
1040 
1041 
1042   end;
1043 
1044   procedure update_strategy_params(p_rulegroup_id  NUMBER
1045     , p1_a0 JTF_VARCHAR2_TABLE_100
1046     , p1_a1 JTF_VARCHAR2_TABLE_100
1047     , x_return_status OUT NOCOPY  VARCHAR2
1048   )
1049   as
1050     ddp_ps_strategy_tbl ams_ps_rule_pvt.ps_rules_tuple_tbl_type;
1051     ddindx binary_integer; indx binary_integer;
1052   begin
1053 
1054     -- copy data to the local IN or IN-OUT args, if any
1055 
1056     ams_ps_rule_pvt_w.rosetta_table_copy_in_p3(ddp_ps_strategy_tbl, p1_a0
1057       , p1_a1
1058       );
1059 
1060 
1061     -- here's the delegated call to the old PL/SQL routine
1062     ams_ps_rule_pvt.update_strategy_params(p_rulegroup_id,
1063       ddp_ps_strategy_tbl,
1064       x_return_status);
1065 
1066     -- copy data back from the local OUT or IN-OUT args, if any
1067 
1068 
1069   end;
1070 
1071   procedure validate_ps_rules_rec(p_api_version_number  NUMBER
1072     , p_init_msg_list  VARCHAR2
1073     , x_return_status OUT NOCOPY  VARCHAR2
1074     , x_msg_count OUT NOCOPY  NUMBER
1075     , x_msg_data OUT NOCOPY  VARCHAR2
1076     , p5_a0  NUMBER := 0-1962.0724
1077     , p5_a1  DATE := fnd_api.g_miss_date
1078     , p5_a2  NUMBER := 0-1962.0724
1079     , p5_a3  DATE := fnd_api.g_miss_date
1080     , p5_a4  NUMBER := 0-1962.0724
1081     , p5_a5  NUMBER := 0-1962.0724
1082     , p5_a6  NUMBER := 0-1962.0724
1083     , p5_a7  NUMBER := 0-1962.0724
1084     , p5_a8  NUMBER := 0-1962.0724
1085     , p5_a9  NUMBER := 0-1962.0724
1086     , p5_a10  NUMBER := 0-1962.0724
1087     , p5_a11  VARCHAR2 := fnd_api.g_miss_char
1088     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
1089     , p5_a13  VARCHAR2 := fnd_api.g_miss_char
1090     , p5_a14  NUMBER := 0-1962.0724
1091     , p5_a15  VARCHAR2 := fnd_api.g_miss_char
1092     , p5_a16  VARCHAR2 := fnd_api.g_miss_char
1093     , p5_a17  NUMBER := 0-1962.0724
1094     , p5_a18  VARCHAR2 := fnd_api.g_miss_char
1095     , p5_a19  VARCHAR2 := fnd_api.g_miss_char
1096     , p5_a20  VARCHAR2 := fnd_api.g_miss_char
1097     , p5_a21  VARCHAR2 := fnd_api.g_miss_char
1098     , p5_a22  VARCHAR2 := fnd_api.g_miss_char
1099     , p5_a23  VARCHAR2 := fnd_api.g_miss_char
1100     , p5_a24  VARCHAR2 := fnd_api.g_miss_char
1101     , p5_a25  VARCHAR2 := fnd_api.g_miss_char
1102     , p5_a26  VARCHAR2 := fnd_api.g_miss_char
1103     , p5_a27  VARCHAR2 := fnd_api.g_miss_char
1104   )
1105   as
1106     ddp_ps_rules_rec ams_ps_rule_pvt.ps_rules_rec_type;
1107     ddindx binary_integer; indx binary_integer;
1108   begin
1109 
1110     -- copy data to the local IN or IN-OUT args, if any
1111 
1112 
1113 
1114 
1115 
1116     ddp_ps_rules_rec.created_by := rosetta_g_miss_num_map(p5_a0);
1117     ddp_ps_rules_rec.creation_date := rosetta_g_miss_date_in_map(p5_a1);
1118     ddp_ps_rules_rec.last_updated_by := rosetta_g_miss_num_map(p5_a2);
1119     ddp_ps_rules_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a3);
1120     ddp_ps_rules_rec.last_update_login := rosetta_g_miss_num_map(p5_a4);
1121     ddp_ps_rules_rec.object_version_number := rosetta_g_miss_num_map(p5_a5);
1122     ddp_ps_rules_rec.rule_id := rosetta_g_miss_num_map(p5_a6);
1123     ddp_ps_rules_rec.rulegroup_id := rosetta_g_miss_num_map(p5_a7);
1124     ddp_ps_rules_rec.posting_id := rosetta_g_miss_num_map(p5_a8);
1125     ddp_ps_rules_rec.strategy_id := rosetta_g_miss_num_map(p5_a9);
1126     ddp_ps_rules_rec.exec_priority := rosetta_g_miss_num_map(p5_a10);
1127     ddp_ps_rules_rec.bus_priority_code := p5_a11;
1128     ddp_ps_rules_rec.bus_priority_disp_order := p5_a12;
1129     ddp_ps_rules_rec.clausevalue1 := p5_a13;
1130     ddp_ps_rules_rec.clausevalue2 := rosetta_g_miss_num_map(p5_a14);
1131     ddp_ps_rules_rec.clausevalue3 := p5_a15;
1132     ddp_ps_rules_rec.clausevalue4 := p5_a16;
1133     ddp_ps_rules_rec.clausevalue5 := rosetta_g_miss_num_map(p5_a17);
1134     ddp_ps_rules_rec.clausevalue6 := p5_a18;
1135     ddp_ps_rules_rec.clausevalue7 := p5_a19;
1136     ddp_ps_rules_rec.clausevalue8 := p5_a20;
1137     ddp_ps_rules_rec.clausevalue9 := p5_a21;
1138     ddp_ps_rules_rec.clausevalue10 := p5_a22;
1139     ddp_ps_rules_rec.use_clause6 := p5_a23;
1140     ddp_ps_rules_rec.use_clause7 := p5_a24;
1141     ddp_ps_rules_rec.use_clause8 := p5_a25;
1142     ddp_ps_rules_rec.use_clause9 := p5_a26;
1143     ddp_ps_rules_rec.use_clause10 := p5_a27;
1144 
1145     -- here's the delegated call to the old PL/SQL routine
1146     ams_ps_rule_pvt.validate_ps_rules_rec(p_api_version_number,
1147       p_init_msg_list,
1148       x_return_status,
1149       x_msg_count,
1150       x_msg_data,
1151       ddp_ps_rules_rec);
1152 
1153     -- copy data back from the local OUT or IN-OUT args, if any
1154 
1155 
1156 
1157 
1158 
1159   end;
1160 
1161 end ams_ps_rule_pvt_w;