66: --Parameters
67: --
68: --IN
69: -- p_api_version_number IN NUMBER Required
70: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
71: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
72: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
73: -- p_reg_det_rec IN RegistrationDet Required
74: --
67: --
68: --IN
69: -- p_api_version_number IN NUMBER Required
70: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
71: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
72: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
73: -- p_reg_det_rec IN RegistrationDet Required
74: --
75: --OUT
68: --IN
69: -- p_api_version_number IN NUMBER Required
70: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
71: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
72: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
73: -- p_reg_det_rec IN RegistrationDet Required
74: --
75: --OUT
76: -- x_return_status OUT VARCHAR2
83: --
84:
85: PROCEDURE Register(
86: p_api_version_number IN NUMBER,
87: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
88: p_commit IN VARCHAR2 := FND_API.G_FALSE,
89: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
90:
91: x_return_status OUT NOCOPY VARCHAR2,
84:
85: PROCEDURE Register(
86: p_api_version_number IN NUMBER,
87: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
88: p_commit IN VARCHAR2 := FND_API.G_FALSE,
89: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
90:
91: x_return_status OUT NOCOPY VARCHAR2,
92: x_msg_count OUT NOCOPY NUMBER,
85: PROCEDURE Register(
86: p_api_version_number IN NUMBER,
87: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
88: p_commit IN VARCHAR2 := FND_API.G_FALSE,
89: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
90:
91: x_return_status OUT NOCOPY VARCHAR2,
92: x_msg_count OUT NOCOPY NUMBER,
93: x_msg_data OUT NOCOPY VARCHAR2,
92: x_msg_count OUT NOCOPY NUMBER,
93: x_msg_data OUT NOCOPY VARCHAR2,
94:
95: p_reg_det_rec IN RegistrationDet,
96: p_block_fulfillment IN VARCHAR2 := FND_API.G_FALSE,
97: p_owner_user_id IN NUMBER,
98: p_application_id IN NUMBER,
99: x_confirm_code OUT NOCOPY VARCHAR2
100: )
217: SAVEPOINT Register_Registrants_PUB;
218:
219:
220: -- Standard call to check for call compatibility.
221: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
222: p_api_version_number,
223: l_api_name,
224: G_PKG_NAME)
225: THEN
222: p_api_version_number,
223: l_api_name,
224: G_PKG_NAME)
225: THEN
226: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
227: END IF;
228:
229: -- Initialize message list if p_init_msg_list is set to TRUE.
230: IF FND_API.to_Boolean( p_init_msg_list )
226: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
227: END IF;
228:
229: -- Initialize message list if p_init_msg_list is set to TRUE.
230: IF FND_API.to_Boolean( p_init_msg_list )
231: THEN
232: FND_MSG_PUB.initialize;
233: END IF;
234:
237: AMS_Utility_PVT.debug_message(l_full_name || ': start');
238: END IF ;*/
239: Write_log(L_API_NAME, l_full_name || ': start');
240:
241: l_return_status := FND_API.g_ret_sts_success;
242:
243: IF (p_reg_det_rec.event_source_code IS NULL)
244: THEN
245: AMS_Utility_PVT.Error_Message('AMS_EVEO_NO_SOURCE_CODE');
242:
243: IF (p_reg_det_rec.event_source_code IS NULL)
244: THEN
245: AMS_Utility_PVT.Error_Message('AMS_EVEO_NO_SOURCE_CODE');
246: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
247: ELSE
248: l_event_id := AMS_Registrants_PVT.Get_Event_Det(p_reg_det_rec.event_source_code);
249: END IF;
250:
281: IF l_dummy2 IS NULL OR l_dummy2 = 0
282: THEN
283: -- Throw an Error
284: AMS_Utility_PVT.error_message('AMS_REG_B2B_IMP_TIP');
285: RAISE FND_API.g_exc_error;
286: END IF;
287: END IF;
288: -- soagrawa end 09-jun-2003 bug# 2997411
289:
297:
298: CLOSE c_contact_id_exists;
299: IF l_dummy is null THEN
300: AMS_Utility_PVT.Error_Message('AMS_INVALID_REG_CONTACT_ID');
301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
302: END IF;
303:
304: ELSE
305: Get_Party_Detail_Reg_Rec( p_reg_det_rec => p_reg_det_rec
305: Get_Party_Detail_Reg_Rec( p_reg_det_rec => p_reg_det_rec
306: , x_reg_party_rec => l_reg_rec
307: );
308: AMS_Registrants_PVT.get_party_id( p_api_version => 1.0
309: , p_commit => FND_API.g_false
310: , p_validation_level => FND_API.g_valid_level_full
311: , p_rec => l_reg_rec
312: , x_return_status => l_return_status
313: , x_msg_count => x_msg_count
306: , x_reg_party_rec => l_reg_rec
307: );
308: AMS_Registrants_PVT.get_party_id( p_api_version => 1.0
309: , p_commit => FND_API.g_false
310: , p_validation_level => FND_API.g_valid_level_full
311: , p_rec => l_reg_rec
312: , x_return_status => l_return_status
313: , x_msg_count => x_msg_count
314: , x_msg_data => x_msg_data
315: , x_new_party_id => l_reg_contact_id
316: , x_new_org_party_id => l_reg_party_id
317: );
318: IF ( (l_reg_contact_id is null)
319: OR (l_return_status <> FND_API.g_ret_sts_success)
320: )
321: THEN
322: -- Throw an Error
323: AMS_Utility_PVT.error_message('AMS_EVT_REG_NO_PARTY');
320: )
321: THEN
322: -- Throw an Error
323: AMS_Utility_PVT.error_message('AMS_EVT_REG_NO_PARTY');
324: RAISE FND_API.g_exc_error;
325: END IF; -- l_reg_contact_id error
326: END IF; -- registrant ids
327: -- What do we do here? How do we get the ORG id if it exists?
328:
367: IF l_dummy2 IS NULL OR l_dummy2 = 0
368: THEN
369: -- Throw an Error
370: AMS_Utility_PVT.error_message('AMS_ATT_B2B_IMP_TIP');
371: RAISE FND_API.g_exc_error;
372: END IF;
373: END IF;
374: -- soagrawa end 09-jun-2003 bug# 2997411
375:
383:
384: CLOSE c_contact_id_exists;
385: IF l_dummy is null THEN
386: AMS_Utility_PVT.Error_Message('AMS_INVALID_ATT_CONTACT_ID');
387: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388: END IF;
389:
390: -- end bug 2839226
391:
403: Get_Party_Detail_Att_Rec( p_reg_det_rec => p_reg_det_rec
404: , x_att_party_rec => l_att_rec
405: );
406: AMS_Registrants_PVT.get_party_id( p_api_version => 1.0
407: , p_commit => FND_API.g_false
408: , p_validation_level => FND_API.g_valid_level_full
409: , p_rec => l_att_rec
410: , x_return_status => l_return_status
411: , x_msg_count => x_msg_count
404: , x_att_party_rec => l_att_rec
405: );
406: AMS_Registrants_PVT.get_party_id( p_api_version => 1.0
407: , p_commit => FND_API.g_false
408: , p_validation_level => FND_API.g_valid_level_full
409: , p_rec => l_att_rec
410: , x_return_status => l_return_status
411: , x_msg_count => x_msg_count
412: , x_msg_data => x_msg_data
413: , x_new_party_id => l_att_contact_id
414: , x_new_org_party_id => l_att_party_id
415: );
416: IF ( (l_att_contact_id is null)
417: OR (l_return_status <> FND_API.g_ret_sts_success)
418: )
419: THEN
420: -- Throw an Error
421: AMS_Utility_PVT.error_message('AMS_EVT_ATT_NO_PARTY');
418: )
419: THEN
420: -- Throw an Error
421: AMS_Utility_PVT.error_message('AMS_EVT_ATT_NO_PARTY');
422: RAISE FND_API.g_exc_error;
423: END IF; -- l_reg_contact_id error
424: --IF ( (l_att_contact_id is null)
425: -- OR (l_return_status <> FND_API.g_ret_sts_success)
426: -- )
421: AMS_Utility_PVT.error_message('AMS_EVT_ATT_NO_PARTY');
422: RAISE FND_API.g_exc_error;
423: END IF; -- l_reg_contact_id error
424: --IF ( (l_att_contact_id is null)
425: -- OR (l_return_status <> FND_API.g_ret_sts_success)
426: -- )
427: --THEN
428: -- l_att_contact_id := l_reg_contact_id;
429: -- l_att_party_id := l_reg_party_id;
486: IF (l_event_registration_id is null)
487: THEN
488: -- throw error - cannot cancel a registration that doesn't exist
489: AMS_Utility_PVT.error_message('AMS_EVT_REG_CANC_NO_CODE');
490: RAISE FND_API.g_exc_error;
491: END IF; -- l_event_registration_id
492: AMS_EvtRegs_PUB.Cancel_Registration( P_Api_Version_Number => 1.0
493: , P_Init_Msg_List => FND_API.G_FALSE
494: , P_Commit => FND_API.G_FALSE
489: AMS_Utility_PVT.error_message('AMS_EVT_REG_CANC_NO_CODE');
490: RAISE FND_API.g_exc_error;
491: END IF; -- l_event_registration_id
492: AMS_EvtRegs_PUB.Cancel_Registration( P_Api_Version_Number => 1.0
493: , P_Init_Msg_List => FND_API.G_FALSE
494: , P_Commit => FND_API.G_FALSE
495: , p_object_version => l_object_version_number
496: , P_event_offer_id => l_event_id
497: , p_registrant_party_id => l_reg_party_id
490: RAISE FND_API.g_exc_error;
491: END IF; -- l_event_registration_id
492: AMS_EvtRegs_PUB.Cancel_Registration( P_Api_Version_Number => 1.0
493: , P_Init_Msg_List => FND_API.G_FALSE
494: , P_Commit => FND_API.G_FALSE
495: , p_object_version => l_object_version_number
496: , P_event_offer_id => l_event_id
497: , p_registrant_party_id => l_reg_party_id
498: , p_confirmation_code => l_confirmation_code
611: l_evt_regs_rec.registration_group_id := null;
612: l_evt_regs_rec.registration_source_id := null;
613:
614: AMS_EvtRegs_PUB.Register( P_Api_Version_Number => 1.0
615: , P_Init_Msg_List => FND_API.G_FALSE
616: , P_Commit => FND_API.G_FALSE
617: , P_evt_regs_Rec => l_evt_regs_rec
618: , p_block_fulfillment => p_block_fulfillment
619: , x_event_registration_id => l_event_registration_id
612: l_evt_regs_rec.registration_source_id := null;
613:
614: AMS_EvtRegs_PUB.Register( P_Api_Version_Number => 1.0
615: , P_Init_Msg_List => FND_API.G_FALSE
616: , P_Commit => FND_API.G_FALSE
617: , P_evt_regs_Rec => l_evt_regs_rec
618: , p_block_fulfillment => p_block_fulfillment
619: , x_event_registration_id => l_event_registration_id
620: , x_confirmation_code => x_confirm_code
670: l_evt_regs_rec.registration_group_id := null;
671: l_evt_regs_rec.registration_source_id := null;
672:
673: AMS_EvtRegs_PUB.Register( P_Api_Version_Number => 1.0
674: , P_Init_Msg_List => FND_API.G_FALSE
675: , P_Commit => FND_API.G_FALSE
676: , P_evt_regs_Rec => l_evt_regs_rec
677: , p_block_fulfillment => p_block_fulfillment
678: , x_event_registration_id => l_event_registration_id
671: l_evt_regs_rec.registration_source_id := null;
672:
673: AMS_EvtRegs_PUB.Register( P_Api_Version_Number => 1.0
674: , P_Init_Msg_List => FND_API.G_FALSE
675: , P_Commit => FND_API.G_FALSE
676: , P_evt_regs_Rec => l_evt_regs_rec
677: , p_block_fulfillment => p_block_fulfillment
678: , x_event_registration_id => l_event_registration_id
679: , x_confirmation_code => x_confirm_code
695: FND_MESSAGE.set_name('AMS', 'AMS_PARTY_ALREADY_REGISTERED');
696: FND_MSG_PUB.add;
697: END IF;
698:
699: l_return_status := FND_API.g_ret_sts_error;
700:
701: END IF;
702:
703:
712: Write_log(L_API_NAME, 'Calling AMS_EvtRegs_PUB.Update_Registration');
713: Write_log(L_API_NAME, 'object version number: ' || l_evt_regs_rec.object_version_number);
714:
715: AMS_EvtRegs_PUB.Update_Registration( P_Api_Version_Number => 1.0
716: , P_Init_Msg_List => FND_API.G_FALSE
717: , P_Commit => FND_API.G_FALSE
718: , P_evt_regs_Rec => l_evt_regs_rec
719: , p_block_fulfillment => p_block_fulfillment
720: , X_Return_Status => l_return_status
713: Write_log(L_API_NAME, 'object version number: ' || l_evt_regs_rec.object_version_number);
714:
715: AMS_EvtRegs_PUB.Update_Registration( P_Api_Version_Number => 1.0
716: , P_Init_Msg_List => FND_API.G_FALSE
717: , P_Commit => FND_API.G_FALSE
718: , P_evt_regs_Rec => l_evt_regs_rec
719: , p_block_fulfillment => p_block_fulfillment
720: , X_Return_Status => l_return_status
721: , X_Msg_Count => x_msg_count
730: END IF;
731: */
732: Write_log(L_API_NAME,'Calling AMS_EvtRegs_PUB.Register');
733: AMS_EvtRegs_PUB.Register( P_Api_Version_Number => 1.0
734: , P_Init_Msg_List => FND_API.G_FALSE
735: , P_Commit => FND_API.G_FALSE
736: , P_evt_regs_Rec => l_evt_regs_rec
737: , p_block_fulfillment => p_block_fulfillment
738: , x_event_registration_id => l_event_registration_id
731: */
732: Write_log(L_API_NAME,'Calling AMS_EvtRegs_PUB.Register');
733: AMS_EvtRegs_PUB.Register( P_Api_Version_Number => 1.0
734: , P_Init_Msg_List => FND_API.G_FALSE
735: , P_Commit => FND_API.G_FALSE
736: , P_evt_regs_Rec => l_evt_regs_rec
737: , p_block_fulfillment => p_block_fulfillment
738: , x_event_registration_id => l_event_registration_id
739: , x_confirmation_code => x_confirm_code
746:
747: END IF; -- call cancel
748:
749: -- Check return status of create/update/cancel
750: IF (l_return_status = FND_API.g_ret_sts_unexp_error)
751: THEN
752: RAISE FND_API.g_exc_unexpected_error;
753: ELSIF (l_return_status = FND_API.g_ret_sts_error)
754: THEN
748:
749: -- Check return status of create/update/cancel
750: IF (l_return_status = FND_API.g_ret_sts_unexp_error)
751: THEN
752: RAISE FND_API.g_exc_unexpected_error;
753: ELSIF (l_return_status = FND_API.g_ret_sts_error)
754: THEN
755: RAISE FND_API.g_exc_error;
756: END IF; -- l_return_status
749: -- Check return status of create/update/cancel
750: IF (l_return_status = FND_API.g_ret_sts_unexp_error)
751: THEN
752: RAISE FND_API.g_exc_unexpected_error;
753: ELSIF (l_return_status = FND_API.g_ret_sts_error)
754: THEN
755: RAISE FND_API.g_exc_error;
756: END IF; -- l_return_status
757:
751: THEN
752: RAISE FND_API.g_exc_unexpected_error;
753: ELSIF (l_return_status = FND_API.g_ret_sts_error)
754: THEN
755: RAISE FND_API.g_exc_error;
756: END IF; -- l_return_status
757:
758: IF FND_API.to_boolean(p_commit)
759: THEN
754: THEN
755: RAISE FND_API.g_exc_error;
756: END IF; -- l_return_status
757:
758: IF FND_API.to_boolean(p_commit)
759: THEN
760: COMMIT;
761: END IF; -- p_commit
762:
759: THEN
760: COMMIT;
761: END IF; -- p_commit
762:
763: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
764: , p_count => x_msg_count
765: , p_data => x_msg_data
766: );
767:
775: Write_log(L_API_NAME, l_full_name || ': end');
776:
777: EXCEPTION
778:
779: WHEN FND_API.g_exc_error
780: THEN
781: ROLLBACK TO Register_Registrants_PUB;
782: x_return_status := FND_API.g_ret_sts_error;
783: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
778:
779: WHEN FND_API.g_exc_error
780: THEN
781: ROLLBACK TO Register_Registrants_PUB;
782: x_return_status := FND_API.g_ret_sts_error;
783: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
784: , p_count => x_msg_count
785: , p_data => x_msg_data
786: );
779: WHEN FND_API.g_exc_error
780: THEN
781: ROLLBACK TO Register_Registrants_PUB;
782: x_return_status := FND_API.g_ret_sts_error;
783: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
784: , p_count => x_msg_count
785: , p_data => x_msg_data
786: );
787:
784: , p_count => x_msg_count
785: , p_data => x_msg_data
786: );
787:
788: WHEN FND_API.g_exc_unexpected_error
789: THEN
790: ROLLBACK TO Register_Registrants_PUB;
791: x_return_status := FND_API.g_ret_sts_unexp_error ;
792: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
787:
788: WHEN FND_API.g_exc_unexpected_error
789: THEN
790: ROLLBACK TO Register_Registrants_PUB;
791: x_return_status := FND_API.g_ret_sts_unexp_error ;
792: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
793: , p_count => x_msg_count
794: , p_data => x_msg_data
795: );
788: WHEN FND_API.g_exc_unexpected_error
789: THEN
790: ROLLBACK TO Register_Registrants_PUB;
791: x_return_status := FND_API.g_ret_sts_unexp_error ;
792: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
793: , p_count => x_msg_count
794: , p_data => x_msg_data
795: );
796:
796:
797: WHEN OTHERS
798: THEN
799: ROLLBACK TO Register_Registrants_PUB;
800: x_return_status := FND_API.g_ret_sts_unexp_error ;
801: IF (FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error))
802: THEN
803: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
804: END IF; -- check_msg_level
801: IF (FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error))
802: THEN
803: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
804: END IF; -- check_msg_level
805: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
806: , p_count => x_msg_count
807: , p_data => x_msg_data
808: );
809: