[Home] [Help]
PACKAGE BODY: APPS.AMS_EVTREGS_PUB
Source
1 PACKAGE BODY AMS_EvtRegs_PUB as
2 /*$Header: amspregb.pls 115.19 2003/01/28 00:45:57 dbiswas ship $*/
3 -- Start of Comments
4 -- Package name : AMS_EvtRegs_PUB
5 -- Purpose :
6 -- History :
7 -- 12-MAR-2002 dcastlem Added support for general Public API
8 -- (AMS_Registrants_PUB)
9 -- 22-Dec-2002 ptendulk Modified for Debug Messages
10 -- 27-Jan-2003 dbiswas Modified p_block_fulfillment = 'F' bug 2769257
11 -- NOTE :
12 -- End of Comments
13
14 g_pkg_name CONSTANT VARCHAR2(30):='AMS_EvtRegs_PUB';
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 Register(
20 P_Api_Version_Number IN NUMBER,
21 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
22 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
23 P_evt_regs_Rec IN AMS_EvtRegs_PVT.evt_regs_Rec_Type,
24 p_block_fulfillment IN VARCHAR2 := 'F',
25 x_event_registration_id OUT NOCOPY NUMBER,
26 x_confirmation_code OUT NOCOPY VARCHAR2,
27 x_system_status_code OUT NOCOPY VARCHAR2,
28 X_Return_Status OUT NOCOPY VARCHAR2,
29 X_Msg_Count OUT NOCOPY NUMBER,
30 X_Msg_Data OUT NOCOPY VARCHAR2
31 )
32
33 IS
34 l_api_name CONSTANT VARCHAR2(30) := 'Register';
35 l_api_version_number CONSTANT NUMBER := 1.0;
36 l_evt_regs_Rec AMS_EvtRegs_PVT.evt_regs_Rec_Type := P_evt_regs_Rec;
37 l_return_status VARCHAR2(1); -- Return value from procedures.
38 l_cancellation_code VARCHAR2(30);
39
40 BEGIN
41 -- Standard Start of API savepoint
42 SAVEPOINT Register_pub;
43
44 -- Standard call to check for call compatibility.
45 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
46 p_api_version_number,
47 l_api_name,
48 G_PKG_NAME)
49 THEN
50 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
51 END IF;
52
53
54 -- Initialize message list if p_init_msg_list is set to TRUE.
55 IF FND_API.to_Boolean( p_init_msg_list )
56 THEN
57 FND_MSG_PUB.initialize;
58 END IF;
59
60 -- customer pre-processing
61 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'C')
62 THEN
63 AMS_EvtRegs_CUHK.register_pre( x_evt_regs_Rec => l_evt_regs_Rec
64 , x_return_status => l_return_status
65 );
66
67 IF l_return_status = FND_API.g_ret_sts_error
68 THEN
69 RAISE FND_API.g_exc_error;
70 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
71 THEN
72 RAISE FND_API.g_exc_unexpected_error;
73 END IF;
74 END IF;
75
76 -- vertical industry pre-processing
77 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'V')
78 THEN
79 AMS_EvtRegs_VUHK.register_pre( x_evt_regs_Rec => l_evt_regs_Rec
80 , x_return_status => l_return_status
81 );
82
83 IF l_return_status = FND_API.g_ret_sts_error
84 THEN
85 RAISE FND_API.g_exc_error;
86 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
87 THEN
88 RAISE FND_API.g_exc_unexpected_error;
89 END IF;
90 END IF;
91
92 -- Initialize API return status to SUCCESS
93 x_return_status := FND_API.G_RET_STS_SUCCESS;
94
95 -- API body
96 -- Calling Private package: Create_EvtRegs
97
98 IF (AMS_DEBUG_HIGH_ON) THEN
99 AMS_Utility_PVT.debug_message('Calling create registration');
100 END IF ;
101 AMS_evtregs_PVT.Create_evtregs(
102 P_Api_Version_Number => 1.0,
103 P_Init_Msg_List => FND_API.G_FALSE,
104 P_Commit => p_commit,
105 P_Validation_Level => FND_API.G_VALID_LEVEL_FULL,
106 P_evt_regs_Rec => l_evt_regs_Rec ,
107 p_block_fulfillment => p_block_fulfillment,
108 x_event_registration_id => x_event_registration_id,
109 x_confirmation_code => x_confirmation_code,
110 x_system_status_code => x_system_status_code,
111 x_return_status => x_return_status,
112 x_msg_count => x_msg_count,
113 x_msg_data => x_msg_data);
114
115 -- Check return status from the above procedure call
116 IF x_return_status = FND_API.G_RET_STS_ERROR then
117 raise FND_API.G_EXC_ERROR;
118 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
119 raise FND_API.G_EXC_UNEXPECTED_ERROR;
120 END IF;
121
122 -- vertical industry post-processing
123 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'V')
124 THEN
125 AMS_EvtRegs_VUHK.register_post( p_evt_regs_Rec => l_evt_regs_Rec
126 , x_return_status => l_return_status
127 );
128
129 IF l_return_status = FND_API.g_ret_sts_error
130 THEN
131 RAISE FND_API.g_exc_error;
132 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
133 THEN
134 RAISE FND_API.g_exc_unexpected_error;
135 END IF;
136 END IF;
137
138 -- customer post-processing
139 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'C')
140 THEN
141 AMS_EvtRegs_CUHK.register_post( p_evt_regs_Rec => l_evt_regs_Rec
142 , x_return_status => l_return_status
143 );
144
145 IF l_return_status = FND_API.g_ret_sts_error
146 THEN
147 RAISE FND_API.g_exc_error;
148 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
149 THEN
150 RAISE FND_API.g_exc_unexpected_error;
151 END IF;
152 END IF;
153
154 -- End of API body.
155
156 -- Standard check for p_commit
157 IF FND_API.to_Boolean( p_commit )
158 THEN
159 COMMIT WORK;
160 END IF;
161
162 x_return_status := FND_API.g_ret_sts_success;
163 FND_MSG_PUB.count_and_get(
164 p_encoded => FND_API.g_false,
165 p_count => x_msg_count,
166 p_data => x_msg_data
167 );
168
169 EXCEPTION
170
171 WHEN FND_API.g_exc_error THEN
172 ROLLBACK TO Register_pub;
173 x_return_status := FND_API.g_ret_sts_error;
174 FND_MSG_PUB.count_and_get(
175 p_encoded => FND_API.g_false,
176 p_count => x_msg_count,
177 p_data => x_msg_data
178 );
179
180 WHEN FND_API.g_exc_unexpected_error THEN
181 ROLLBACK TO Register_pub;
182 x_return_status := FND_API.g_ret_sts_unexp_error ;
183 FND_MSG_PUB.count_and_get(
184 p_encoded => FND_API.g_false,
185 p_count => x_msg_count,
186 p_data => x_msg_data
187 );
188
189
190 WHEN OTHERS THEN
191 ROLLBACK TO Register_pub;
192 x_return_status := FND_API.g_ret_sts_unexp_error ;
193
194 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
195 THEN
196 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
197 END IF;
198
199 FND_MSG_PUB.count_and_get(
200 p_encoded => FND_API.g_false,
201 p_count => x_msg_count,
202 p_data => x_msg_data
203 );
204
205 End Register;
206
207 ---------------------------------------------------------------------
208 -- PROCEDURE
209 -- init_reg_rec
210 --
211 -- HISTORY
212 -- 06/29/2000 sugupta Create.
213 ---------------------------------------------------------------------
214 PROCEDURE init_reg_rec(
215 x_evt_regs_rec OUT NOCOPY AMS_EvtRegs_PVT.evt_regs_Rec_Type
216 )
217 IS
218
219 BEGIN
220 AMS_evtregs_PVT.init_evtregs_rec(x_evt_regs_rec);
221 END init_reg_rec;
222
223 /* add procedure update_regisrration info...make a rec with
224 updated column values...and then call update_registration..
225 */
226
227 PROCEDURE Update_registration(
228 P_Api_Version_Number IN NUMBER,
229 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
230 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
231 P_evt_regs_Rec IN AMS_EvtRegs_PVT.evt_regs_Rec_Type,
232 p_block_fulfillment IN VARCHAR2 := 'F',
233 X_Return_Status OUT NOCOPY VARCHAR2,
234 X_Msg_Count OUT NOCOPY NUMBER,
235 X_Msg_Data OUT NOCOPY VARCHAR2
236 )
237
238 IS
239 l_api_name CONSTANT VARCHAR2(30) := 'Update_registration';
240 l_api_version_number CONSTANT NUMBER := 1.0;
241 l_evt_regs_rec AMS_EvtRegs_PVT.evt_regs_Rec_Type := P_evt_regs_Rec;
242 l_return_status VARCHAR2(1); -- Return value from procedures.
243 BEGIN
244 -- Standard Start of API savepoint
245 SAVEPOINT UPDATE_Registration_PUB;
246
247 -- Standard call to check for call compatibility.
248 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
249 p_api_version_number,
250 l_api_name,
251 G_PKG_NAME)
252 THEN
253 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
254 END IF;
255
256
257 -- Initialize message list if p_init_msg_list is set to TRUE.
258 IF FND_API.to_Boolean( p_init_msg_list )
259 THEN
260 FND_MSG_PUB.initialize;
261 END IF;
262
263
264 -- Initialize API return status to SUCCESS
265 x_return_status := FND_API.G_RET_STS_SUCCESS;
266
267 -- customer pre-processing
268 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'C')
269 THEN
270 AMS_EvtRegs_CUHK.Update_registration_pre( x_evt_regs_Rec => l_evt_regs_Rec
271 , x_return_status => l_return_status
272 );
273
274 IF l_return_status = FND_API.g_ret_sts_error
275 THEN
276 RAISE FND_API.g_exc_error;
277 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
278 THEN
279 RAISE FND_API.g_exc_unexpected_error;
280 END IF;
281 END IF;
282
283 -- vertical industry pre-processing
284 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'V')
285 THEN
286 AMS_EvtRegs_VUHK.Update_registration_pre( x_evt_regs_Rec => l_evt_regs_Rec
287 , x_return_status => l_return_status
288 );
289
290 IF l_return_status = FND_API.g_ret_sts_error
291 THEN
292 RAISE FND_API.g_exc_error;
293 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
294 THEN
295 RAISE FND_API.g_exc_unexpected_error;
296 END IF;
297 END IF;
298
299 --
300 -- API body
301 --
302
303
304 AMS_evtregs_PVT.Update_evtregs(
305 P_Api_Version_Number => 1.0,
306 P_Init_Msg_List => FND_API.G_FALSE,
307 P_Commit => p_commit,
308 P_Validation_Level => FND_API.G_VALID_LEVEL_FULL,
309 P_evt_regs_Rec => l_evt_regs_Rec,
310 p_block_fulfillment => p_block_fulfillment,
311 X_Return_Status => x_return_status,
312 X_Msg_Count => x_msg_count,
313 X_Msg_Data => x_msg_data);
314
315 -- Check return status from the above procedure call
316 IF x_return_status = FND_API.G_RET_STS_ERROR then
317 raise FND_API.G_EXC_ERROR;
318 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
319 raise FND_API.G_EXC_UNEXPECTED_ERROR;
320 END IF;
321
322 --
323 -- End of API body
324 --
325
326 -- vertical industry post-processing
327 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'V')
328 THEN
329 AMS_EvtRegs_VUHK.Update_registration_post( p_evt_regs_Rec => l_evt_regs_Rec
330 , x_return_status => l_return_status
331 );
332
333 IF l_return_status = FND_API.g_ret_sts_error
334 THEN
335 RAISE FND_API.g_exc_error;
336 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
337 THEN
338 RAISE FND_API.g_exc_unexpected_error;
339 END IF;
340 END IF;
341
342 -- customer post-processing
343 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'C')
344 THEN
345 AMS_EvtRegs_CUHK.Update_registration_post( p_evt_regs_Rec => l_evt_regs_Rec
346 , x_return_status => l_return_status
347 );
348
349 IF l_return_status = FND_API.g_ret_sts_error
350 THEN
351 RAISE FND_API.g_exc_error;
352 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
353 THEN
354 RAISE FND_API.g_exc_unexpected_error;
355 END IF;
356 END IF;
357
358 -- Standard check for p_commit
359 IF FND_API.to_Boolean( p_commit )
360 THEN
361 COMMIT WORK;
362 END IF;
363
364 x_return_status := FND_API.g_ret_sts_success;
365 FND_MSG_PUB.count_and_get(
366 p_encoded => FND_API.g_false,
367 p_count => x_msg_count,
368 p_data => x_msg_data
369 );
370
371 EXCEPTION
372
373 WHEN FND_API.g_exc_error THEN
374 ROLLBACK TO update_registration_pub;
375 x_return_status := FND_API.g_ret_sts_error;
376 FND_MSG_PUB.count_and_get(
377 p_encoded => FND_API.g_false,
378 p_count => x_msg_count,
379 p_data => x_msg_data
380 );
384 x_return_status := FND_API.g_ret_sts_unexp_error ;
381
382 WHEN FND_API.g_exc_unexpected_error THEN
383 ROLLBACK TO update_registration_pub;
385 FND_MSG_PUB.count_and_get(
386 p_encoded => FND_API.g_false,
387 p_count => x_msg_count,
388 p_data => x_msg_data
389 );
390
391
392 WHEN OTHERS THEN
393 ROLLBACK TO update_registration_pub;
394 x_return_status := FND_API.g_ret_sts_unexp_error ;
395
396 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
397 THEN
398 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
399 END IF;
400
401 FND_MSG_PUB.count_and_get(
402 p_encoded => FND_API.g_false,
403 p_count => x_msg_count,
404 p_data => x_msg_data
405 );
406
407 End Update_registration;
408
409 -- modified sugupta 06/21/2000 x_cancellation_code shud be varchar2
410
411 PROCEDURE Cancel_Registration(
412 P_Api_Version_Number IN NUMBER,
413 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
414 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
415 p_object_version IN NUMBER,
416 p_event_offer_id IN NUMBER,
417 p_registrant_party_id IN NUMBER,
418 p_confirmation_code IN VARCHAR2,
419 p_registration_group_id IN NUMBER,
420 p_cancellation_reason_code IN VARCHAR2,
421 p_block_fulfillment IN VARCHAR2 := 'F',
422 x_cancellation_code OUT NOCOPY VARCHAR2,
423 X_Return_Status OUT NOCOPY VARCHAR2,
424 X_Msg_Count OUT NOCOPY NUMBER,
425 X_Msg_Data OUT NOCOPY VARCHAR2
426 )
427
428 IS
429 l_api_name CONSTANT VARCHAR2(30) := 'Cancel_Registration';
430 l_api_version_number CONSTANT NUMBER := 1.0;
431 l_pvt_evt_regs_rec AMS_EvtRegs_PVT.evt_regs_Rec_Type;
432 l_object_version NUMBER := p_object_version;
433 l_return_status VARCHAR2(1);
434 BEGIN
435 -- Standard Start of API savepoint
436 SAVEPOINT Cancel_Registration_PUB;
437
438 -- Standard call to check for call compatibility.
439 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
440 p_api_version_number,
441 l_api_name,
442 G_PKG_NAME)
443 THEN
444 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
445 END IF;
446 -- Initialize message list if p_init_msg_list is set to TRUE.
447 IF FND_API.to_Boolean( p_init_msg_list )
448 THEN
449 FND_MSG_PUB.initialize;
450 END IF;
451
452
453 -- customer pre-processing
454 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'C')
455 THEN
456 AMS_EvtRegs_CUHK.Cancel_Registration_pre( p_object_version => l_object_version
457 , p_event_offer_id => p_event_offer_id
458 , p_registrant_party_id => p_registrant_party_id
462 , x_cancellation_code => x_cancellation_code
459 , p_confirmation_code => p_confirmation_code
460 , p_registration_group_id => p_registration_group_id
461 , p_cancellation_reason_code => p_cancellation_reason_code
463 , X_Return_Status => l_Return_Status
464 );
465
466 IF l_return_status = FND_API.g_ret_sts_error
467 THEN
468 RAISE FND_API.g_exc_error;
469 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
470 THEN
471 RAISE FND_API.g_exc_unexpected_error;
472 END IF;
473 END IF;
474
475 -- vertical industry pre-processing
476 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'V')
477 THEN
478 AMS_EvtRegs_VUHK.Cancel_Registration_pre( p_object_version => l_object_version
479 , p_event_offer_id => p_event_offer_id
480 , p_registrant_party_id => p_registrant_party_id
481 , p_confirmation_code => p_confirmation_code
482 , p_registration_group_id => p_registration_group_id
483 , p_cancellation_reason_code => p_cancellation_reason_code
484 , x_cancellation_code => x_cancellation_code
485 , X_Return_Status => l_Return_Status
486 );
487
488 IF l_return_status = FND_API.g_ret_sts_error
489 THEN
490 RAISE FND_API.g_exc_error;
491 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
492 THEN
493 RAISE FND_API.g_exc_unexpected_error;
494 END IF;
495 END IF;
496
497 -- API body
498
499 AMS_evtregs_PVT.Cancel_evtregs(
500 P_Api_Version_Number => l_api_version_number,
501 P_Init_Msg_List => FND_API.G_FALSE,
502 P_Commit => p_commit,
503
504 p_object_version => l_object_version,
505 p_event_offer_id => p_event_offer_id,
506 p_registrant_party_id => p_registrant_party_id,
507 p_confirmation_code => p_confirmation_code,
508 p_registration_group_id => p_registration_group_id,
509 p_cancellation_reason_code => p_cancellation_reason_code,
510 p_block_fulfillment => p_block_fulfillment,
511 x_cancellation_code => x_cancellation_code,
512 X_Return_Status => l_return_status,
513 X_Msg_Count => x_msg_count,
514 X_Msg_Data => x_msg_data);
515
516 -- Check return status from the above procedure call
517 IF l_return_status = FND_API.G_RET_STS_ERROR then
518 raise FND_API.G_EXC_ERROR;
519 elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
520 raise FND_API.G_EXC_UNEXPECTED_ERROR;
521 END IF;
522
523 -- vertical industry post-processing
524 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'V')
525 THEN
526 AMS_EvtRegs_VUHK.Cancel_Registration_post( p_object_version => l_object_version
527 , p_event_offer_id => p_event_offer_id
528 , p_registrant_party_id => p_registrant_party_id
529 , p_confirmation_code => p_confirmation_code
530 , p_registration_group_id => p_registration_group_id
531 , p_cancellation_reason_code => p_cancellation_reason_code
532 , x_cancellation_code => x_cancellation_code
533 , X_Return_Status => l_Return_Status
534 );
535
536 IF l_return_status = FND_API.g_ret_sts_error
537 THEN
538 RAISE FND_API.g_exc_error;
539 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
540 THEN
541 RAISE FND_API.g_exc_unexpected_error;
542 END IF;
543 END IF;
544
545 -- customer post-processing
546 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'C')
547 THEN
551 , p_confirmation_code => p_confirmation_code
548 AMS_EvtRegs_CUHK.Cancel_Registration_post( p_object_version => l_object_version
549 , p_event_offer_id => p_event_offer_id
550 , p_registrant_party_id => p_registrant_party_id
552 , p_registration_group_id => p_registration_group_id
553 , p_cancellation_reason_code => p_cancellation_reason_code
554 , x_cancellation_code => x_cancellation_code
555 , X_Return_Status => l_Return_Status
556 );
557
558 IF l_return_status = FND_API.g_ret_sts_error
559 THEN
560 RAISE FND_API.g_exc_error;
561 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
562 THEN
563 RAISE FND_API.g_exc_unexpected_error;
564 END IF;
565 END IF;
566
567 -- Standard check for p_commit
568 IF FND_API.to_Boolean( p_commit )
569 THEN
570 COMMIT WORK;
571 END IF;
572
573 x_return_status := FND_API.g_ret_sts_success;
574
575 -- Standard call to get message count and if count is 1, get message info.
576 FND_MSG_PUB.count_and_get(
577 p_encoded => FND_API.g_false,
578 p_count => x_msg_count,
579 p_data => x_msg_data
580 );
581
582 EXCEPTION
583
584 WHEN FND_API.g_exc_error THEN
585 ROLLBACK TO Cancel_Registration_PUB;
586 x_return_status := FND_API.g_ret_sts_error;
587 FND_MSG_PUB.count_and_get(
588 p_encoded => FND_API.g_false,
589 p_count => x_msg_count,
590 p_data => x_msg_data
591 );
592
593 WHEN FND_API.g_exc_unexpected_error THEN
594 ROLLBACK TO Cancel_Registration_PUB;
595 x_return_status := FND_API.g_ret_sts_unexp_error ;
596 FND_MSG_PUB.count_and_get(
597 p_encoded => FND_API.g_false,
598 p_count => x_msg_count,
599 p_data => x_msg_data
600 );
601
602
603 WHEN OTHERS THEN
604 ROLLBACK TO Cancel_Registration_PUB;
605 x_return_status := FND_API.g_ret_sts_unexp_error ;
606
607 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
608 THEN
609 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
610 END IF;
611
612 FND_MSG_PUB.count_and_get(
613 p_encoded => FND_API.g_false,
614 p_count => x_msg_count,
615 p_data => x_msg_data
616 );
617
618 End Cancel_Registration;
619
620 PROCEDURE delete_Registration(
621 P_Api_Version_Number IN NUMBER,
622 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
623 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
624 p_object_version IN NUMBER,
625 p_event_registration_id IN NUMBER,
626
627 X_Return_Status OUT NOCOPY VARCHAR2,
628 X_Msg_Count OUT NOCOPY NUMBER,
629 X_Msg_Data OUT NOCOPY VARCHAR2
630 ) IS
631 l_api_name CONSTANT VARCHAR2(30) := 'delete_Registration';
632 l_api_version_number CONSTANT NUMBER := 1.0;
633 l_event_registration_id NUMBER := p_event_registration_id;
634 l_object_version NUMBER := p_object_version;
635 l_return_status VARCHAR2(1); -- Return value from procedures.
636
637 BEGIN
638 -- Standard Start of API savepoint
639 SAVEPOINT delete_Registration_PUB;
640
641 -- Standard call to check for call compatibility.
642 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
643 p_api_version_number,
644 l_api_name,
645 G_PKG_NAME)
646 THEN
647 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
648 END IF;
649
650 -- Initialize message list if p_init_msg_list is set to TRUE.
651 IF FND_API.to_Boolean( p_init_msg_list )
652 THEN
653 FND_MSG_PUB.initialize;
654 END IF;
655
656 -- Initialize API return status to SUCCESS
657 x_return_status := FND_API.G_RET_STS_SUCCESS;
658
659 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'C')
660 THEN
661 AMS_EvtRegs_CUHK.delete_Registration_pre( x_object_version => l_object_version
662 , x_event_registration_id =>l_event_registration_id
663 , X_Return_Status => l_Return_Status
664 );
665
666 IF l_return_status = FND_API.g_ret_sts_error
667 THEN
668 RAISE FND_API.g_exc_error;
669 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
670 THEN
671 RAISE FND_API.g_exc_unexpected_error;
672 END IF;
673 END IF;
674
675 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'V')
676 THEN
680 );
677 AMS_EvtRegs_VUHK.delete_Registration_pre( x_object_version => l_object_version
678 , x_event_registration_id =>l_event_registration_id
679 , X_Return_Status => l_Return_Status
681
682 IF l_return_status = FND_API.g_ret_sts_error
683 THEN
684 RAISE FND_API.g_exc_error;
685 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
686 THEN
687 RAISE FND_API.g_exc_unexpected_error;
688 END IF;
689 END IF;
690
691 -- API body
692
693 AMS_evtregs_PVT.delete_evtregs(
694 p_api_version_number => l_api_version_number,
695 p_init_msg_list => FND_API.G_FALSE,
696 p_commit => p_commit,
697 p_object_version => l_object_version,
698 p_event_registration_id => l_event_registration_id,
699
700 X_Return_Status => x_return_status,
701 X_Msg_Count => x_msg_count,
702 X_Msg_Data => x_msg_data);
703
704 -- Check return status from the above procedure call
705 IF x_return_status = FND_API.G_RET_STS_ERROR then
706 raise FND_API.G_EXC_ERROR;
707 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
708 raise FND_API.G_EXC_UNEXPECTED_ERROR;
709 END IF;
710
711 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'V')
712 THEN
713 AMS_EvtRegs_VUHK.delete_Registration_post( p_object_version => l_object_version
714 , p_event_registration_id =>l_event_registration_id
715 , X_Return_Status => l_Return_Status
716 );
717
718 IF l_return_status = FND_API.g_ret_sts_error
719 THEN
720 RAISE FND_API.g_exc_error;
721 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
722 THEN
723 RAISE FND_API.g_exc_unexpected_error;
724 END IF;
725 END IF;
726
727 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'C')
728 THEN
729 AMS_EvtRegs_CUHK.delete_Registration_post( p_object_version => l_object_version
730 , p_event_registration_id =>l_event_registration_id
731 , X_Return_Status => l_Return_Status
732 );
733
734 IF l_return_status = FND_API.g_ret_sts_error
735 THEN
736 RAISE FND_API.g_exc_error;
737 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
738 THEN
739 RAISE FND_API.g_exc_unexpected_error;
740 END IF;
741 END IF;
742
743
744
745 -- End of API body
746
747 -- Standard check for p_commit
748 IF FND_API.to_Boolean( p_commit )
749 THEN
750 COMMIT WORK;
751 END IF;
752
753 -- Standard call to get message count and if count is 1, get message info.
754 FND_MSG_PUB.count_and_get(
755 p_encoded => FND_API.g_false,
756 p_count => x_msg_count,
757 p_data => x_msg_data
758 );
759
760 EXCEPTION
761 WHEN FND_API.g_exc_error THEN
762 ROLLBACK TO delete_Registration_PUB;
763 x_return_status := FND_API.g_ret_sts_error;
764 FND_MSG_PUB.count_and_get(
765 p_encoded => FND_API.g_false,
766 p_count => x_msg_count,
767 p_data => x_msg_data
768 );
769
770 WHEN FND_API.g_exc_unexpected_error THEN
771 ROLLBACK TO delete_Registration_PUB;
772 x_return_status := FND_API.g_ret_sts_unexp_error ;
773 FND_MSG_PUB.count_and_get(
774 p_encoded => FND_API.g_false,
775 p_count => x_msg_count,
776 p_data => x_msg_data
777 );
778
779 WHEN OTHERS THEN
780 ROLLBACK TO delete_Registration_PUB;
781 x_return_status := FND_API.g_ret_sts_unexp_error ;
782
783 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
784 THEN
785 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
786 END IF;
787
788 FND_MSG_PUB.count_and_get(
789 p_encoded => FND_API.g_false,
790 p_count => x_msg_count,
791 p_data => x_msg_data
792 );
793
794 End delete_Registration;
795
796 -------------------------------------------------------
797 -- Start of Comments
798 --
799 -- PROCEDURE
800 -- prioritize_reg_wailist
801 --
802 -- HISTORY
803 -- 11/29/99 sugupta Added.
804 -- PURPOSE
805 -- Registrations for an event can have a wailist. This api call will look to see if it can
806 -- upgrade a reg status from wailtlisted to registered, if any cancellations or event
807 -- details have been changed.
808 -- note that cancelling a registration automatically calls this API internally to
809 -- upgrade the reg statuses in real time.
810 -------------------------------------------------------------
811
812 PROCEDURE prioritize_reg_wailist(
816 p_event_offer_id IN NUMBER,
813 p_api_version_number IN NUMBER,
814 p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
815 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
817
818 x_return_status OUT NOCOPY VARCHAR2,
819 x_msg_count OUT NOCOPY NUMBER,
820 x_msg_data OUT NOCOPY VARCHAR2
821 ) IS
822
823 l_api_name CONSTANT VARCHAR2(30) := 'prioritize_reg_wailist';
824 l_api_version_number CONSTANT NUMBER := 1.0;
825 l_return_status VARCHAR2(1); -- Return value from procedures.
826 l_event_offer_id NUMBER := p_event_offer_id;
827
828 BEGIN
829 -- Standard Start of API savepoint
830 SAVEPOINT prioritize_reg_wailist_pub;
831
832 -- Standard call to check for call compatibility.
833 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
834 p_api_version_number,
835 l_api_name,
836 G_PKG_NAME)
837 THEN
838 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
839 END IF;
840
841 -- Initialize message list if p_init_msg_list is set to TRUE.
842 IF FND_API.to_Boolean( p_init_msg_list )
843 THEN
844 FND_MSG_PUB.initialize;
845 END IF;
846
847 -- Initialize API return status to SUCCESS
848 x_return_status := FND_API.G_RET_STS_SUCCESS;
849
850 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'C')
851 THEN
852 AMS_EvtRegs_CUHK.prioritize_reg_wailist_pre( x_event_offer_id => l_event_offer_id
853 , X_Return_Status => l_Return_Status
854 );
855
856 IF l_return_status = FND_API.g_ret_sts_error
857 THEN
858 RAISE FND_API.g_exc_error;
859 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
860 THEN
861 RAISE FND_API.g_exc_unexpected_error;
862 END IF;
863 END IF;
864
865 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'V')
866 THEN
867 AMS_EvtRegs_VUHK.prioritize_reg_wailist_pre( x_event_offer_id => l_event_offer_id
868 , X_Return_Status => l_Return_Status
869 );
870
871 IF l_return_status = FND_API.g_ret_sts_error
872 THEN
873 RAISE FND_API.g_exc_error;
874 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
875 THEN
876 RAISE FND_API.g_exc_unexpected_error;
877 END IF;
878 END IF;
879
880 --
881 -- API body
882 --
883 AMS_EVTREGS_PVT.prioritize_waitlist(
884 p_api_version_number => p_api_version_number,
885 p_Init_Msg_List => p_Init_Msg_List,
886 P_Commit => P_Commit,
887 p_event_offer_id => l_event_offer_id,
888
889 x_return_status => x_return_status,
890 x_msg_count => x_msg_count,
891 x_msg_data => x_msg_data
892 );
893
894 -- Check return status from the above procedure call
895 IF x_return_status = FND_API.G_RET_STS_ERROR then
896 raise FND_API.G_EXC_ERROR;
897 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
898 raise FND_API.G_EXC_UNEXPECTED_ERROR;
899 END IF;
900
901 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'V')
902 THEN
903 AMS_EvtRegs_VUHK.prioritize_reg_wailist_post( p_event_offer_id => l_event_offer_id
904 , X_Return_Status => l_Return_Status
905 );
906
907 IF l_return_status = FND_API.g_ret_sts_error
908 THEN
909 RAISE FND_API.g_exc_error;
910 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
911 THEN
912 RAISE FND_API.g_exc_unexpected_error;
913 END IF;
914 END IF;
915
916 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'C')
917 THEN
918 AMS_EvtRegs_CUHK.prioritize_reg_wailist_post( p_event_offer_id => l_event_offer_id
919 , X_Return_Status => l_Return_Status
920 );
921
922 IF l_return_status = FND_API.g_ret_sts_error
923 THEN
924 RAISE FND_API.g_exc_error;
925 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
926 THEN
927 RAISE FND_API.g_exc_unexpected_error;
928 END IF;
929 END IF;
930
931 -- End of API body
932
933 -- Standard check for p_commit
934 IF FND_API.to_Boolean( p_commit )
935 THEN
936 COMMIT WORK;
937 END IF;
938
939 -- Standard call to get message count and if count is 1, get message info.
940 FND_MSG_PUB.count_and_get(
941 p_encoded => FND_API.g_false,
942 p_count => x_msg_count,
943 p_data => x_msg_data
944 );
945
946 EXCEPTION
947 WHEN FND_API.g_exc_error THEN
948 ROLLBACK TO prioritize_reg_wailist_pub;
952 p_count => x_msg_count,
949 x_return_status := FND_API.g_ret_sts_error;
950 FND_MSG_PUB.count_and_get(
951 p_encoded => FND_API.g_false,
953 p_data => x_msg_data
954 );
955
956 WHEN FND_API.g_exc_unexpected_error THEN
957 ROLLBACK TO prioritize_reg_wailist_pub;
958 x_return_status := FND_API.g_ret_sts_unexp_error ;
959 FND_MSG_PUB.count_and_get(
960 p_encoded => FND_API.g_false,
961 p_count => x_msg_count,
962 p_data => x_msg_data
963 );
964
965 WHEN OTHERS THEN
966 ROLLBACK TO prioritize_reg_wailist_pub;
967 x_return_status := FND_API.g_ret_sts_unexp_error ;
968
969 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
970 THEN
971 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
972 END IF;
973
974 FND_MSG_PUB.count_and_get(
975 p_encoded => FND_API.g_false,
976 p_count => x_msg_count,
977 p_data => x_msg_data
978 );
979
980 End prioritize_reg_wailist;
981
982 -------------------------------------------------------
983 -- Start of Comments
984 --
985 -- PROCEDURE
986 -- substitute_enrollee
987 --
988 -- HISTORY
989 -- 11/16/99 sugupta Added.
990 -- PURPOSE
991 -- Substitute an enrollee(attendant) for an existing event registration..
992 -- Who can substitute is NOT verified in this API call...
993 -- If registrant information is also provided, then the existing
994 -- 'registrant information' is replaced...
995 -- 'Attendant information' is mandatory, but for account information...
996 -- if registrant info is changed, reg_contact id is stored in original_reg_contact_id column..
997 -------------------------------------------------------------
998
999 PROCEDURE substitute_enrollee(
1000 P_Api_Version_Number IN NUMBER,
1001 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1002 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1003
1004 p_confirmation_code IN VARCHAR2, --required
1005 p_attendant_party_id IN NUMBER, --required
1006 p_attendant_contact_id IN NUMBER, --required
1007 p_attendant_account_id IN NUMBER,
1008 p_registrant_party_id IN NUMBER,
1009 p_registrant_contact_id IN NUMBER, --required
1010 p_registrant_account_id IN NUMBER,
1011
1012 X_Return_Status OUT NOCOPY VARCHAR2,
1013 X_Msg_Count OUT NOCOPY NUMBER,
1014 X_Msg_Data OUT NOCOPY VARCHAR2
1015 )
1016
1017 IS
1018 l_api_name CONSTANT VARCHAR2(30) := 'substitute_enrollee';
1019 l_api_version_number CONSTANT NUMBER := 1.0;
1020 l_confirmation_code VARCHAR2(30) := p_confirmation_code;
1021 l_return_status VARCHAR2(1); -- Return value from procedures.
1022
1023 BEGIN
1024 -- Standard Start of API savepoint
1025 SAVEPOINT substitute_enrollee_pub;
1026
1027 -- Standard call to check for call compatibility.
1028 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1029 p_api_version_number,
1030 l_api_name,
1031 G_PKG_NAME)
1032 THEN
1033 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034 END IF;
1035
1036 -- Initialize message list if p_init_msg_list is set to TRUE.
1037 IF FND_API.to_Boolean( p_init_msg_list )
1038 THEN
1039 FND_MSG_PUB.initialize;
1040 END IF;
1041
1042 -- Initialize API return status to SUCCESS
1043 x_return_status := FND_API.G_RET_STS_SUCCESS;
1044
1045 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'C')
1046 THEN
1047 AMS_EvtRegs_CUHK.substitute_enrollee_pre( p_confirmation_code => l_confirmation_code
1048 , p_attendant_party_id => p_attendant_party_id
1049 , p_attendant_contact_id => p_attendant_contact_id
1050 , p_attendant_account_id => p_attendant_account_id
1051 , p_registrant_party_id => p_registrant_party_id
1052 , p_registrant_contact_id => p_registrant_contact_id
1053 , p_registrant_account_id => p_registrant_account_id
1054 , X_Return_Status => l_Return_Status
1055 );
1056
1057
1058 IF l_return_status = FND_API.g_ret_sts_error
1059 THEN
1060 RAISE FND_API.g_exc_error;
1061 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1062 THEN
1063 RAISE FND_API.g_exc_unexpected_error;
1064 END IF;
1065 END IF;
1066
1067 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'V')
1068 THEN
1069 AMS_EvtRegs_VUHK.substitute_enrollee_pre( p_confirmation_code => l_confirmation_code
1070 , p_attendant_party_id => p_attendant_party_id
1071 , p_attendant_contact_id => p_attendant_contact_id
1072 , p_attendant_account_id => p_attendant_account_id
1076 , X_Return_Status => l_Return_Status
1073 , p_registrant_party_id => p_registrant_party_id
1074 , p_registrant_contact_id => p_registrant_contact_id
1075 , p_registrant_account_id => p_registrant_account_id
1077 );
1078
1079
1080 IF l_return_status = FND_API.g_ret_sts_error
1081 THEN
1082 RAISE FND_API.g_exc_error;
1083 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1084 THEN
1085 RAISE FND_API.g_exc_unexpected_error;
1086 END IF;
1087 END IF;
1088
1089 -- API body
1090
1091 AMS_EVTREGS_PVT.substitute_and_validate(
1092 P_Api_Version_Number => l_Api_Version_Number,
1093 P_Init_Msg_List => P_Init_Msg_List ,
1094 P_Commit => P_Commit ,
1095
1096 p_confirmation_code => l_confirmation_code,
1097 p_attendant_party_id => p_attendant_party_id,
1098 p_attendant_contact_id => p_attendant_contact_id,
1099 p_attendant_account_id => p_attendant_account_id,
1100 p_registrant_party_id => p_registrant_party_id,
1101 p_registrant_contact_id => p_registrant_contact_id,
1102 p_registrant_account_id => p_registrant_account_id,
1103
1104 X_Return_Status => x_return_status,
1105 X_Msg_Count => x_msg_count,
1106 X_Msg_Data => x_msg_data
1107 );
1108 -- Check return status from the above procedure call
1109 IF x_return_status = FND_API.G_RET_STS_ERROR then
1110 raise FND_API.G_EXC_ERROR;
1111 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1112 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1113 END IF;
1114
1115 -- End of API body
1116 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'V')
1117 THEN
1118 AMS_EvtRegs_VUHK.substitute_enrollee_post( p_confirmation_code => l_confirmation_code
1119 , p_attendant_party_id => p_attendant_party_id
1120 , p_attendant_contact_id => p_attendant_contact_id
1121 , p_attendant_account_id => p_attendant_account_id
1122 , p_registrant_party_id => p_registrant_party_id
1123 , p_registrant_contact_id => p_registrant_contact_id
1124 , p_registrant_account_id => p_registrant_account_id
1125 , X_Return_Status => l_Return_Status
1126 );
1127
1128 IF l_return_status = FND_API.g_ret_sts_error
1129 THEN
1130 RAISE FND_API.g_exc_error;
1131 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1132 THEN
1133 RAISE FND_API.g_exc_unexpected_error;
1134 END IF;
1135 END IF;
1136
1137 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'C')
1138 THEN
1139 AMS_EvtRegs_CUHK.substitute_enrollee_post( p_confirmation_code => l_confirmation_code
1140 , p_attendant_party_id => p_attendant_party_id
1141 , p_attendant_contact_id => p_attendant_contact_id
1142 , p_attendant_account_id => p_attendant_account_id
1143 , p_registrant_party_id => p_registrant_party_id
1144 , p_registrant_contact_id => p_registrant_contact_id
1145 , p_registrant_account_id => p_registrant_account_id
1146 , X_Return_Status => l_Return_Status
1147 );
1148
1149 IF l_return_status = FND_API.g_ret_sts_error
1150 THEN
1151 RAISE FND_API.g_exc_error;
1152 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1153 THEN
1154 RAISE FND_API.g_exc_unexpected_error;
1155 END IF;
1156 END IF;
1157
1158 -- Standard check for p_commit
1159 IF FND_API.to_Boolean( p_commit )
1160 THEN
1161 COMMIT WORK;
1162 END IF;
1163
1164 -- Standard call to get message count and if count is 1, get message info.
1165 FND_MSG_PUB.count_and_get(
1166 p_encoded => FND_API.g_false,
1167 p_count => x_msg_count,
1168 p_data => x_msg_data
1169 );
1170
1171 EXCEPTION
1172 WHEN FND_API.g_exc_error THEN
1173 ROLLBACK TO substitute_enrollee_pub;
1174 x_return_status := FND_API.g_ret_sts_error;
1175 FND_MSG_PUB.count_and_get(
1176 p_encoded => FND_API.g_false,
1177 p_count => x_msg_count,
1178 p_data => x_msg_data
1179 );
1180
1181 WHEN FND_API.g_exc_unexpected_error THEN
1182 ROLLBACK TO substitute_enrollee_pub;
1183 x_return_status := FND_API.g_ret_sts_unexp_error ;
1184 FND_MSG_PUB.count_and_get(
1185 p_encoded => FND_API.g_false,
1186 p_count => x_msg_count,
1190 WHEN OTHERS THEN
1187 p_data => x_msg_data
1188 );
1189
1191 ROLLBACK TO substitute_enrollee_pub;
1192 x_return_status := FND_API.g_ret_sts_unexp_error ;
1193
1194 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
1195 THEN
1196 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1197 END IF;
1198
1199 FND_MSG_PUB.count_and_get(
1200 p_encoded => FND_API.g_false,
1201 p_count => x_msg_count,
1202 p_data => x_msg_data
1203 );
1204
1205 End substitute_enrollee;
1206
1207 -------------------------------------------------------
1208 -- Start of Comments
1209 --
1210 -- PROCEDURE
1211 -- transfer_enrollee
1212 --
1213 -- HISTORY
1214 -- 11/16/99 sugupta Added.
1215 -- PURPOSE
1216 -- Transfer an enrollee(attendant) for an existing event registration
1217 -- from one event offering to another offer id...
1218 -- Who can transfer is NOT validated in this API call...
1219 -- Waitlist flag input is mandatory which means if the other offering is full and
1220 -- the attendant is willing to get waitlisted....
1221 -- if the offering is full, and waitlisting is not wanted or even wailist is full, then
1222 -- the transfer will fail...
1223 -- PAYMENT details are not taken care of in this API call....
1224 -------------------------------------------------------------
1225
1226 PROCEDURE transfer_enrollee(
1227 P_Api_Version_Number IN NUMBER,
1228 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1229 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1230 p_object_version IN NUMBER,
1231 p_old_confirmation_code IN VARCHAR2, --required
1232 p_old_offer_id IN NUMBER, --required
1233 p_new_offer_id IN NUMBER, --required
1234 p_waitlist_flag IN VARCHAR2, --required
1235 p_registrant_account_id IN NUMBER, -- can be null
1236 p_registrant_party_id IN NUMBER, -- can be null
1237 p_registrant_contact_id IN NUMBER, -- can be null
1238 p_attendant_party_id IN NUMBER,-- can be null
1239 p_attendant_contact_id IN NUMBER,-- can be null
1240 x_new_confirmation_code OUT NOCOPY VARCHAR2,
1241 x_old_cancellation_code OUT NOCOPY VARCHAR2,
1242 x_new_registration_id OUT NOCOPY NUMBER,
1243 x_old_system_status_code OUT NOCOPY VARCHAR2,
1244 x_new_system_status_code OUT NOCOPY VARCHAR2,
1245 X_Return_Status OUT NOCOPY VARCHAR2,
1246 X_Msg_Count OUT NOCOPY NUMBER,
1247 X_Msg_Data OUT NOCOPY VARCHAR2
1248 ) IS
1249
1250 l_api_name CONSTANT VARCHAR2(30) := 'transfer_enrollee';
1251 l_api_version_number CONSTANT NUMBER := 1.0;
1252 l_return_status VARCHAR2(1); -- Return value from procedures.
1253
1254 BEGIN
1255 -- Standard Start of API savepoint
1256 SAVEPOINT substitute_enrollee_PUB;
1257
1258 -- Standard call to check for call compatibility.
1259 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1260 p_api_version_number,
1261 l_api_name,
1262 G_PKG_NAME)
1263 THEN
1264 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1265 END IF;
1266
1267 -- Initialize message list if p_init_msg_list is set to TRUE.
1268 IF FND_API.to_Boolean( p_init_msg_list )
1269 THEN
1270 FND_MSG_PUB.initialize;
1271 END IF;
1272
1273 -- Initialize API return status to SUCCESS
1274 x_return_status := FND_API.G_RET_STS_SUCCESS;
1275
1276 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'C')
1277 THEN
1278 AMS_EvtRegs_CUHK.transfer_enrollee_pre( p_object_version => p_object_version
1279 , p_old_confirmation_code => p_old_confirmation_code
1280 , p_old_offer_id => p_old_offer_id
1281 , p_new_offer_id => p_new_offer_id
1282 , p_waitlist_flag => p_waitlist_flag
1283 , p_registrant_account_id => p_registrant_account_id
1284 , p_registrant_party_id => p_registrant_party_id
1285 , p_registrant_contact_id => p_registrant_contact_id
1286 , p_attendant_party_id => p_attendant_party_id
1287 , p_attendant_contact_id => p_attendant_contact_id
1288 , X_Return_Status => l_Return_Status
1289 );
1290
1291 IF l_return_status = FND_API.g_ret_sts_error
1292 THEN
1293 RAISE FND_API.g_exc_error;
1294 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1295 THEN
1296 RAISE FND_API.g_exc_unexpected_error;
1297 END IF;
1298 END IF;
1299
1300 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'PRE', 'V')
1301 THEN
1302 AMS_EvtRegs_VUHK.transfer_enrollee_pre( p_object_version => p_object_version
1306 , p_waitlist_flag => p_waitlist_flag
1303 , p_old_confirmation_code => p_old_confirmation_code
1304 , p_old_offer_id => p_old_offer_id
1305 , p_new_offer_id => p_new_offer_id
1307 , p_registrant_account_id => p_registrant_account_id
1308 , p_registrant_party_id => p_registrant_party_id
1309 , p_registrant_contact_id => p_registrant_contact_id
1310 , p_attendant_party_id => p_attendant_party_id
1311 , p_attendant_contact_id => p_attendant_contact_id
1312 , X_Return_Status => l_Return_Status
1313 );
1314
1315 IF l_return_status = FND_API.g_ret_sts_error
1316 THEN
1317 RAISE FND_API.g_exc_error;
1318 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1319 THEN
1320 RAISE FND_API.g_exc_unexpected_error;
1321 END IF;
1322 END IF;
1323
1324 --
1325 -- API body
1326 --
1327 AMS_EVTREGS_PVT.transfer_and_validate(
1328 P_Api_Version_Number,
1329 P_Init_Msg_List,
1330 P_Commit,
1331 p_object_version,
1332 p_old_confirmation_code, --required
1333 p_old_offer_id, --required
1334 p_new_offer_id, --required
1335 p_waitlist_flag, --required
1336 p_registrant_account_id, -- can be null
1337 p_registrant_party_id, -- can be null
1338 p_registrant_contact_id, -- can be null
1339 p_attendant_party_id,-- can be null
1340 p_attendant_contact_id,-- can be null
1341 x_new_confirmation_code,
1342 x_old_cancellation_code,
1343 x_new_registration_id,
1344 x_old_system_status_code,
1345 x_new_system_status_code,
1346 X_Return_Status,
1347 X_Msg_Count,
1348 X_Msg_Data
1349 );
1350
1351 -- Check return status from the above procedure call
1352 IF x_return_status = FND_API.G_RET_STS_ERROR then
1353 raise FND_API.G_EXC_ERROR;
1354 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1355 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1356 END IF;
1357
1358 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'V')
1359 THEN
1360 AMS_EvtRegs_VUHK.transfer_enrollee_post( p_object_version => p_object_version
1361 , p_old_confirmation_code => p_old_confirmation_code
1362 , p_old_offer_id => p_old_offer_id
1363 , p_new_offer_id => p_new_offer_id
1364 , p_waitlist_flag => p_waitlist_flag
1365 , p_registrant_account_id => p_registrant_account_id
1366 , p_registrant_party_id => p_registrant_party_id
1367 , p_registrant_contact_id => p_registrant_contact_id
1368 , p_attendant_party_id => p_attendant_party_id
1369 , p_attendant_contact_id => p_attendant_contact_id
1370 , X_Return_Status => l_Return_Status
1371 );
1372
1373 IF l_return_status = FND_API.g_ret_sts_error
1374 THEN
1375 RAISE FND_API.g_exc_error;
1376 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1377 THEN
1378 RAISE FND_API.g_exc_unexpected_error;
1379 END IF;
1380 END IF;
1381
1382 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'POST', 'C')
1383 THEN
1384 AMS_EvtRegs_CUHK.transfer_enrollee_post( p_object_version => p_object_version
1385 , p_old_confirmation_code => p_old_confirmation_code
1386 , p_old_offer_id => p_old_offer_id
1387 , p_new_offer_id => p_new_offer_id
1388 , p_waitlist_flag => p_waitlist_flag
1389 , p_registrant_account_id => p_registrant_account_id
1390 , p_registrant_party_id => p_registrant_party_id
1391 , p_registrant_contact_id => p_registrant_contact_id
1392 , p_attendant_party_id => p_attendant_party_id
1393 , p_attendant_contact_id => p_attendant_contact_id
1394 , X_Return_Status => l_Return_Status
1395 );
1396
1397 IF l_return_status = FND_API.g_ret_sts_error
1398 THEN
1399 RAISE FND_API.g_exc_error;
1400 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error
1401 THEN
1402 RAISE FND_API.g_exc_unexpected_error;
1403 END IF;
1404 END IF;
1405
1406
1407 -- End of API body
1408
1409 -- Standard check for p_commit
1410 IF FND_API.to_Boolean( p_commit )
1411 THEN
1415 -- Standard call to get message count and if count is 1, get message info.
1412 COMMIT WORK;
1413 END IF;
1414
1416 FND_MSG_PUB.count_and_get(
1417 p_encoded => FND_API.g_false,
1418 p_count => x_msg_count,
1419 p_data => x_msg_data
1420 );
1421
1422 EXCEPTION
1423 WHEN FND_API.g_exc_error THEN
1424 ROLLBACK TO transfer_enrollee;
1425 x_return_status := FND_API.g_ret_sts_error;
1426 FND_MSG_PUB.count_and_get(
1427 p_encoded => FND_API.g_false,
1428 p_count => x_msg_count,
1429 p_data => x_msg_data
1430 );
1431
1432 WHEN FND_API.g_exc_unexpected_error THEN
1433 ROLLBACK TO transfer_enrollee;
1434 x_return_status := FND_API.g_ret_sts_unexp_error ;
1435 FND_MSG_PUB.count_and_get(
1436 p_encoded => FND_API.g_false,
1437 p_count => x_msg_count,
1438 p_data => x_msg_data
1439 );
1440
1441 WHEN OTHERS THEN
1442 ROLLBACK TO transfer_enrollee;
1443 x_return_status := FND_API.g_ret_sts_unexp_error ;
1444
1445 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
1446 THEN
1447 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1448 END IF;
1449
1450 FND_MSG_PUB.count_and_get(
1451 p_encoded => FND_API.g_false,
1452 p_count => x_msg_count,
1453 p_data => x_msg_data
1454 );
1455
1456 End transfer_enrollee;
1457
1458 FUNCTION Get_Reg_Rec RETURN AMS_EvtRegs_PVT.evt_regs_Rec_Type
1459 IS
1460 TMP_REC AMS_EvtRegs_PVT.evt_regs_Rec_Type;
1461 BEGIN
1462 RETURN TMP_REC;
1463 END Get_Reg_Rec;
1464
1465 End AMS_EvtRegs_PUB;