DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_APPROVERS_PVT_W

Source


1 package body ams_approvers_pvt_w as
2   /* $Header: amswaprb.pls 115.7 2002/12/29 08:57:27 vmodur ship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5 
6 
7   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
8   function rosetta_g_miss_date_in_map(d date) return date as
9   begin
10     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
11     return d;
12   end;
13 
14   procedure create_approvers(p_api_version  NUMBER
15     , p_init_msg_list  VARCHAR2
16     , p_commit  VARCHAR2
17     , p_validation_level  NUMBER
18     , x_return_status OUT NOCOPY  VARCHAR2
19     , x_msg_count OUT NOCOPY  NUMBER
20     , x_msg_data OUT NOCOPY  VARCHAR2
21     , p7_a0  NUMBER
22     , p7_a1  DATE
23     , p7_a2  NUMBER
24     , p7_a3  DATE
25     , p7_a4  NUMBER
26     , p7_a5  NUMBER
27     , p7_a6  NUMBER
28     , p7_a7  NUMBER
29     , p7_a8  NUMBER
30     , p7_a9  NUMBER
31     , p7_a10  VARCHAR2
32     , p7_a11  NUMBER
33     , p7_a12  VARCHAR2
34     , p7_a13  NUMBER
35     , p7_a14  VARCHAR2
36     , p7_a15  VARCHAR2
37     , p7_a16  DATE
38     , p7_a17  DATE
39     , x_approver_id OUT NOCOPY  NUMBER
40   )
41 
42   as
43     ddp_approvers_rec ams_approvers_pvt.approvers_rec_type;
44     ddindx binary_integer; indx binary_integer;
45   begin
46 
47     -- copy data to the local IN or IN-OUT args, if any
48 
49 
50 
51 
52 
53 
54 
55     ddp_approvers_rec.approver_id := p7_a0;
56     ddp_approvers_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a1);
57     ddp_approvers_rec.last_updated_by := p7_a2;
58     ddp_approvers_rec.creation_date := rosetta_g_miss_date_in_map(p7_a3);
59     ddp_approvers_rec.created_by := p7_a4;
60     ddp_approvers_rec.last_update_login := p7_a5;
61     ddp_approvers_rec.object_version_number := p7_a6;
62     ddp_approvers_rec.security_group_id := p7_a7;
63     ddp_approvers_rec.ams_approval_detail_id := p7_a8;
64     ddp_approvers_rec.approver_seq := p7_a9;
65     ddp_approvers_rec.approver_type := p7_a10;
66     ddp_approvers_rec.object_approver_id := p7_a11;
67     ddp_approvers_rec.notification_type := p7_a12;
68     ddp_approvers_rec.notification_timeout := p7_a13;
69     ddp_approvers_rec.seeded_flag := p7_a14;
70     ddp_approvers_rec.active_flag := p7_a15;
71     ddp_approvers_rec.start_date_active := rosetta_g_miss_date_in_map(p7_a16);
72     ddp_approvers_rec.end_date_active := rosetta_g_miss_date_in_map(p7_a17);
73 
74 
75     -- here's the delegated call to the old PL/SQL routine
76     ams_approvers_pvt.create_approvers(p_api_version,
77       p_init_msg_list,
78       p_commit,
79       p_validation_level,
80       x_return_status,
81       x_msg_count,
82       x_msg_data,
83       ddp_approvers_rec,
84       x_approver_id);
85 
86     -- copy data back from the local variables to OUT or IN-OUT args, if any
87 
88 
89 
90 
91 
92 
93 
94 
95   end;
96 
97   procedure update_approvers(p_api_version  NUMBER
98     , p_init_msg_list  VARCHAR2
99     , p_commit  VARCHAR2
100     , p_validation_level  NUMBER
101     , x_return_status OUT NOCOPY  VARCHAR2
102     , x_msg_count OUT NOCOPY  NUMBER
103     , x_msg_data OUT NOCOPY  VARCHAR2
104     , p7_a0  NUMBER
105     , p7_a1  DATE
106     , p7_a2  NUMBER
107     , p7_a3  DATE
108     , p7_a4  NUMBER
109     , p7_a5  NUMBER
110     , p7_a6  NUMBER
111     , p7_a7  NUMBER
112     , p7_a8  NUMBER
113     , p7_a9  NUMBER
114     , p7_a10  VARCHAR2
115     , p7_a11  NUMBER
116     , p7_a12  VARCHAR2
117     , p7_a13  NUMBER
118     , p7_a14  VARCHAR2
119     , p7_a15  VARCHAR2
120     , p7_a16  DATE
121     , p7_a17  DATE
122   )
123 
124   as
125     ddp_approvers_rec ams_approvers_pvt.approvers_rec_type;
126     ddindx binary_integer; indx binary_integer;
127   begin
128 
129     -- copy data to the local IN or IN-OUT args, if any
130 
131 
132 
133 
134 
135 
136 
137     ddp_approvers_rec.approver_id := p7_a0;
138     ddp_approvers_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a1);
139     ddp_approvers_rec.last_updated_by := p7_a2;
140     ddp_approvers_rec.creation_date := rosetta_g_miss_date_in_map(p7_a3);
141     ddp_approvers_rec.created_by := p7_a4;
142     ddp_approvers_rec.last_update_login := p7_a5;
143     ddp_approvers_rec.object_version_number := p7_a6;
144     ddp_approvers_rec.security_group_id := p7_a7;
145     ddp_approvers_rec.ams_approval_detail_id := p7_a8;
146     ddp_approvers_rec.approver_seq := p7_a9;
147     ddp_approvers_rec.approver_type := p7_a10;
148     ddp_approvers_rec.object_approver_id := p7_a11;
149     ddp_approvers_rec.notification_type := p7_a12;
150     ddp_approvers_rec.notification_timeout := p7_a13;
151     ddp_approvers_rec.seeded_flag := p7_a14;
152     ddp_approvers_rec.active_flag := p7_a15;
153     ddp_approvers_rec.start_date_active := rosetta_g_miss_date_in_map(p7_a16);
154     ddp_approvers_rec.end_date_active := rosetta_g_miss_date_in_map(p7_a17);
155 
156     -- here's the delegated call to the old PL/SQL routine
157     ams_approvers_pvt.update_approvers(p_api_version,
158       p_init_msg_list,
159       p_commit,
160       p_validation_level,
161       x_return_status,
162       x_msg_count,
163       x_msg_data,
164       ddp_approvers_rec);
165 
166     -- copy data back from the local variables to OUT or IN-OUT args, if any
167 
168 
169 
170 
171 
172 
173 
174   end;
175 
176   procedure validate_approvers(p_api_version  NUMBER
177     , p_init_msg_list  VARCHAR2
178     , p_commit  VARCHAR2
179     , p_validation_level  NUMBER
180     , x_return_status OUT NOCOPY  VARCHAR2
181     , x_msg_count OUT NOCOPY  NUMBER
182     , x_msg_data OUT NOCOPY  VARCHAR2
183     , p7_a0  NUMBER
184     , p7_a1  DATE
185     , p7_a2  NUMBER
186     , p7_a3  DATE
187     , p7_a4  NUMBER
188     , p7_a5  NUMBER
189     , p7_a6  NUMBER
190     , p7_a7  NUMBER
191     , p7_a8  NUMBER
192     , p7_a9  NUMBER
193     , p7_a10  VARCHAR2
194     , p7_a11  NUMBER
195     , p7_a12  VARCHAR2
196     , p7_a13  NUMBER
197     , p7_a14  VARCHAR2
198     , p7_a15  VARCHAR2
199     , p7_a16  DATE
200     , p7_a17  DATE
201   )
202 
203   as
204     ddp_approvers_rec ams_approvers_pvt.approvers_rec_type;
205     ddindx binary_integer; indx binary_integer;
206   begin
207 
208     -- copy data to the local IN or IN-OUT args, if any
209 
210 
211 
212 
213 
214 
215 
216     ddp_approvers_rec.approver_id := p7_a0;
217     ddp_approvers_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a1);
218     ddp_approvers_rec.last_updated_by := p7_a2;
219     ddp_approvers_rec.creation_date := rosetta_g_miss_date_in_map(p7_a3);
220     ddp_approvers_rec.created_by := p7_a4;
221     ddp_approvers_rec.last_update_login := p7_a5;
222     ddp_approvers_rec.object_version_number := p7_a6;
223     ddp_approvers_rec.security_group_id := p7_a7;
224     ddp_approvers_rec.ams_approval_detail_id := p7_a8;
225     ddp_approvers_rec.approver_seq := p7_a9;
226     ddp_approvers_rec.approver_type := p7_a10;
227     ddp_approvers_rec.object_approver_id := p7_a11;
228     ddp_approvers_rec.notification_type := p7_a12;
229     ddp_approvers_rec.notification_timeout := p7_a13;
230     ddp_approvers_rec.seeded_flag := p7_a14;
231     ddp_approvers_rec.active_flag := p7_a15;
232     ddp_approvers_rec.start_date_active := rosetta_g_miss_date_in_map(p7_a16);
233     ddp_approvers_rec.end_date_active := rosetta_g_miss_date_in_map(p7_a17);
234 
235     -- here's the delegated call to the old PL/SQL routine
236     ams_approvers_pvt.validate_approvers(p_api_version,
237       p_init_msg_list,
238       p_commit,
239       p_validation_level,
240       x_return_status,
241       x_msg_count,
242       x_msg_data,
243       ddp_approvers_rec);
244 
245     -- copy data back from the local variables to OUT or IN-OUT args, if any
246 
247 
248 
249 
250 
251 
252 
253   end;
254 
255   procedure check_approvers_items(p0_a0  NUMBER
256     , p0_a1  DATE
257     , p0_a2  NUMBER
258     , p0_a3  DATE
259     , p0_a4  NUMBER
260     , p0_a5  NUMBER
261     , p0_a6  NUMBER
262     , p0_a7  NUMBER
263     , p0_a8  NUMBER
264     , p0_a9  NUMBER
265     , p0_a10  VARCHAR2
266     , p0_a11  NUMBER
267     , p0_a12  VARCHAR2
268     , p0_a13  NUMBER
269     , p0_a14  VARCHAR2
270     , p0_a15  VARCHAR2
271     , p0_a16  DATE
272     , p0_a17  DATE
273     , p_validation_mode  VARCHAR2
274     , x_return_status OUT NOCOPY  VARCHAR2
275   )
276 
277   as
278     ddp_approvers_rec ams_approvers_pvt.approvers_rec_type;
279     ddindx binary_integer; indx binary_integer;
280   begin
281 
282     -- copy data to the local IN or IN-OUT args, if any
283     ddp_approvers_rec.approver_id := p0_a0;
284     ddp_approvers_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a1);
285     ddp_approvers_rec.last_updated_by := p0_a2;
286     ddp_approvers_rec.creation_date := rosetta_g_miss_date_in_map(p0_a3);
287     ddp_approvers_rec.created_by := p0_a4;
288     ddp_approvers_rec.last_update_login := p0_a5;
289     ddp_approvers_rec.object_version_number := p0_a6;
290     ddp_approvers_rec.security_group_id := p0_a7;
291     ddp_approvers_rec.ams_approval_detail_id := p0_a8;
292     ddp_approvers_rec.approver_seq := p0_a9;
293     ddp_approvers_rec.approver_type := p0_a10;
294     ddp_approvers_rec.object_approver_id := p0_a11;
295     ddp_approvers_rec.notification_type := p0_a12;
296     ddp_approvers_rec.notification_timeout := p0_a13;
297     ddp_approvers_rec.seeded_flag := p0_a14;
298     ddp_approvers_rec.active_flag := p0_a15;
299     ddp_approvers_rec.start_date_active := rosetta_g_miss_date_in_map(p0_a16);
300     ddp_approvers_rec.end_date_active := rosetta_g_miss_date_in_map(p0_a17);
301 
302 
303 
304     -- here's the delegated call to the old PL/SQL routine
305     ams_approvers_pvt.check_approvers_items(ddp_approvers_rec,
306       p_validation_mode,
307       x_return_status);
308 
309     -- copy data back from the local variables to OUT or IN-OUT args, if any
310 
311 
312   end;
313 
314   procedure check_approvers_record(p0_a0  NUMBER
315     , p0_a1  DATE
316     , p0_a2  NUMBER
317     , p0_a3  DATE
318     , p0_a4  NUMBER
319     , p0_a5  NUMBER
320     , p0_a6  NUMBER
321     , p0_a7  NUMBER
322     , p0_a8  NUMBER
323     , p0_a9  NUMBER
324     , p0_a10  VARCHAR2
325     , p0_a11  NUMBER
326     , p0_a12  VARCHAR2
327     , p0_a13  NUMBER
328     , p0_a14  VARCHAR2
329     , p0_a15  VARCHAR2
330     , p0_a16  DATE
331     , p0_a17  DATE
332     , p1_a0  NUMBER
333     , p1_a1  DATE
334     , p1_a2  NUMBER
335     , p1_a3  DATE
336     , p1_a4  NUMBER
337     , p1_a5  NUMBER
338     , p1_a6  NUMBER
339     , p1_a7  NUMBER
340     , p1_a8  NUMBER
341     , p1_a9  NUMBER
342     , p1_a10  VARCHAR2
343     , p1_a11  NUMBER
344     , p1_a12  VARCHAR2
345     , p1_a13  NUMBER
346     , p1_a14  VARCHAR2
347     , p1_a15  VARCHAR2
348     , p1_a16  DATE
349     , p1_a17  DATE
350     , x_return_status OUT NOCOPY  VARCHAR2
351   )
352 
353   as
354     ddp_approvers_rec ams_approvers_pvt.approvers_rec_type;
355     ddp_complete_rec ams_approvers_pvt.approvers_rec_type;
356     ddindx binary_integer; indx binary_integer;
357   begin
358 
359     -- copy data to the local IN or IN-OUT args, if any
360     ddp_approvers_rec.approver_id := p0_a0;
361     ddp_approvers_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a1);
362     ddp_approvers_rec.last_updated_by := p0_a2;
363     ddp_approvers_rec.creation_date := rosetta_g_miss_date_in_map(p0_a3);
364     ddp_approvers_rec.created_by := p0_a4;
365     ddp_approvers_rec.last_update_login := p0_a5;
366     ddp_approvers_rec.object_version_number := p0_a6;
367     ddp_approvers_rec.security_group_id := p0_a7;
368     ddp_approvers_rec.ams_approval_detail_id := p0_a8;
369     ddp_approvers_rec.approver_seq := p0_a9;
370     ddp_approvers_rec.approver_type := p0_a10;
371     ddp_approvers_rec.object_approver_id := p0_a11;
372     ddp_approvers_rec.notification_type := p0_a12;
373     ddp_approvers_rec.notification_timeout := p0_a13;
374     ddp_approvers_rec.seeded_flag := p0_a14;
375     ddp_approvers_rec.active_flag := p0_a15;
376     ddp_approvers_rec.start_date_active := rosetta_g_miss_date_in_map(p0_a16);
377     ddp_approvers_rec.end_date_active := rosetta_g_miss_date_in_map(p0_a17);
378 
379     ddp_complete_rec.approver_id := p1_a0;
380     ddp_complete_rec.last_update_date := rosetta_g_miss_date_in_map(p1_a1);
381     ddp_complete_rec.last_updated_by := p1_a2;
382     ddp_complete_rec.creation_date := rosetta_g_miss_date_in_map(p1_a3);
383     ddp_complete_rec.created_by := p1_a4;
384     ddp_complete_rec.last_update_login := p1_a5;
385     ddp_complete_rec.object_version_number := p1_a6;
386     ddp_complete_rec.security_group_id := p1_a7;
387     ddp_complete_rec.ams_approval_detail_id := p1_a8;
388     ddp_complete_rec.approver_seq := p1_a9;
389     ddp_complete_rec.approver_type := p1_a10;
390     ddp_complete_rec.object_approver_id := p1_a11;
391     ddp_complete_rec.notification_type := p1_a12;
392     ddp_complete_rec.notification_timeout := p1_a13;
393     ddp_complete_rec.seeded_flag := p1_a14;
394     ddp_complete_rec.active_flag := p1_a15;
395     ddp_complete_rec.start_date_active := rosetta_g_miss_date_in_map(p1_a16);
396     ddp_complete_rec.end_date_active := rosetta_g_miss_date_in_map(p1_a17);
397 
398 
399     -- here's the delegated call to the old PL/SQL routine
400     ams_approvers_pvt.check_approvers_record(ddp_approvers_rec,
401       ddp_complete_rec,
402       x_return_status);
403 
404     -- copy data back from the local variables to OUT or IN-OUT args, if any
405 
406 
407   end;
408 
409   procedure init_approvers_rec(p0_a0 OUT NOCOPY  NUMBER
410     , p0_a1 OUT NOCOPY  DATE
411     , p0_a2 OUT NOCOPY  NUMBER
412     , p0_a3 OUT NOCOPY  DATE
413     , p0_a4 OUT NOCOPY  NUMBER
414     , p0_a5 OUT NOCOPY  NUMBER
415     , p0_a6 OUT NOCOPY  NUMBER
416     , p0_a7 OUT NOCOPY  NUMBER
417     , p0_a8 OUT NOCOPY  NUMBER
418     , p0_a9 OUT NOCOPY  NUMBER
419     , p0_a10 OUT NOCOPY  VARCHAR2
420     , p0_a11 OUT NOCOPY  NUMBER
421     , p0_a12 OUT NOCOPY  VARCHAR2
422     , p0_a13 OUT NOCOPY  NUMBER
423     , p0_a14 OUT NOCOPY  VARCHAR2
424     , p0_a15 OUT NOCOPY  VARCHAR2
425     , p0_a16 OUT NOCOPY  DATE
426     , p0_a17 OUT NOCOPY  DATE
427   )
428 
429   as
430     ddx_approvers_rec ams_approvers_pvt.approvers_rec_type;
431     ddindx binary_integer; indx binary_integer;
432   begin
433 
434     -- copy data to the local IN or IN-OUT args, if any
435 
436     -- here's the delegated call to the old PL/SQL routine
437     ams_approvers_pvt.init_approvers_rec(ddx_approvers_rec);
438 
439     -- copy data back from the local variables to OUT or IN-OUT args, if any
440     p0_a0 := ddx_approvers_rec.approver_id;
441     p0_a1 := ddx_approvers_rec.last_update_date;
442     p0_a2 := ddx_approvers_rec.last_updated_by;
443     p0_a3 := ddx_approvers_rec.creation_date;
444     p0_a4 := ddx_approvers_rec.created_by;
445     p0_a5 := ddx_approvers_rec.last_update_login;
446     p0_a6 := ddx_approvers_rec.object_version_number;
447     p0_a7 := ddx_approvers_rec.security_group_id;
448     p0_a8 := ddx_approvers_rec.ams_approval_detail_id;
449     p0_a9 := ddx_approvers_rec.approver_seq;
450     p0_a10 := ddx_approvers_rec.approver_type;
451     p0_a11 := ddx_approvers_rec.object_approver_id;
452     p0_a12 := ddx_approvers_rec.notification_type;
453     p0_a13 := ddx_approvers_rec.notification_timeout;
454     p0_a14 := ddx_approvers_rec.seeded_flag;
455     p0_a15 := ddx_approvers_rec.active_flag;
456     p0_a16 := ddx_approvers_rec.start_date_active;
457     p0_a17 := ddx_approvers_rec.end_date_active;
458   end;
459 
460   procedure complete_approvers_rec(p0_a0  NUMBER
461     , p0_a1  DATE
462     , p0_a2  NUMBER
463     , p0_a3  DATE
464     , p0_a4  NUMBER
465     , p0_a5  NUMBER
466     , p0_a6  NUMBER
467     , p0_a7  NUMBER
468     , p0_a8  NUMBER
469     , p0_a9  NUMBER
470     , p0_a10  VARCHAR2
471     , p0_a11  NUMBER
472     , p0_a12  VARCHAR2
473     , p0_a13  NUMBER
474     , p0_a14  VARCHAR2
475     , p0_a15  VARCHAR2
476     , p0_a16  DATE
477     , p0_a17  DATE
478     , p1_a0 OUT NOCOPY  NUMBER
479     , p1_a1 OUT NOCOPY  DATE
480     , p1_a2 OUT NOCOPY  NUMBER
481     , p1_a3 OUT NOCOPY  DATE
482     , p1_a4 OUT NOCOPY  NUMBER
483     , p1_a5 OUT NOCOPY  NUMBER
484     , p1_a6 OUT NOCOPY  NUMBER
485     , p1_a7 OUT NOCOPY  NUMBER
486     , p1_a8 OUT NOCOPY  NUMBER
487     , p1_a9 OUT NOCOPY  NUMBER
488     , p1_a10 OUT NOCOPY  VARCHAR2
489     , p1_a11 OUT NOCOPY  NUMBER
490     , p1_a12 OUT NOCOPY  VARCHAR2
491     , p1_a13 OUT NOCOPY  NUMBER
492     , p1_a14 OUT NOCOPY  VARCHAR2
493     , p1_a15 OUT NOCOPY  VARCHAR2
494     , p1_a16 OUT NOCOPY  DATE
495     , p1_a17 OUT NOCOPY  DATE
496   )
497 
498   as
499     ddp_approvers_rec ams_approvers_pvt.approvers_rec_type;
500     ddx_complete_rec ams_approvers_pvt.approvers_rec_type;
501     ddindx binary_integer; indx binary_integer;
502   begin
503 
504     -- copy data to the local IN or IN-OUT args, if any
505     ddp_approvers_rec.approver_id := p0_a0;
506     ddp_approvers_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a1);
507     ddp_approvers_rec.last_updated_by := p0_a2;
508     ddp_approvers_rec.creation_date := rosetta_g_miss_date_in_map(p0_a3);
509     ddp_approvers_rec.created_by := p0_a4;
510     ddp_approvers_rec.last_update_login := p0_a5;
511     ddp_approvers_rec.object_version_number := p0_a6;
512     ddp_approvers_rec.security_group_id := p0_a7;
513     ddp_approvers_rec.ams_approval_detail_id := p0_a8;
514     ddp_approvers_rec.approver_seq := p0_a9;
515     ddp_approvers_rec.approver_type := p0_a10;
516     ddp_approvers_rec.object_approver_id := p0_a11;
517     ddp_approvers_rec.notification_type := p0_a12;
518     ddp_approvers_rec.notification_timeout := p0_a13;
519     ddp_approvers_rec.seeded_flag := p0_a14;
520     ddp_approvers_rec.active_flag := p0_a15;
521     ddp_approvers_rec.start_date_active := rosetta_g_miss_date_in_map(p0_a16);
522     ddp_approvers_rec.end_date_active := rosetta_g_miss_date_in_map(p0_a17);
523 
524 
525     -- here's the delegated call to the old PL/SQL routine
526     ams_approvers_pvt.complete_approvers_rec(ddp_approvers_rec,
527       ddx_complete_rec);
528 
529     -- copy data back from the local variables to OUT or IN-OUT args, if any
530 
531     p1_a0 := ddx_complete_rec.approver_id;
532     p1_a1 := ddx_complete_rec.last_update_date;
533     p1_a2 := ddx_complete_rec.last_updated_by;
534     p1_a3 := ddx_complete_rec.creation_date;
535     p1_a4 := ddx_complete_rec.created_by;
536     p1_a5 := ddx_complete_rec.last_update_login;
537     p1_a6 := ddx_complete_rec.object_version_number;
538     p1_a7 := ddx_complete_rec.security_group_id;
539     p1_a8 := ddx_complete_rec.ams_approval_detail_id;
540     p1_a9 := ddx_complete_rec.approver_seq;
541     p1_a10 := ddx_complete_rec.approver_type;
542     p1_a11 := ddx_complete_rec.object_approver_id;
543     p1_a12 := ddx_complete_rec.notification_type;
544     p1_a13 := ddx_complete_rec.notification_timeout;
545     p1_a14 := ddx_complete_rec.seeded_flag;
546     p1_a15 := ddx_complete_rec.active_flag;
547     p1_a16 := ddx_complete_rec.start_date_active;
548     p1_a17 := ddx_complete_rec.end_date_active;
549   end;
550 
551 end ams_approvers_pvt_w;