DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_EVENTOFFER_PUB

Source


1 PACKAGE BODY AMS_EventOffer_PUB AS
2 /* $Header: amspevob.pls 115.3 2002/12/02 20:30:36 dbiswas ship $ */
3 
4 
5 g_pkg_name  CONSTANT VARCHAR2(30):='AMS_EventOffer_PUB';
6 
7 
8 ---------------------------------------------------------------------
9 -- PROCEDURE
10 --    create_EventOffer
11 --
12 -- HISTORY
13 --    10/01/99  holiu  Created.
14 ---------------------------------------------------------------------
15 AMS_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
16 AMS_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
17 AMS_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
18 
19 PROCEDURE create_EventOffer(
20    p_api_version       IN  NUMBER,
21    p_init_msg_list     IN  VARCHAR2  := FND_API.g_false,
22    p_commit            IN  VARCHAR2  := FND_API.g_false,
23    p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full,
24 
25    x_return_status     OUT NOCOPY VARCHAR2,
26    x_msg_count         OUT NOCOPY NUMBER,
27    x_msg_data          OUT NOCOPY VARCHAR2,
28 
29    p_evo_rec          IN  AMS_EventOffer_PVT.evo_rec_type,
30    x_evo_id           OUT NOCOPY NUMBER
31 )
32 IS
33 
34    l_api_name       CONSTANT VARCHAR2(30) := 'create_EventOffer';
35    l_return_status  VARCHAR2(1);
36    l_evo_rec       AMS_EventOffer_PVT.evo_rec_type := p_evo_rec;
37 
38 BEGIN
39 
40    SAVEPOINT create_EventOffer_pub;
41 
42    -- initialize the message list;
43    -- won't do it again when calling private API
44    IF FND_API.to_boolean(p_init_msg_list) THEN
45       FND_MSG_PUB.initialize;
46    END IF;
47 
48    -- customer pre-processing
49    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
50    THEN
51       AMS_EventOffer_CUHK.create_EventOffer_pre(
52          l_evo_rec,
53          l_return_status
54       );
55 
56       IF l_return_status = FND_API.g_ret_sts_error THEN
57          RAISE FND_API.g_exc_error;
58       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
59          RAISE FND_API.g_exc_unexpected_error;
60       END IF;
61    END IF;
62 
63    -- vertical industry pre-processing
64    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
65    THEN
66       AMS_EventOffer_VUHK.create_EventOffer_pre(
67          l_evo_rec,
68          l_return_status
69       );
70 
71       IF l_return_status = FND_API.g_ret_sts_error THEN
72          RAISE FND_API.g_exc_error;
73       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
74          RAISE FND_API.g_exc_unexpected_error;
75       END IF;
76    END IF;
77 
78    -- call business API
79    AMS_EventOffer_PVT.create_Event_Offer(
80       p_api_version      => p_api_version,
81       p_init_msg_list    => FND_API.g_false, --has done before
82       p_commit           => FND_API.g_false, -- will do after
83       p_validation_level => p_validation_level,
84 
85       x_return_status    => l_return_status,
86       x_msg_count        => x_msg_count,
87       x_msg_data         => x_msg_data,
88 
89       p_evo_rec         => l_evo_rec,
90       x_evo_id          => x_evo_id
91    );
92 
93    IF l_return_status = FND_API.g_ret_sts_error THEN
94       RAISE FND_API.g_exc_error;
95    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
96       RAISE FND_API.g_exc_unexpected_error;
97    END IF;
98 
99    -- vertical industry post-processing
100    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
101    THEN
102       AMS_EventOffer_VUHK.create_EventOffer_post(
103          l_evo_rec,
104          x_evo_id,
105          l_return_status
106       );
107 
108       IF l_return_status = FND_API.g_ret_sts_error THEN
109          RAISE FND_API.g_exc_error;
110       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
111          RAISE FND_API.g_exc_unexpected_error;
112       END IF;
113    END IF;
114 
115    -- customer post-processing
116    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
117    THEN
118       AMS_EventOffer_CUHK.create_EventOffer_post(
119          l_evo_rec,
120          x_evo_id,
121          l_return_status
122       );
123 
124       IF l_return_status = FND_API.g_ret_sts_error THEN
125          RAISE FND_API.g_exc_error;
126       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
127          RAISE FND_API.g_exc_unexpected_error;
128       END IF;
129    END IF;
130 
131    IF FND_API.to_boolean(p_commit) THEN
132       COMMIT;
133    END IF;
134    x_return_status := FND_API.g_ret_sts_success;
135    FND_MSG_PUB.count_and_get(
136          p_encoded => FND_API.g_false,
137          p_count   => x_msg_count,
138          p_data    => x_msg_data
139    );
140 
141 EXCEPTION
142 
143    WHEN FND_API.g_exc_error THEN
144       ROLLBACK TO create_EventOffer_pub;
145       x_return_status := FND_API.g_ret_sts_error;
146       FND_MSG_PUB.count_and_get(
147             p_encoded => FND_API.g_false,
148             p_count   => x_msg_count,
149             p_data    => x_msg_data
150       );
151 
152    WHEN FND_API.g_exc_unexpected_error THEN
153       ROLLBACK TO create_EventOffer_pub;
154       x_return_status := FND_API.g_ret_sts_unexp_error ;
155       FND_MSG_PUB.count_and_get(
156             p_encoded => FND_API.g_false,
157             p_count   => x_msg_count,
158             p_data    => x_msg_data
159       );
160 
161 
162    WHEN OTHERS THEN
163       ROLLBACK TO create_EventOffer_pub;
164       x_return_status := FND_API.g_ret_sts_unexp_error ;
165 
166       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
167 		THEN
168          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
169       END IF;
170 
171       FND_MSG_PUB.count_and_get(
172             p_encoded => FND_API.g_false,
173             p_count   => x_msg_count,
174             p_data    => x_msg_data
175       );
176 
177 END create_EventOffer;
178 
179 
180 ---------------------------------------------------------------------
181 -- PROCEDURE
182 --    delete_EventOffer
183 --
184 -- HISTORY
185 --    10/01/99  holiu  Created.
186 ---------------------------------------------------------------------
187 PROCEDURE delete_EventOffer(
188    p_api_version       IN  NUMBER,
189    p_init_msg_list     IN  VARCHAR2 := FND_API.g_false,
190    p_commit            IN  VARCHAR2 := FND_API.g_false,
191 
192    x_return_status     OUT NOCOPY VARCHAR2,
193    x_msg_count         OUT NOCOPY NUMBER,
194    x_msg_data          OUT NOCOPY VARCHAR2,
195 
196    p_evo_id           IN  NUMBER,
197    p_object_version    IN  NUMBER
198 )
199 IS
200 
201    l_api_name       CONSTANT VARCHAR2(30) := 'delete_EventOffer';
202    l_return_status  VARCHAR2(1);
203    l_evo_id        NUMBER := p_evo_id;
204    l_object_version NUMBER := p_object_version;
205 
206 BEGIN
207 
208    SAVEPOINT delete_EventOffer_pub;
209 
210    -- initialize the message list;
211    -- won't do it again when calling private API
212    IF FND_API.to_boolean(p_init_msg_list) THEN
213       FND_MSG_PUB.initialize;
214    END IF;
215 
216    -- customer pre-processing
217    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
218    THEN
219       AMS_EventOffer_CUHK.delete_EventOffer_pre(
220          l_evo_id,
221          l_object_version,
222          l_return_status
223       );
224 
225       IF l_return_status = FND_API.g_ret_sts_error THEN
226          RAISE FND_API.g_exc_error;
227       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
228          RAISE FND_API.g_exc_unexpected_error;
229       END IF;
230    END IF;
231 
232    -- vertical industry pre-processing
233    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
234    THEN
235       AMS_EventOffer_VUHK.delete_EventOffer_pre(
236          l_evo_id,
237          l_object_version,
238          l_return_status
239       );
240 
241       IF l_return_status = FND_API.g_ret_sts_error THEN
242          RAISE FND_API.g_exc_error;
243       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
244          RAISE FND_API.g_exc_unexpected_error;
245       END IF;
246    END IF;
247 
248    -- call business API
249    AMS_EventOffer_PVT.delete_Event_Offer(
250       p_api_version      => p_api_version,
251       p_init_msg_list    => FND_API.g_false, --has done before
252       p_commit           => FND_API.g_false, -- will do after
253 
254       x_return_status    => l_return_status,
255       x_msg_count        => x_msg_count,
256       x_msg_data         => x_msg_data,
257 
258       p_evo_id          => l_evo_id,
259       p_object_version   => l_object_version
260    );
261 
262    IF l_return_status = FND_API.g_ret_sts_error THEN
263       RAISE FND_API.g_exc_error;
264    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
265       RAISE FND_API.g_exc_unexpected_error;
266    END IF;
267 
268    -- vertical industry post-processing
269    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
270    THEN
271       AMS_EventOffer_VUHK.delete_EventOffer_post(
272          l_evo_id,
273          l_object_version,
274          l_return_status
275       );
276 
277       IF l_return_status = FND_API.g_ret_sts_error THEN
278          RAISE FND_API.g_exc_error;
279       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
280          RAISE FND_API.g_exc_unexpected_error;
281       END IF;
282    END IF;
283 
284    -- customer post-processing
285    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
286    THEN
287       AMS_EventOffer_CUHK.delete_EventOffer_post(
288          l_evo_id,
289          l_object_version,
290          l_return_status
291       );
292 
293       IF l_return_status = FND_API.g_ret_sts_error THEN
294          RAISE FND_API.g_exc_error;
295       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
296          RAISE FND_API.g_exc_unexpected_error;
297       END IF;
298    END IF;
299 
300    IF FND_API.to_boolean(p_commit) THEN
301       COMMIT;
302    END IF;
303    x_return_status := FND_API.g_ret_sts_success;
304    FND_MSG_PUB.count_and_get(
305          p_encoded => FND_API.g_false,
306          p_count   => x_msg_count,
307          p_data    => x_msg_data
308    );
309 
310 
311 EXCEPTION
312 
313    WHEN FND_API.g_exc_error THEN
314       ROLLBACK TO delete_EventOffer_pub;
315       x_return_status := FND_API.g_ret_sts_error;
316       FND_MSG_PUB.count_and_get(
317             p_encoded => FND_API.g_false,
318             p_count   => x_msg_count,
319             p_data    => x_msg_data
320       );
321 
322    WHEN FND_API.g_exc_unexpected_error THEN
323       ROLLBACK TO delete_EventOffer_pub;
324       x_return_status := FND_API.g_ret_sts_unexp_error ;
325       FND_MSG_PUB.count_and_get(
326             p_encoded => FND_API.g_false,
327             p_count   => x_msg_count,
328             p_data    => x_msg_data
329       );
330 
331 
332    WHEN OTHERS THEN
333       ROLLBACK TO delete_EventOffer_pub;
334       x_return_status := FND_API.g_ret_sts_unexp_error ;
335 
336       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
337 		THEN
338          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
339       END IF;
340 
341       FND_MSG_PUB.count_and_get(
342             p_encoded => FND_API.g_false,
343             p_count   => x_msg_count,
344             p_data    => x_msg_data
345       );
346 
347 END delete_EventOffer;
348 
349 
350 ---------------------------------------------------------------------
351 -- PROCEDURE
352 --    lock_EventOffer
353 --
354 -- HISTORY
355 --    10/01/99  holiu  Created.
356 ---------------------------------------------------------------------
357 PROCEDURE lock_EventOffer(
358    p_api_version       IN  NUMBER,
359    p_init_msg_list     IN  VARCHAR2 := FND_API.g_false,
360 
361    x_return_status     OUT NOCOPY VARCHAR2,
362    x_msg_count         OUT NOCOPY NUMBER,
363    x_msg_data          OUT NOCOPY VARCHAR2,
364 
365    p_evo_id           IN  NUMBER,
366    p_object_version    IN  NUMBER
367 )
368 IS
369 
370    l_api_name       CONSTANT VARCHAR2(30) := 'lock_EventOffer';
371    l_return_status  VARCHAR2(1);
372    l_evo_id        NUMBER := p_evo_id;
373    l_object_version NUMBER := p_object_version;
374 
375 BEGIN
376 
377    SAVEPOINT lock_EventOffer_pub;
378 
379    -- initialize the message list;
380    -- won't do it again when calling private API
381    IF FND_API.to_boolean(p_init_msg_list) THEN
382       FND_MSG_PUB.initialize;
383    END IF;
384 
385    -- customer pre-processing
386    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
387    THEN
388       AMS_EventOffer_CUHK.lock_EventOffer_pre(
389          l_evo_id,
390          l_object_version,
391          l_return_status
392       );
393 
394       IF l_return_status = FND_API.g_ret_sts_error THEN
395          RAISE FND_API.g_exc_error;
396       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
397          RAISE FND_API.g_exc_unexpected_error;
398       END IF;
399    END IF;
400 
401    -- vertical industry pre-processing
402    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
403    THEN
404       AMS_EventOffer_VUHK.lock_EventOffer_pre(
405          l_evo_id,
406          l_object_version,
407          l_return_status
408       );
409 
410       IF l_return_status = FND_API.g_ret_sts_error THEN
411          RAISE FND_API.g_exc_error;
412       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
413          RAISE FND_API.g_exc_unexpected_error;
414       END IF;
415    END IF;
416 
417    -- call business API
418    AMS_EventOffer_PVT.lock_Event_Offer(
419       p_api_version      => p_api_version,
420       p_init_msg_list    => FND_API.g_false, --has done before
421 
422       x_return_status    => l_return_status,
423       x_msg_count        => x_msg_count,
424       x_msg_data         => x_msg_data,
425 
426       p_evo_id          => l_evo_id,
427       p_object_version   => l_object_version
428    );
429 
430    IF l_return_status = FND_API.g_ret_sts_error THEN
431       RAISE FND_API.g_exc_error;
432    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
433       RAISE FND_API.g_exc_unexpected_error;
434    END IF;
435 
436    -- vertical industry post-processing
437    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
438    THEN
439       AMS_EventOffer_VUHK.lock_EventOffer_post(
440          l_evo_id,
441          l_object_version,
442          l_return_status
443       );
444 
445       IF l_return_status = FND_API.g_ret_sts_error THEN
446          RAISE FND_API.g_exc_error;
447       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
448          RAISE FND_API.g_exc_unexpected_error;
449       END IF;
453    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
450    END IF;
451 
452    -- customer post-processing
454    THEN
455       AMS_EventOffer_CUHK.lock_EventOffer_post(
456          l_evo_id,
457          l_object_version,
458          l_return_status
459       );
460 
461       IF l_return_status = FND_API.g_ret_sts_error THEN
462          RAISE FND_API.g_exc_error;
463       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
464          RAISE FND_API.g_exc_unexpected_error;
465       END IF;
466    END IF;
467 
468    x_return_status := FND_API.g_ret_sts_success;
469    FND_MSG_PUB.count_and_get(
470          p_encoded => FND_API.g_false,
471          p_count   => x_msg_count,
472          p_data    => x_msg_data
473    );
474 
475 EXCEPTION
476 
477    WHEN FND_API.g_exc_error THEN
478       ROLLBACK TO lock_EventOffer_pub;
479       x_return_status := FND_API.g_ret_sts_error;
480       FND_MSG_PUB.count_and_get(
481             p_encoded => FND_API.g_false,
482             p_count   => x_msg_count,
483             p_data    => x_msg_data
484       );
485 
486    WHEN FND_API.g_exc_unexpected_error THEN
487       ROLLBACK TO lock_EventOffer_pub;
488       x_return_status := FND_API.g_ret_sts_unexp_error ;
489       FND_MSG_PUB.count_and_get(
490             p_encoded => FND_API.g_false,
491             p_count   => x_msg_count,
492             p_data    => x_msg_data
493       );
494 
495 
496    WHEN OTHERS THEN
497       ROLLBACK TO lock_EventOffer_pub;
498       x_return_status := FND_API.g_ret_sts_unexp_error ;
499 
500       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
501 		THEN
502          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
503       END IF;
504 
505       FND_MSG_PUB.count_and_get(
506             p_encoded => FND_API.g_false,
507             p_count   => x_msg_count,
508             p_data    => x_msg_data
509       );
510 
511 END lock_EventOffer;
512 
513 
514 ---------------------------------------------------------------------
515 -- PROCEDURE
516 --    update_EventOffer
517 --
518 -- HISTORY
519 --    10/01/99  holiu  updated.
520 ---------------------------------------------------------------------
521 PROCEDURE update_EventOffer(
522    p_api_version       IN  NUMBER,
523    p_init_msg_list     IN  VARCHAR2  := FND_API.g_false,
524    p_commit            IN  VARCHAR2  := FND_API.g_false,
525    p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full,
526 
527    x_return_status     OUT NOCOPY VARCHAR2,
528    x_msg_count         OUT NOCOPY NUMBER,
529    x_msg_data          OUT NOCOPY VARCHAR2,
530 
531    p_evo_rec          IN  AMS_EventOffer_PVT.evo_rec_type
532 )
533 IS
534 
535    l_api_name       CONSTANT VARCHAR2(30) := 'update_EventOffer';
536    l_return_status  VARCHAR2(1);
537    l_evo_rec       AMS_EventOffer_PVT.evo_rec_type := p_evo_rec;
538 
539 BEGIN
540 
541    SAVEPOINT update_EventOffer_pub;
542 
543    -- initialize the message list;
544    -- won't do it again when calling private API
545    IF FND_API.to_boolean(p_init_msg_list) THEN
546       FND_MSG_PUB.initialize;
547    END IF;
548 
549    -- customer pre-processing
550    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
551    THEN
552       AMS_EventOffer_CUHK.update_EventOffer_pre(
553          l_evo_rec,
554          l_return_status
555       );
556 
557       IF l_return_status = FND_API.g_ret_sts_error THEN
558          RAISE FND_API.g_exc_error;
559       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
560          RAISE FND_API.g_exc_unexpected_error;
561       END IF;
562    END IF;
563 
564    -- vertical industry pre-processing
565    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
566    THEN
567       AMS_EventOffer_VUHK.update_EventOffer_pre(
568          l_evo_rec,
569          l_return_status
570       );
571 
572       IF l_return_status = FND_API.g_ret_sts_error THEN
573          RAISE FND_API.g_exc_error;
574       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
575          RAISE FND_API.g_exc_unexpected_error;
576       END IF;
577    END IF;
578 
579    -- call business API
580    AMS_EventOffer_PVT.update_Event_Offer(
581       p_api_version      => p_api_version,
582       p_init_msg_list    => FND_API.g_false, --has done before
583       p_commit           => FND_API.g_false, -- will do after
584       p_validation_level => p_validation_level,
585 
586       x_return_status    => l_return_status,
587       x_msg_count        => x_msg_count,
588       x_msg_data         => x_msg_data,
589 
590       p_evo_rec         => l_evo_rec
591    );
592 
593    IF l_return_status = FND_API.g_ret_sts_error THEN
594       RAISE FND_API.g_exc_error;
595    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
596       RAISE FND_API.g_exc_unexpected_error;
597    END IF;
598 
599    -- vertical industry post-processing
603          l_evo_rec,
600    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
601    THEN
602       AMS_EventOffer_VUHK.update_EventOffer_post(
604          l_return_status
605       );
606 
607       IF l_return_status = FND_API.g_ret_sts_error THEN
608          RAISE FND_API.g_exc_error;
609       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
610          RAISE FND_API.g_exc_unexpected_error;
611       END IF;
612    END IF;
613 
614    -- customer post-processing
615    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
616    THEN
617       AMS_EventOffer_CUHK.update_EventOffer_post(
618          l_evo_rec,
619          l_return_status
620       );
621 
622       IF l_return_status = FND_API.g_ret_sts_error THEN
623          RAISE FND_API.g_exc_error;
624       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
625          RAISE FND_API.g_exc_unexpected_error;
626       END IF;
627    END IF;
628 
629    IF FND_API.to_boolean(p_commit) THEN
630       COMMIT;
631    END IF;
632    x_return_status := FND_API.g_ret_sts_success;
633    FND_MSG_PUB.count_and_get(
634          p_encoded => FND_API.g_false,
635          p_count   => x_msg_count,
636          p_data    => x_msg_data
637    );
638 
639 EXCEPTION
640 
641    WHEN FND_API.g_exc_error THEN
642       ROLLBACK TO update_EventOffer_pub;
643       x_return_status := FND_API.g_ret_sts_error;
644       FND_MSG_PUB.count_and_get(
645             p_encoded => FND_API.g_false,
646             p_count   => x_msg_count,
647             p_data    => x_msg_data
648       );
649 
650    WHEN FND_API.g_exc_unexpected_error THEN
651       ROLLBACK TO update_EventOffer_pub;
652       x_return_status := FND_API.g_ret_sts_unexp_error ;
653       FND_MSG_PUB.count_and_get(
654             p_encoded => FND_API.g_false,
655             p_count   => x_msg_count,
656             p_data    => x_msg_data
657       );
658 
659 
660    WHEN OTHERS THEN
661       ROLLBACK TO update_EventOffer_pub;
662       x_return_status := FND_API.g_ret_sts_unexp_error ;
663 
664       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
665 		THEN
666          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
667       END IF;
668 
669       FND_MSG_PUB.count_and_get(
670             p_encoded => FND_API.g_false,
671             p_count   => x_msg_count,
672             p_data    => x_msg_data
673       );
674 
675 END update_EventOffer;
676 
677 
678 ---------------------------------------------------------------------
679 -- PROCEDURE
680 --    validate_EventOffer
681 --
682 -- HISTORY
683 --    10/01/99  holiu  validated.
684 ---------------------------------------------------------------------
685 PROCEDURE validate_EventOffer(
686    p_api_version       IN  NUMBER,
687    p_init_msg_list     IN  VARCHAR2  := FND_API.g_false,
688    p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full,
689 
690    x_return_status     OUT NOCOPY VARCHAR2,
691    x_msg_count         OUT NOCOPY NUMBER,
692    x_msg_data          OUT NOCOPY VARCHAR2,
693 
694    p_evo_rec          IN  AMS_EventOffer_PVT.evo_rec_type
695 )
696 IS
697 
698    l_api_name       CONSTANT VARCHAR2(30) := 'validate_EventOffer';
699    l_return_status  VARCHAR2(1);
700    l_evo_rec       AMS_EventOffer_PVT.evo_rec_type := p_evo_rec;
701 
702 BEGIN
703 
704    SAVEPOINT validate_EventOffer_pub;
705 
706    -- initialize the message list;
707    -- won't do it again when calling private API
708    IF FND_API.to_boolean(p_init_msg_list) THEN
709       FND_MSG_PUB.initialize;
710    END IF;
711 
712    -- customer pre-processing
713    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
714    THEN
715       AMS_EventOffer_CUHK.validate_EventOffer_pre(
716          l_evo_rec,
717          l_return_status
718       );
719 
720       IF l_return_status = FND_API.g_ret_sts_error THEN
721          RAISE FND_API.g_exc_error;
722       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
723          RAISE FND_API.g_exc_unexpected_error;
724       END IF;
725    END IF;
726 
727    -- vertical industry pre-processing
728    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
729    THEN
730       AMS_EventOffer_VUHK.validate_EventOffer_pre(
731          l_evo_rec,
732          l_return_status
733       );
734 
735       IF l_return_status = FND_API.g_ret_sts_error THEN
736          RAISE FND_API.g_exc_error;
737       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
738          RAISE FND_API.g_exc_unexpected_error;
739       END IF;
740    END IF;
741 
742    -- call business API
743    AMS_EventOffer_PVT.validate_Event_Offer(
744       p_api_version      => p_api_version,
745       p_init_msg_list    => FND_API.g_false, --has done before
746       p_validation_level => p_validation_level,
747 
748       x_return_status    => l_return_status,
749       x_msg_count        => x_msg_count,
750       x_msg_data         => x_msg_data,
751 
752       p_evo_rec         => l_evo_rec
753    );
754 
755    IF l_return_status = FND_API.g_ret_sts_error THEN
756       RAISE FND_API.g_exc_error;
757    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
758       RAISE FND_API.g_exc_unexpected_error;
759    END IF;
760 
761    -- vertical industry post-processing
762    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
763    THEN
764       AMS_EventOffer_VUHK.validate_EventOffer_post(
765          l_evo_rec,
766          l_return_status
767       );
768 
769       IF l_return_status = FND_API.g_ret_sts_error THEN
770          RAISE FND_API.g_exc_error;
771       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
772          RAISE FND_API.g_exc_unexpected_error;
773       END IF;
774    END IF;
775 
776    -- customer post-processing
777    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
778    THEN
779       AMS_EventOffer_CUHK.validate_EventOffer_post(
780          l_evo_rec,
781          l_return_status
782       );
783 
784       IF l_return_status = FND_API.g_ret_sts_error THEN
785          RAISE FND_API.g_exc_error;
786       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
787          RAISE FND_API.g_exc_unexpected_error;
788       END IF;
789    END IF;
790 
791    x_return_status := FND_API.g_ret_sts_success;
792    FND_MSG_PUB.count_and_get(
793          p_encoded => FND_API.g_false,
794          p_count   => x_msg_count,
795          p_data    => x_msg_data
796    );
797 
798 EXCEPTION
799 
800    WHEN FND_API.g_exc_error THEN
801       ROLLBACK TO validate_EventOffer_pub;
802       x_return_status := FND_API.g_ret_sts_error;
803       FND_MSG_PUB.count_and_get(
804             p_encoded => FND_API.g_false,
805             p_count   => x_msg_count,
806             p_data    => x_msg_data
807       );
808 
809    WHEN FND_API.g_exc_unexpected_error THEN
810       ROLLBACK TO validate_EventOffer_pub;
811       x_return_status := FND_API.g_ret_sts_unexp_error ;
812       FND_MSG_PUB.count_and_get(
813             p_encoded => FND_API.g_false,
814             p_count   => x_msg_count,
815             p_data    => x_msg_data
816       );
817 
818 
819    WHEN OTHERS THEN
820       ROLLBACK TO validate_EventOffer_pub;
821       x_return_status := FND_API.g_ret_sts_unexp_error ;
822 
823       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
824 		THEN
825          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
826       END IF;
827 
828       FND_MSG_PUB.count_and_get(
829             p_encoded => FND_API.g_false,
830             p_count   => x_msg_count,
831             p_data    => x_msg_data
832       );
833 
834 END validate_EventOffer;
835 
836 
837 END AMS_EventOffer_PUB;