311: --
312: -- DESCRIPTION
313: -- Create customer account business object.
314: PROCEDURE do_create_cust_acct_bo(
315: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
316: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
317: p_cust_acct_obj IN OUT NOCOPY HZ_CUST_ACCT_BO,
318: p_created_by_module IN VARCHAR2,
319: p_obj_source IN VARCHAR2 := null,
312: -- DESCRIPTION
313: -- Create customer account business object.
314: PROCEDURE do_create_cust_acct_bo(
315: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
316: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
317: p_cust_acct_obj IN OUT NOCOPY HZ_CUST_ACCT_BO,
318: p_created_by_module IN VARCHAR2,
319: p_obj_source IN VARCHAR2 := null,
320: x_return_status OUT NOCOPY VARCHAR2,
351: -- Standard start of API savepoint
352: SAVEPOINT do_create_cust_acct_bo_pub;
353:
354: -- initialize API return status to success.
355: x_return_status := FND_API.G_RET_STS_SUCCESS;
356:
357: -- Initialize message list if p_init_msg_list is set to TRUE.
358: IF FND_API.to_Boolean(p_init_msg_list) THEN
359: FND_MSG_PUB.initialize;
354: -- initialize API return status to success.
355: x_return_status := FND_API.G_RET_STS_SUCCESS;
356:
357: -- Initialize message list if p_init_msg_list is set to TRUE.
358: IF FND_API.to_Boolean(p_init_msg_list) THEN
359: FND_MSG_PUB.initialize;
360: END IF;
361:
362: -- initialize Global variable
374: p_msg_level=>fnd_log.level_procedure);
375: END IF;
376:
377: -- Base on p_validate_bo_flag, check the completeness of business objects
378: IF(p_validate_bo_flag = FND_API.G_TRUE) THEN
379: HZ_REGISTRY_VALIDATE_BO_PVT.get_bus_obj_struct(
380: p_bus_object_code => 'CUST_ACCT',
381: x_bus_object => l_bus_object
382: );
384: p_ca_objs => HZ_CUST_ACCT_BO_TBL(p_cust_acct_obj),
385: p_bus_object => l_bus_object
386: );
387: IF NOT(l_valid_obj) THEN
388: RAISE fnd_api.g_exc_error;
389: END IF;
390: END IF;
391:
392: -- check pass in parent_id and parent_os+osr
398: x_return_status => x_return_status,
399: x_msg_count => x_msg_count,
400: x_msg_data => x_msg_data);
401:
402: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
403: RAISE FND_API.G_EXC_ERROR;
404: END IF;
405:
406: x_cust_acct_id := p_cust_acct_obj.cust_acct_id;
399: x_msg_count => x_msg_count,
400: x_msg_data => x_msg_data);
401:
402: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
403: RAISE FND_API.G_EXC_ERROR;
404: END IF;
405:
406: x_cust_acct_id := p_cust_acct_obj.cust_acct_id;
407: x_cust_acct_os := p_cust_acct_obj.orig_system;
417: x_return_status => x_return_status,
418: x_msg_count => x_msg_count,
419: x_msg_data => x_msg_data);
420:
421: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
422: RAISE FND_API.G_EXC_ERROR;
423: END IF;
424:
425: assign_cust_acct_rec(
418: x_msg_count => x_msg_count,
419: x_msg_data => x_msg_data);
420:
421: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
422: RAISE FND_API.G_EXC_ERROR;
423: END IF;
424:
425: assign_cust_acct_rec(
426: p_cust_acct_obj => p_cust_acct_obj,
433: IF(p_cust_acct_obj.cust_profile_obj IS NULL) THEN
434: fnd_message.set_name('AR', 'HZ_API_MISSING_MANDATORY_ENT');
435: fnd_message.set_token('ENTITY' ,'CUST_PROFILE');
436: fnd_msg_pub.add;
437: RAISE FND_API.G_EXC_ERROR;
438: END IF;
439:
440: HZ_CUST_ACCT_BO_PVT.assign_cust_profile_rec(
441: p_cust_profile_obj => p_cust_acct_obj.cust_profile_obj,
445: );
446:
447: -- set party_id to party record
448: -- profile amount will be created after creating cust account
449: -- therefore set p_create_profile_amt to FND_API.G_FALSE
450: IF(px_parent_obj_type = 'ORG') THEN
451: l_organization_rec.party_rec.party_id := px_parent_id;
452: HZ_CUST_ACCOUNT_V2PUB.create_cust_account (
453: p_cust_account_rec => l_cust_acct_rec,
452: HZ_CUST_ACCOUNT_V2PUB.create_cust_account (
453: p_cust_account_rec => l_cust_acct_rec,
454: p_organization_rec => l_organization_rec,
455: p_customer_profile_rec => l_profile_rec,
456: p_create_profile_amt => FND_API.G_FALSE,
457: x_cust_account_id => x_cust_acct_id,
458: x_account_number => l_account_number,
459: x_party_id => l_party_id,
460: x_party_number => l_party_number,
468: HZ_CUST_ACCOUNT_V2PUB.create_cust_account (
469: p_cust_account_rec => l_cust_acct_rec,
470: p_person_rec => l_person_rec,
471: p_customer_profile_rec => l_profile_rec,
472: p_create_profile_amt => FND_API.G_FALSE,
473: x_cust_account_id => x_cust_acct_id,
474: x_account_number => l_account_number,
475: x_party_id => l_party_id,
476: x_party_number => l_party_number,
480: x_msg_data => x_msg_data
481: );
482: END IF;
483:
484: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
485: RAISE FND_API.G_EXC_ERROR;
486: END IF;
487:
488: OPEN get_cust_acct_profile_id(x_cust_acct_id);
481: );
482: END IF;
483:
484: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
485: RAISE FND_API.G_EXC_ERROR;
486: END IF;
487:
488: OPEN get_cust_acct_profile_id(x_cust_acct_id);
489: FETCH get_cust_acct_profile_id INTO l_cust_acct_profile_id;
516: x_msg_count => x_msg_count,
517: x_msg_data => x_msg_data
518: );
519:
520: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
521: RAISE FND_API.G_EXC_ERROR;
522: END IF;
523: END IF;
524:
517: x_msg_data => x_msg_data
518: );
519:
520: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
521: RAISE FND_API.G_EXC_ERROR;
522: END IF;
523: END IF;
524:
525: -------------------------------------
534: x_msg_count => x_msg_count,
535: x_msg_data => x_msg_data
536: );
537:
538: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
539: RAISE FND_API.G_EXC_ERROR;
540: END IF;
541: END IF;
542:
535: x_msg_data => x_msg_data
536: );
537:
538: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
539: RAISE FND_API.G_EXC_ERROR;
540: END IF;
541: END IF;
542:
543: l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
561: p_parent_osr => x_cust_acct_osr,
562: p_parent_obj_type => 'CUST_ACCT'
563: );
564:
565: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
566: RAISE FND_API.G_EXC_ERROR;
567: END IF;
568: END IF;
569:
562: p_parent_obj_type => 'CUST_ACCT'
563: );
564:
565: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
566: RAISE FND_API.G_EXC_ERROR;
567: END IF;
568: END IF;
569:
570: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
587: p_parent_acct_os => x_cust_acct_os,
588: p_parent_acct_osr => x_cust_acct_osr
589: );
590:
591: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
592: RAISE FND_API.G_EXC_ERROR;
593: END IF;
594: END IF;
595:
588: p_parent_acct_osr => x_cust_acct_osr
589: );
590:
591: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
592: RAISE FND_API.G_EXC_ERROR;
593: END IF;
594: END IF;
595:
596: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
609: x_msg_count => x_msg_count,
610: x_msg_data => x_msg_data
611: );
612:
613: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
614: RAISE FND_API.G_EXC_ERROR;
615: END IF;
616: END IF;
617:
610: x_msg_data => x_msg_data
611: );
612:
613: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
614: RAISE FND_API.G_EXC_ERROR;
615: END IF;
616: END IF;
617:
618: ------------------------
627: x_msg_count => x_msg_count,
628: x_msg_data => x_msg_data
629: );
630:
631: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
632: RAISE FND_API.G_EXC_ERROR;
633: END IF;
634: END IF;
635:
628: x_msg_data => x_msg_data
629: );
630:
631: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
632: RAISE FND_API.G_EXC_ERROR;
633: END IF;
634: END IF;
635:
636: -- reset Global variable
650: p_msg_level=>fnd_log.level_procedure);
651: END IF;
652:
653: EXCEPTION
654: WHEN fnd_api.g_exc_error THEN
655: ROLLBACK TO do_create_cust_acct_bo_pub;
656:
657: -- reset Global variable
658: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
661: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
662: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
663: FND_MSG_PUB.ADD;
664:
665: x_return_status := fnd_api.g_ret_sts_error;
666:
667: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
668: p_count => x_msg_count,
669: p_data => x_msg_data);
663: FND_MSG_PUB.ADD;
664:
665: x_return_status := fnd_api.g_ret_sts_error;
666:
667: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
668: p_count => x_msg_count,
669: p_data => x_msg_data);
670:
671: -- Debug info.
680: p_prefix=>l_debug_prefix,
681: p_msg_level=>fnd_log.level_procedure);
682: END IF;
683:
684: WHEN fnd_api.g_exc_unexpected_error THEN
685: ROLLBACK TO do_create_cust_acct_bo_pub;
686:
687: -- reset Global variable
688: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
691: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
692: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
693: FND_MSG_PUB.ADD;
694:
695: x_return_status := fnd_api.g_ret_sts_unexp_error;
696:
697: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
698: p_count => x_msg_count,
699: p_data => x_msg_data);
693: FND_MSG_PUB.ADD;
694:
695: x_return_status := fnd_api.g_ret_sts_unexp_error;
696:
697: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
698: p_count => x_msg_count,
699: p_data => x_msg_data);
700:
701: -- Debug info.
721: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
722: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
723: FND_MSG_PUB.ADD;
724:
725: x_return_status := fnd_api.g_ret_sts_unexp_error;
726:
727: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
728: fnd_message.set_token('ERROR' ,SQLERRM);
729: fnd_msg_pub.add;
727: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
728: fnd_message.set_token('ERROR' ,SQLERRM);
729: fnd_msg_pub.add;
730:
731: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
732: p_count => x_msg_count,
733: p_data => x_msg_data);
734:
735: -- Debug info.
747: END do_create_cust_acct_bo;
748:
749:
750: PROCEDURE create_cust_acct_bo(
751: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
752: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
753: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
754: p_created_by_module IN VARCHAR2,
755: x_return_status OUT NOCOPY VARCHAR2,
748:
749:
750: PROCEDURE create_cust_acct_bo(
751: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
752: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
753: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
754: p_created_by_module IN VARCHAR2,
755: x_return_status OUT NOCOPY VARCHAR2,
756: x_msg_count OUT NOCOPY NUMBER,
785: );
786: END create_cust_acct_bo;
787:
788: PROCEDURE create_cust_acct_bo(
789: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
790: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
791: p_created_by_module IN VARCHAR2,
792: p_obj_source IN VARCHAR2 := null,
793: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
789: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
790: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
791: p_created_by_module IN VARCHAR2,
792: p_obj_source IN VARCHAR2 := null,
793: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
794: x_return_status OUT NOCOPY VARCHAR2,
795: x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
796: x_return_obj OUT NOCOPY HZ_CUST_ACCT_BO,
797: x_cust_acct_id OUT NOCOPY NUMBER,
807: l_ca_obj HZ_CUST_ACCT_BO;
808: BEGIN
809: l_ca_obj := p_cust_acct_obj;
810: do_create_cust_acct_bo(
811: p_init_msg_list => fnd_api.g_true,
812: p_validate_bo_flag => p_validate_bo_flag,
813: p_cust_acct_obj => l_ca_obj,
814: p_created_by_module => p_created_by_module,
815: p_obj_source => p_obj_source,
827: x_messages := HZ_PARTY_BO_PVT.return_all_messages(
828: x_return_status => x_return_status,
829: x_msg_count => l_msg_count,
830: x_msg_data => l_msg_data);
831: IF FND_API.to_Boolean(p_return_obj_flag) THEN
832: x_return_obj := l_ca_obj;
833: END IF;
834: END create_cust_acct_bo;
835:
833: END IF;
834: END create_cust_acct_bo;
835:
836: PROCEDURE update_cust_acct_bo(
837: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
838: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
839: p_created_by_module IN VARCHAR2,
840: x_return_status OUT NOCOPY VARCHAR2,
841: x_msg_count OUT NOCOPY NUMBER,
865: PROCEDURE update_cust_acct_bo(
866: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
867: p_created_by_module IN VARCHAR2,
868: p_obj_source IN VARCHAR2 := null,
869: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
870: x_return_status OUT NOCOPY VARCHAR2,
871: x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
872: x_return_obj OUT NOCOPY HZ_CUST_ACCT_BO,
873: x_cust_acct_id OUT NOCOPY NUMBER,
879: l_ca_obj HZ_CUST_ACCT_BO;
880: BEGIN
881: l_ca_obj := p_cust_acct_obj;
882: do_update_cust_acct_bo(
883: p_init_msg_list => fnd_api.g_true,
884: p_cust_acct_obj => l_ca_obj,
885: p_created_by_module => p_created_by_module,
886: p_obj_source => p_obj_source,
887: x_return_status => x_return_status,
895: x_messages := HZ_PARTY_BO_PVT.return_all_messages(
896: x_return_status => x_return_status,
897: x_msg_count => l_msg_count,
898: x_msg_data => l_msg_data);
899: IF FND_API.to_Boolean(p_return_obj_flag) THEN
900: x_return_obj := l_ca_obj;
901: END IF;
902: END update_cust_acct_bo;
903:
905: --
906: -- DESCRIPTION
907: -- Update customer account business object.
908: PROCEDURE do_update_cust_acct_bo(
909: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
910: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
911: p_cust_acct_obj IN OUT NOCOPY HZ_CUST_ACCT_BO,
912: p_created_by_module IN VARCHAR2,
913: p_obj_source IN VARCHAR2 := null,
906: -- DESCRIPTION
907: -- Update customer account business object.
908: PROCEDURE do_update_cust_acct_bo(
909: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
910: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
911: p_cust_acct_obj IN OUT NOCOPY HZ_CUST_ACCT_BO,
912: p_created_by_module IN VARCHAR2,
913: p_obj_source IN VARCHAR2 := null,
914: x_return_status OUT NOCOPY VARCHAR2,
936: -- Standard start of API savepoint
937: SAVEPOINT do_update_cust_acct_bo_pub;
938:
939: -- initialize API return status to success.
940: x_return_status := FND_API.G_RET_STS_SUCCESS;
941:
942: -- Initialize message list if p_init_msg_list is set to TRUE.
943: IF FND_API.to_Boolean(p_init_msg_list) THEN
944: FND_MSG_PUB.initialize;
939: -- initialize API return status to success.
940: x_return_status := FND_API.G_RET_STS_SUCCESS;
941:
942: -- Initialize message list if p_init_msg_list is set to TRUE.
943: IF FND_API.to_Boolean(p_init_msg_list) THEN
944: FND_MSG_PUB.initialize;
945: END IF;
946:
947: -- initialize Global variable
976: x_return_status => x_return_status,
977: x_msg_count => x_msg_count,
978: x_msg_data => x_msg_data);
979:
980: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
981: RAISE FND_API.G_EXC_ERROR;
982: END IF;
983:
984: -- get object version number of customer acct
977: x_msg_count => x_msg_count,
978: x_msg_data => x_msg_data);
979:
980: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
981: RAISE FND_API.G_EXC_ERROR;
982: END IF;
983:
984: -- get object version number of customer acct
985: OPEN get_ovn(x_cust_acct_id);
1002: x_msg_count => x_msg_count,
1003: x_msg_data => x_msg_data
1004: );
1005:
1006: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1007: RAISE FND_API.G_EXC_ERROR;
1008: END IF;
1009:
1010: -- assign cust_acct_id
1003: x_msg_data => x_msg_data
1004: );
1005:
1006: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1007: RAISE FND_API.G_EXC_ERROR;
1008: END IF;
1009:
1010: -- assign cust_acct_id
1011: p_cust_acct_obj.cust_acct_id := x_cust_acct_id;
1022: x_msg_count => x_msg_count,
1023: x_msg_data => x_msg_data
1024: );
1025:
1026: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1027: RAISE FND_API.G_EXC_ERROR;
1028: END IF;
1029:
1030: -- assign cust_acct_profile_id
1023: x_msg_data => x_msg_data
1024: );
1025:
1026: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1027: RAISE FND_API.G_EXC_ERROR;
1028: END IF;
1029:
1030: -- assign cust_acct_profile_id
1031: p_cust_acct_obj.cust_profile_obj.cust_acct_profile_id := l_cust_acct_profile_id;
1043: x_msg_count => x_msg_count,
1044: x_msg_data => x_msg_data
1045: );
1046:
1047: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1048: RAISE FND_API.G_EXC_ERROR;
1049: END IF;
1050: END IF;
1051: END IF;
1044: x_msg_data => x_msg_data
1045: );
1046:
1047: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1048: RAISE FND_API.G_EXC_ERROR;
1049: END IF;
1050: END IF;
1051: END IF;
1052:
1069: p_parent_osr => x_cust_acct_osr,
1070: p_parent_obj_type => 'CUST_ACCT'
1071: );
1072:
1073: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1074: RAISE FND_API.G_EXC_ERROR;
1075: END IF;
1076: END IF;
1077:
1070: p_parent_obj_type => 'CUST_ACCT'
1071: );
1072:
1073: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1074: RAISE FND_API.G_EXC_ERROR;
1075: END IF;
1076: END IF;
1077:
1078: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
1089: x_msg_count => x_msg_count,
1090: x_msg_data => x_msg_data
1091: );
1092:
1093: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1094: RAISE FND_API.G_EXC_ERROR;
1095: END IF;
1096: END IF;
1097:
1090: x_msg_data => x_msg_data
1091: );
1092:
1093: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1094: RAISE FND_API.G_EXC_ERROR;
1095: END IF;
1096: END IF;
1097:
1098: -------------------------------------
1113: p_parent_acct_os => x_cust_acct_os,
1114: p_parent_acct_osr => x_cust_acct_osr
1115: );
1116:
1117: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1118: RAISE FND_API.G_EXC_ERROR;
1119: END IF;
1120: END IF;
1121:
1114: p_parent_acct_osr => x_cust_acct_osr
1115: );
1116:
1117: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1118: RAISE FND_API.G_EXC_ERROR;
1119: END IF;
1120: END IF;
1121:
1122: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
1135: x_msg_count => x_msg_count,
1136: x_msg_data => x_msg_data
1137: );
1138:
1139: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1140: RAISE FND_API.G_EXC_ERROR;
1141: END IF;
1142: END IF;
1143:
1136: x_msg_data => x_msg_data
1137: );
1138:
1139: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1140: RAISE FND_API.G_EXC_ERROR;
1141: END IF;
1142: END IF;
1143:
1144: ------------------------
1153: x_msg_count => x_msg_count,
1154: x_msg_data => x_msg_data
1155: );
1156:
1157: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1158: RAISE FND_API.G_EXC_ERROR;
1159: END IF;
1160: END IF;
1161:
1154: x_msg_data => x_msg_data
1155: );
1156:
1157: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1158: RAISE FND_API.G_EXC_ERROR;
1159: END IF;
1160: END IF;
1161:
1162: -- reset Global variable
1175: p_prefix=>l_debug_prefix,
1176: p_msg_level=>fnd_log.level_procedure);
1177: END IF;
1178: EXCEPTION
1179: WHEN fnd_api.g_exc_error THEN
1180: ROLLBACK TO do_update_cust_acct_bo_pub;
1181:
1182: -- reset Global variable
1183: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
1186: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
1187: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
1188: FND_MSG_PUB.ADD;
1189:
1190: x_return_status := fnd_api.g_ret_sts_error;
1191:
1192: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1193: p_count => x_msg_count,
1194: p_data => x_msg_data);
1188: FND_MSG_PUB.ADD;
1189:
1190: x_return_status := fnd_api.g_ret_sts_error;
1191:
1192: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1193: p_count => x_msg_count,
1194: p_data => x_msg_data);
1195:
1196: -- Debug info.
1205: p_prefix=>l_debug_prefix,
1206: p_msg_level=>fnd_log.level_procedure);
1207: END IF;
1208:
1209: WHEN fnd_api.g_exc_unexpected_error THEN
1210: ROLLBACK TO do_update_cust_acct_bo_pub;
1211:
1212: -- reset Global variable
1213: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
1216: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
1217: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
1218: FND_MSG_PUB.ADD;
1219:
1220: x_return_status := fnd_api.g_ret_sts_unexp_error;
1221:
1222: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1223: p_count => x_msg_count,
1224: p_data => x_msg_data);
1218: FND_MSG_PUB.ADD;
1219:
1220: x_return_status := fnd_api.g_ret_sts_unexp_error;
1221:
1222: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1223: p_count => x_msg_count,
1224: p_data => x_msg_data);
1225:
1226: -- Debug info.
1246: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
1247: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
1248: FND_MSG_PUB.ADD;
1249:
1250: x_return_status := fnd_api.g_ret_sts_unexp_error;
1251:
1252: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1253: fnd_message.set_token('ERROR' ,SQLERRM);
1254: fnd_msg_pub.add;
1252: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1253: fnd_message.set_token('ERROR' ,SQLERRM);
1254: fnd_msg_pub.add;
1255:
1256: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1257: p_count => x_msg_count,
1258: p_data => x_msg_data);
1259:
1260: -- Debug info.
1275: --
1276: -- DESCRIPTION
1277: -- Create or update customer account business object.
1278: PROCEDURE do_save_cust_acct_bo(
1279: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1280: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1281: p_cust_acct_obj IN OUT NOCOPY HZ_CUST_ACCT_BO,
1282: p_created_by_module IN VARCHAR2,
1283: p_obj_source IN VARCHAR2 := null,
1276: -- DESCRIPTION
1277: -- Create or update customer account business object.
1278: PROCEDURE do_save_cust_acct_bo(
1279: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1280: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1281: p_cust_acct_obj IN OUT NOCOPY HZ_CUST_ACCT_BO,
1282: p_created_by_module IN VARCHAR2,
1283: p_obj_source IN VARCHAR2 := null,
1284: x_return_status OUT NOCOPY VARCHAR2,
1298: l_create_update_flag VARCHAR2(1);
1299: l_debug_prefix VARCHAR2(30) := '';
1300: BEGIN
1301: -- initialize API return status to success.
1302: x_return_status := FND_API.G_RET_STS_SUCCESS;
1303:
1304: -- Initialize message list if p_init_msg_list is set to TRUE.
1305: IF FND_API.to_Boolean(p_init_msg_list) THEN
1306: FND_MSG_PUB.initialize;
1301: -- initialize API return status to success.
1302: x_return_status := FND_API.G_RET_STS_SUCCESS;
1303:
1304: -- Initialize message list if p_init_msg_list is set to TRUE.
1305: IF FND_API.to_Boolean(p_init_msg_list) THEN
1306: FND_MSG_PUB.initialize;
1307: END IF;
1308:
1309: -- Debug info.
1331: IF(l_create_update_flag = 'E') THEN
1332: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
1333: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
1334: FND_MSG_PUB.ADD;
1335: RAISE FND_API.G_EXC_ERROR;
1336: END IF;
1337:
1338: IF(l_create_update_flag = 'C') THEN
1339: do_create_cust_acct_bo(
1365: x_cust_acct_osr => x_cust_acct_osr,
1366: p_parent_os => px_parent_os
1367: );
1368: ELSE
1369: RAISE FND_API.G_EXC_ERROR;
1370: END IF;
1371:
1372: -- Debug info.
1373: IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1382: p_msg_level=>fnd_log.level_procedure);
1383: END IF;
1384:
1385: EXCEPTION
1386: WHEN fnd_api.g_exc_error THEN
1387: x_return_status := fnd_api.g_ret_sts_error;
1388:
1389: FND_MESSAGE.SET_NAME('AR', 'HZ_SAVE_API_ERROR');
1390: FND_MSG_PUB.ADD;
1383: END IF;
1384:
1385: EXCEPTION
1386: WHEN fnd_api.g_exc_error THEN
1387: x_return_status := fnd_api.g_ret_sts_error;
1388:
1389: FND_MESSAGE.SET_NAME('AR', 'HZ_SAVE_API_ERROR');
1390: FND_MSG_PUB.ADD;
1391: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1387: x_return_status := fnd_api.g_ret_sts_error;
1388:
1389: FND_MESSAGE.SET_NAME('AR', 'HZ_SAVE_API_ERROR');
1390: FND_MSG_PUB.ADD;
1391: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1392: p_count => x_msg_count,
1393: p_data => x_msg_data);
1394:
1395: -- Debug info.
1403: hz_utility_v2pub.debug(p_message=>'do_save_cust_acct_bo(-)',
1404: p_prefix=>l_debug_prefix,
1405: p_msg_level=>fnd_log.level_procedure);
1406: END IF;
1407: WHEN fnd_api.g_exc_unexpected_error THEN
1408: x_return_status := fnd_api.g_ret_sts_unexp_error;
1409:
1410: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1411: p_count => x_msg_count,
1404: p_prefix=>l_debug_prefix,
1405: p_msg_level=>fnd_log.level_procedure);
1406: END IF;
1407: WHEN fnd_api.g_exc_unexpected_error THEN
1408: x_return_status := fnd_api.g_ret_sts_unexp_error;
1409:
1410: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1411: p_count => x_msg_count,
1412: p_data => x_msg_data);
1406: END IF;
1407: WHEN fnd_api.g_exc_unexpected_error THEN
1408: x_return_status := fnd_api.g_ret_sts_unexp_error;
1409:
1410: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1411: p_count => x_msg_count,
1412: p_data => x_msg_data);
1413:
1414: -- Debug info.
1423: p_prefix=>l_debug_prefix,
1424: p_msg_level=>fnd_log.level_procedure);
1425: END IF;
1426: WHEN OTHERS THEN
1427: x_return_status := fnd_api.g_ret_sts_unexp_error;
1428:
1429: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1430: fnd_message.set_token('ERROR' ,SQLERRM);
1431: fnd_msg_pub.add;
1429: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1430: fnd_message.set_token('ERROR' ,SQLERRM);
1431: fnd_msg_pub.add;
1432:
1433: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1434: p_count => x_msg_count,
1435: p_data => x_msg_data);
1436:
1437: -- Debug info.
1448: END IF;
1449: END do_save_cust_acct_bo;
1450:
1451: PROCEDURE save_cust_acct_bo(
1452: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1453: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1454: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
1455: p_created_by_module IN VARCHAR2,
1456: x_return_status OUT NOCOPY VARCHAR2,
1449: END do_save_cust_acct_bo;
1450:
1451: PROCEDURE save_cust_acct_bo(
1452: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1453: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1454: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
1455: p_created_by_module IN VARCHAR2,
1456: x_return_status OUT NOCOPY VARCHAR2,
1457: x_msg_count OUT NOCOPY NUMBER,
1485: );
1486: END save_cust_acct_bo;
1487:
1488: PROCEDURE save_cust_acct_bo(
1489: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1490: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
1491: p_created_by_module IN VARCHAR2,
1492: p_obj_source IN VARCHAR2 := null,
1493: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
1489: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1490: p_cust_acct_obj IN HZ_CUST_ACCT_BO,
1491: p_created_by_module IN VARCHAR2,
1492: p_obj_source IN VARCHAR2 := null,
1493: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
1494: x_return_status OUT NOCOPY VARCHAR2,
1495: x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
1496: x_return_obj OUT NOCOPY HZ_CUST_ACCT_BO,
1497: x_cust_acct_id OUT NOCOPY NUMBER,
1507: l_ca_obj HZ_CUST_ACCT_BO;
1508: BEGIN
1509: l_ca_obj := p_cust_acct_obj;
1510: do_save_cust_acct_bo(
1511: p_init_msg_list => fnd_api.g_true,
1512: p_validate_bo_flag => p_validate_bo_flag,
1513: p_cust_acct_obj => l_ca_obj,
1514: p_created_by_module => p_created_by_module,
1515: x_return_status => x_return_status,
1526: x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1527: x_return_status => x_return_status,
1528: x_msg_count => l_msg_count,
1529: x_msg_data => l_msg_data);
1530: IF FND_API.to_Boolean(p_return_obj_flag) THEN
1531: x_return_obj := l_ca_obj;
1532: END IF;
1533: END save_cust_acct_bo;
1534:
1545: -- IN:
1546: -- p_init_msg_list Initialize message stack if it is set to
1547: -- p_cust_acct_id customer account ID.
1548: -- p_parent_id Parent Id.
1549: -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
1550: -- OUT:
1551: -- x_cust_acct_obj Logical customer account record.
1552: -- x_return_status Return status after the call. The status can
1553: -- be fnd_api.g_ret_sts_success (success),
1549: -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
1550: -- OUT:
1551: -- x_cust_acct_obj Logical customer account record.
1552: -- x_return_status Return status after the call. The status can
1553: -- be fnd_api.g_ret_sts_success (success),
1554: -- fnd_api.g_ret_sts_error (error),
1555: -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1556: -- x_msg_count Number of messages in message stack.
1557: -- x_msg_data Message text if x_msg_count is 1.
1550: -- OUT:
1551: -- x_cust_acct_obj Logical customer account record.
1552: -- x_return_status Return status after the call. The status can
1553: -- be fnd_api.g_ret_sts_success (success),
1554: -- fnd_api.g_ret_sts_error (error),
1555: -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1556: -- x_msg_count Number of messages in message stack.
1557: -- x_msg_data Message text if x_msg_count is 1.
1558: --
1551: -- x_cust_acct_obj Logical customer account record.
1552: -- x_return_status Return status after the call. The status can
1553: -- be fnd_api.g_ret_sts_success (success),
1554: -- fnd_api.g_ret_sts_error (error),
1555: -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1556: -- x_msg_count Number of messages in message stack.
1557: -- x_msg_data Message text if x_msg_count is 1.
1558: --
1559: -- NOTES
1591: */
1592:
1593:
1594: PROCEDURE get_cust_acct_bo(
1595: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1596: p_cust_acct_id IN NUMBER,
1597: p_cust_acct_os IN VARCHAR2,
1598: p_cust_acct_osr IN VARCHAR2,
1599: x_cust_acct_obj OUT NOCOPY HZ_CUST_ACCT_BO,
1609: l_cust_acct_objs HZ_CUST_ACCT_BO_TBL;
1610: BEGIN
1611:
1612: -- initialize API return status to success.
1613: x_return_status := FND_API.G_RET_STS_SUCCESS;
1614:
1615: -- Initialize message list if p_init_msg_list is set to TRUE
1616: IF FND_API.to_Boolean(p_init_msg_list) THEN
1617: FND_MSG_PUB.initialize;
1612: -- initialize API return status to success.
1613: x_return_status := FND_API.G_RET_STS_SUCCESS;
1614:
1615: -- Initialize message list if p_init_msg_list is set to TRUE
1616: IF FND_API.to_Boolean(p_init_msg_list) THEN
1617: FND_MSG_PUB.initialize;
1618: END IF;
1619:
1620:
1640: x_return_status => x_return_status,
1641: x_msg_count => x_msg_count,
1642: x_msg_data => x_msg_data);
1643:
1644: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1645: RAISE fnd_api.g_exc_error;
1646: END IF;
1647:
1648: HZ_EXTRACT_CUST_ACCT_BO_PVT.get_cust_acct_bos
1641: x_msg_count => x_msg_count,
1642: x_msg_data => x_msg_data);
1643:
1644: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1645: RAISE fnd_api.g_exc_error;
1646: END IF;
1647:
1648: HZ_EXTRACT_CUST_ACCT_BO_PVT.get_cust_acct_bos
1649: (p_init_msg_list => fnd_api.g_false,
1645: RAISE fnd_api.g_exc_error;
1646: END IF;
1647:
1648: HZ_EXTRACT_CUST_ACCT_BO_PVT.get_cust_acct_bos
1649: (p_init_msg_list => fnd_api.g_false,
1650: p_parent_id => NULL,
1651: p_cust_acct_id => l_cust_acct_id,
1652: p_action_type => NULL,
1653: x_cust_acct_objs => l_cust_acct_objs,
1656: x_msg_data => x_msg_data);
1657:
1658: x_cust_acct_obj := l_cust_acct_objs(1);
1659:
1660: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1661: RAISE FND_API.G_EXC_ERROR;
1662: END IF;
1663:
1664:
1657:
1658: x_cust_acct_obj := l_cust_acct_objs(1);
1659:
1660: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1661: RAISE FND_API.G_EXC_ERROR;
1662: END IF;
1663:
1664:
1665: -- Debug info.
1679:
1680:
1681: EXCEPTION
1682:
1683: WHEN fnd_api.g_exc_error THEN
1684: x_return_status := fnd_api.g_ret_sts_error;
1685:
1686: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1687: p_count => x_msg_count,
1680:
1681: EXCEPTION
1682:
1683: WHEN fnd_api.g_exc_error THEN
1684: x_return_status := fnd_api.g_ret_sts_error;
1685:
1686: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1687: p_count => x_msg_count,
1688: p_data => x_msg_data);
1682:
1683: WHEN fnd_api.g_exc_error THEN
1684: x_return_status := fnd_api.g_ret_sts_error;
1685:
1686: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1687: p_count => x_msg_count,
1688: p_data => x_msg_data);
1689:
1690: -- Debug info.
1698: hz_utility_v2pub.debug(p_message=>'hz_cust_acct_bo_pub.get_cust_acct_bo (-)',
1699: p_prefix=>l_debug_prefix,
1700: p_msg_level=>fnd_log.level_procedure);
1701: END IF;
1702: WHEN fnd_api.g_exc_unexpected_error THEN
1703: x_return_status := fnd_api.g_ret_sts_unexp_error;
1704:
1705: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1706: p_count => x_msg_count,
1699: p_prefix=>l_debug_prefix,
1700: p_msg_level=>fnd_log.level_procedure);
1701: END IF;
1702: WHEN fnd_api.g_exc_unexpected_error THEN
1703: x_return_status := fnd_api.g_ret_sts_unexp_error;
1704:
1705: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1706: p_count => x_msg_count,
1707: p_data => x_msg_data);
1701: END IF;
1702: WHEN fnd_api.g_exc_unexpected_error THEN
1703: x_return_status := fnd_api.g_ret_sts_unexp_error;
1704:
1705: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1706: p_count => x_msg_count,
1707: p_data => x_msg_data);
1708:
1709: -- Debug info.
1718: p_prefix=>l_debug_prefix,
1719: p_msg_level=>fnd_log.level_procedure);
1720: END IF;
1721: WHEN OTHERS THEN
1722: x_return_status := fnd_api.g_ret_sts_unexp_error;
1723:
1724: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1725: fnd_message.set_token('ERROR' ,SQLERRM);
1726: fnd_msg_pub.add;
1724: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1725: fnd_message.set_token('ERROR' ,SQLERRM);
1726: fnd_msg_pub.add;
1727:
1728: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1729: p_count => x_msg_count,
1730: p_data => x_msg_data);
1731:
1732: -- Debug info.
1755: l_msg_data VARCHAR2(2000);
1756: l_msg_count NUMBER;
1757: BEGIN
1758: get_cust_acct_bo(
1759: p_init_msg_list => fnd_api.g_true,
1760: p_cust_acct_id => p_cust_acct_id,
1761: p_cust_acct_os => p_cust_acct_os,
1762: p_cust_acct_osr => p_cust_acct_osr,
1763: x_cust_acct_obj => x_cust_acct_obj,
1964: --
1965: -- DESCRIPTION
1966: -- Create customer account business object.
1967: PROCEDURE do_create_cust_acct_v2_bo(
1968: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1969: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1970: p_cust_acct_v2_obj IN OUT NOCOPY HZ_CUST_ACCT_V2_BO,
1971: p_created_by_module IN VARCHAR2,
1972: p_obj_source IN VARCHAR2 := null,
1965: -- DESCRIPTION
1966: -- Create customer account business object.
1967: PROCEDURE do_create_cust_acct_v2_bo(
1968: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1969: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1970: p_cust_acct_v2_obj IN OUT NOCOPY HZ_CUST_ACCT_V2_BO,
1971: p_created_by_module IN VARCHAR2,
1972: p_obj_source IN VARCHAR2 := null,
1973: x_return_status OUT NOCOPY VARCHAR2,
2004: -- Standard start of API savepoint
2005: SAVEPOINT do_create_cust_acct_v2_bo_pub;
2006:
2007: -- initialize API return status to success.
2008: x_return_status := FND_API.G_RET_STS_SUCCESS;
2009:
2010: -- Initialize message list if p_init_msg_list is set to TRUE.
2011: IF FND_API.to_Boolean(p_init_msg_list) THEN
2012: FND_MSG_PUB.initialize;
2007: -- initialize API return status to success.
2008: x_return_status := FND_API.G_RET_STS_SUCCESS;
2009:
2010: -- Initialize message list if p_init_msg_list is set to TRUE.
2011: IF FND_API.to_Boolean(p_init_msg_list) THEN
2012: FND_MSG_PUB.initialize;
2013: END IF;
2014:
2015: -- initialize Global variable
2027: p_msg_level=>fnd_log.level_procedure);
2028: END IF;
2029:
2030: -- Base on p_validate_bo_flag, check the completeness of business objects
2031: IF(p_validate_bo_flag = FND_API.G_TRUE) THEN
2032: HZ_REGISTRY_VALIDATE_BO_PVT.get_bus_obj_struct(
2033: p_bus_object_code => 'CUST_ACCT',
2034: x_bus_object => l_bus_object
2035: );
2037: p_ca_v2_objs => HZ_CUST_ACCT_V2_BO_TBL(p_cust_acct_v2_obj),
2038: p_bus_object => l_bus_object
2039: );
2040: IF NOT(l_valid_obj) THEN
2041: RAISE fnd_api.g_exc_error;
2042: END IF;
2043: END IF;
2044:
2045: -- check pass in parent_id and parent_os+osr
2051: x_return_status => x_return_status,
2052: x_msg_count => x_msg_count,
2053: x_msg_data => x_msg_data);
2054:
2055: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2056: RAISE FND_API.G_EXC_ERROR;
2057: END IF;
2058:
2059: x_cust_acct_id := p_cust_acct_v2_obj.cust_acct_id;
2052: x_msg_count => x_msg_count,
2053: x_msg_data => x_msg_data);
2054:
2055: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2056: RAISE FND_API.G_EXC_ERROR;
2057: END IF;
2058:
2059: x_cust_acct_id := p_cust_acct_v2_obj.cust_acct_id;
2060: x_cust_acct_os := p_cust_acct_v2_obj.orig_system;
2070: x_return_status => x_return_status,
2071: x_msg_count => x_msg_count,
2072: x_msg_data => x_msg_data);
2073:
2074: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2075: RAISE FND_API.G_EXC_ERROR;
2076: END IF;
2077:
2078: assign_cust_acct_v2_rec(
2071: x_msg_count => x_msg_count,
2072: x_msg_data => x_msg_data);
2073:
2074: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2075: RAISE FND_API.G_EXC_ERROR;
2076: END IF;
2077:
2078: assign_cust_acct_v2_rec(
2079: p_cust_acct_v2_obj => p_cust_acct_v2_obj,
2086: IF(p_cust_acct_v2_obj.cust_profile_obj IS NULL) THEN
2087: fnd_message.set_name('AR', 'HZ_API_MISSING_MANDATORY_ENT');
2088: fnd_message.set_token('ENTITY' ,'CUST_PROFILE');
2089: fnd_msg_pub.add;
2090: RAISE FND_API.G_EXC_ERROR;
2091: END IF;
2092:
2093: HZ_CUST_ACCT_BO_PVT.assign_cust_profile_rec(
2094: p_cust_profile_obj => p_cust_acct_v2_obj.cust_profile_obj,
2098: );
2099:
2100: -- set party_id to party record
2101: -- profile amount will be created after creating cust account
2102: -- therefore set p_create_profile_amt to FND_API.G_FALSE
2103: IF(px_parent_obj_type = 'ORG') THEN
2104: l_organization_rec.party_rec.party_id := px_parent_id;
2105: HZ_CUST_ACCOUNT_V2PUB.create_cust_account (
2106: p_cust_account_rec => l_cust_acct_rec,
2105: HZ_CUST_ACCOUNT_V2PUB.create_cust_account (
2106: p_cust_account_rec => l_cust_acct_rec,
2107: p_organization_rec => l_organization_rec,
2108: p_customer_profile_rec => l_profile_rec,
2109: p_create_profile_amt => FND_API.G_FALSE,
2110: x_cust_account_id => x_cust_acct_id,
2111: x_account_number => l_account_number,
2112: x_party_id => l_party_id,
2113: x_party_number => l_party_number,
2121: HZ_CUST_ACCOUNT_V2PUB.create_cust_account (
2122: p_cust_account_rec => l_cust_acct_rec,
2123: p_person_rec => l_person_rec,
2124: p_customer_profile_rec => l_profile_rec,
2125: p_create_profile_amt => FND_API.G_FALSE,
2126: x_cust_account_id => x_cust_acct_id,
2127: x_account_number => l_account_number,
2128: x_party_id => l_party_id,
2129: x_party_number => l_party_number,
2133: x_msg_data => x_msg_data
2134: );
2135: END IF;
2136:
2137: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2138: RAISE FND_API.G_EXC_ERROR;
2139: END IF;
2140:
2141: OPEN get_cust_acct_profile_id(x_cust_acct_id);
2134: );
2135: END IF;
2136:
2137: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2138: RAISE FND_API.G_EXC_ERROR;
2139: END IF;
2140:
2141: OPEN get_cust_acct_profile_id(x_cust_acct_id);
2142: FETCH get_cust_acct_profile_id INTO l_cust_acct_profile_id;
2161: x_msg_count => x_msg_count,
2162: x_msg_data => x_msg_data
2163: );
2164:
2165: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2166: RAISE FND_API.G_EXC_ERROR;
2167: END IF;
2168: END IF;
2169:
2162: x_msg_data => x_msg_data
2163: );
2164:
2165: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2166: RAISE FND_API.G_EXC_ERROR;
2167: END IF;
2168: END IF;
2169:
2170: -------------------------------------
2179: x_msg_count => x_msg_count,
2180: x_msg_data => x_msg_data
2181: );
2182:
2183: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2184: RAISE FND_API.G_EXC_ERROR;
2185: END IF;
2186: END IF;
2187:
2180: x_msg_data => x_msg_data
2181: );
2182:
2183: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2184: RAISE FND_API.G_EXC_ERROR;
2185: END IF;
2186: END IF;
2187:
2188: l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
2206: p_parent_osr => x_cust_acct_osr,
2207: p_parent_obj_type => 'CUST_ACCT'
2208: );
2209:
2210: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2211: RAISE FND_API.G_EXC_ERROR;
2212: END IF;
2213: END IF;
2214:
2207: p_parent_obj_type => 'CUST_ACCT'
2208: );
2209:
2210: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2211: RAISE FND_API.G_EXC_ERROR;
2212: END IF;
2213: END IF;
2214:
2215: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2232: p_parent_acct_os => x_cust_acct_os,
2233: p_parent_acct_osr => x_cust_acct_osr
2234: );
2235:
2236: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2237: RAISE FND_API.G_EXC_ERROR;
2238: END IF;
2239: END IF;
2240:
2233: p_parent_acct_osr => x_cust_acct_osr
2234: );
2235:
2236: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2237: RAISE FND_API.G_EXC_ERROR;
2238: END IF;
2239: END IF;
2240:
2241: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2254: x_msg_count => x_msg_count,
2255: x_msg_data => x_msg_data
2256: );
2257:
2258: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2259: RAISE FND_API.G_EXC_ERROR;
2260: END IF;
2261: END IF;
2262:
2255: x_msg_data => x_msg_data
2256: );
2257:
2258: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2259: RAISE FND_API.G_EXC_ERROR;
2260: END IF;
2261: END IF;
2262:
2263: ------------------------
2273: x_msg_count => x_msg_count,
2274: x_msg_data => x_msg_data
2275: );
2276:
2277: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2278: RAISE FND_API.G_EXC_ERROR;
2279: END IF;
2280: END IF;
2281:
2274: x_msg_data => x_msg_data
2275: );
2276:
2277: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2278: RAISE FND_API.G_EXC_ERROR;
2279: END IF;
2280: END IF;
2281:
2282: -- reset Global variable
2296: p_msg_level=>fnd_log.level_procedure);
2297: END IF;
2298:
2299: EXCEPTION
2300: WHEN fnd_api.g_exc_error THEN
2301: ROLLBACK TO do_create_cust_acct_v2_bo_pub;
2302:
2303: -- reset Global variable
2304: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2307: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2308: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
2309: FND_MSG_PUB.ADD;
2310:
2311: x_return_status := fnd_api.g_ret_sts_error;
2312:
2313: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2314: p_count => x_msg_count,
2315: p_data => x_msg_data);
2309: FND_MSG_PUB.ADD;
2310:
2311: x_return_status := fnd_api.g_ret_sts_error;
2312:
2313: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2314: p_count => x_msg_count,
2315: p_data => x_msg_data);
2316:
2317: -- Debug info.
2326: p_prefix=>l_debug_prefix,
2327: p_msg_level=>fnd_log.level_procedure);
2328: END IF;
2329:
2330: WHEN fnd_api.g_exc_unexpected_error THEN
2331: ROLLBACK TO do_create_cust_acct_v2_bo_pub;
2332:
2333: -- reset Global variable
2334: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2337: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2338: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
2339: FND_MSG_PUB.ADD;
2340:
2341: x_return_status := fnd_api.g_ret_sts_unexp_error;
2342:
2343: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2344: p_count => x_msg_count,
2345: p_data => x_msg_data);
2339: FND_MSG_PUB.ADD;
2340:
2341: x_return_status := fnd_api.g_ret_sts_unexp_error;
2342:
2343: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2344: p_count => x_msg_count,
2345: p_data => x_msg_data);
2346:
2347: -- Debug info.
2367: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2368: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
2369: FND_MSG_PUB.ADD;
2370:
2371: x_return_status := fnd_api.g_ret_sts_unexp_error;
2372:
2373: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2374: fnd_message.set_token('ERROR' ,SQLERRM);
2375: fnd_msg_pub.add;
2373: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2374: fnd_message.set_token('ERROR' ,SQLERRM);
2375: fnd_msg_pub.add;
2376:
2377: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2378: p_count => x_msg_count,
2379: p_data => x_msg_data);
2380:
2381: -- Debug info.
2392: END IF;
2393: END do_create_cust_acct_v2_bo;
2394:
2395: PROCEDURE create_cust_acct_v2_bo(
2396: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2397: p_cust_acct_v2_obj IN HZ_CUST_ACCT_V2_BO,
2398: p_created_by_module IN VARCHAR2,
2399: p_obj_source IN VARCHAR2 := null,
2400: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2396: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2397: p_cust_acct_v2_obj IN HZ_CUST_ACCT_V2_BO,
2398: p_created_by_module IN VARCHAR2,
2399: p_obj_source IN VARCHAR2 := null,
2400: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2401: x_return_status OUT NOCOPY VARCHAR2,
2402: x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2403: x_return_obj OUT NOCOPY HZ_CUST_ACCT_V2_BO,
2404: x_cust_acct_id OUT NOCOPY NUMBER,
2414: l_ca_obj HZ_CUST_ACCT_V2_BO;
2415: BEGIN
2416: l_ca_obj := p_cust_acct_v2_obj;
2417: do_create_cust_acct_v2_bo(
2418: p_init_msg_list => fnd_api.g_true,
2419: p_validate_bo_flag => p_validate_bo_flag,
2420: p_cust_acct_v2_obj => l_ca_obj,
2421: p_created_by_module => p_created_by_module,
2422: p_obj_source => p_obj_source,
2434: x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2435: x_return_status => x_return_status,
2436: x_msg_count => l_msg_count,
2437: x_msg_data => l_msg_data);
2438: IF FND_API.to_Boolean(p_return_obj_flag) THEN
2439: x_return_obj := l_ca_obj;
2440: END IF;
2441: END create_cust_acct_v2_bo;
2442:
2443: PROCEDURE update_cust_acct_v2_bo(
2444: p_cust_acct_v2_obj IN HZ_CUST_ACCT_V2_BO,
2445: p_created_by_module IN VARCHAR2,
2446: p_obj_source IN VARCHAR2 := null,
2447: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2448: x_return_status OUT NOCOPY VARCHAR2,
2449: x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2450: x_return_obj OUT NOCOPY HZ_CUST_ACCT_V2_BO,
2451: x_cust_acct_id OUT NOCOPY NUMBER,
2457: l_ca_obj HZ_CUST_ACCT_V2_BO;
2458: BEGIN
2459: l_ca_obj := p_cust_acct_v2_obj;
2460: do_update_cust_acct_v2_bo(
2461: p_init_msg_list => fnd_api.g_true,
2462: p_cust_acct_v2_obj => l_ca_obj,
2463: p_created_by_module => p_created_by_module,
2464: p_obj_source => p_obj_source,
2465: x_return_status => x_return_status,
2473: x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2474: x_return_status => x_return_status,
2475: x_msg_count => l_msg_count,
2476: x_msg_data => l_msg_data);
2477: IF FND_API.to_Boolean(p_return_obj_flag) THEN
2478: x_return_obj := l_ca_obj;
2479: END IF;
2480: END update_cust_acct_v2_bo;
2481:
2483: --
2484: -- DESCRIPTION
2485: -- Update customer account business object.
2486: PROCEDURE do_update_cust_acct_v2_bo(
2487: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2488: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2489: p_cust_acct_v2_obj IN OUT NOCOPY HZ_CUST_ACCT_V2_BO,
2490: p_created_by_module IN VARCHAR2,
2491: p_obj_source IN VARCHAR2 := null,
2484: -- DESCRIPTION
2485: -- Update customer account business object.
2486: PROCEDURE do_update_cust_acct_v2_bo(
2487: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2488: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2489: p_cust_acct_v2_obj IN OUT NOCOPY HZ_CUST_ACCT_V2_BO,
2490: p_created_by_module IN VARCHAR2,
2491: p_obj_source IN VARCHAR2 := null,
2492: x_return_status OUT NOCOPY VARCHAR2,
2514: -- Standard start of API savepoint
2515: SAVEPOINT do_update_cust_acct_v2_bo_pub;
2516:
2517: -- initialize API return status to success.
2518: x_return_status := FND_API.G_RET_STS_SUCCESS;
2519:
2520: -- Initialize message list if p_init_msg_list is set to TRUE.
2521: IF FND_API.to_Boolean(p_init_msg_list) THEN
2522: FND_MSG_PUB.initialize;
2517: -- initialize API return status to success.
2518: x_return_status := FND_API.G_RET_STS_SUCCESS;
2519:
2520: -- Initialize message list if p_init_msg_list is set to TRUE.
2521: IF FND_API.to_Boolean(p_init_msg_list) THEN
2522: FND_MSG_PUB.initialize;
2523: END IF;
2524:
2525: -- initialize Global variable
2554: x_return_status => x_return_status,
2555: x_msg_count => x_msg_count,
2556: x_msg_data => x_msg_data);
2557:
2558: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2559: RAISE FND_API.G_EXC_ERROR;
2560: END IF;
2561:
2562: -- get object version number of customer acct
2555: x_msg_count => x_msg_count,
2556: x_msg_data => x_msg_data);
2557:
2558: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2559: RAISE FND_API.G_EXC_ERROR;
2560: END IF;
2561:
2562: -- get object version number of customer acct
2563: OPEN get_ovn(x_cust_acct_id);
2580: x_msg_count => x_msg_count,
2581: x_msg_data => x_msg_data
2582: );
2583:
2584: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2585: RAISE FND_API.G_EXC_ERROR;
2586: END IF;
2587:
2588: -- assign cust_acct_id
2581: x_msg_data => x_msg_data
2582: );
2583:
2584: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2585: RAISE FND_API.G_EXC_ERROR;
2586: END IF;
2587:
2588: -- assign cust_acct_id
2589: p_cust_acct_v2_obj.cust_acct_id := x_cust_acct_id;
2600: x_msg_count => x_msg_count,
2601: x_msg_data => x_msg_data
2602: );
2603:
2604: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2605: RAISE FND_API.G_EXC_ERROR;
2606: END IF;
2607:
2608: -- assign cust_acct_profile_id
2601: x_msg_data => x_msg_data
2602: );
2603:
2604: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2605: RAISE FND_API.G_EXC_ERROR;
2606: END IF;
2607:
2608: -- assign cust_acct_profile_id
2609: p_cust_acct_v2_obj.cust_profile_obj.cust_acct_profile_id := l_cust_acct_profile_id;
2621: x_msg_count => x_msg_count,
2622: x_msg_data => x_msg_data
2623: );
2624:
2625: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2626: RAISE FND_API.G_EXC_ERROR;
2627: END IF;
2628: END IF;
2629: END IF;
2622: x_msg_data => x_msg_data
2623: );
2624:
2625: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2626: RAISE FND_API.G_EXC_ERROR;
2627: END IF;
2628: END IF;
2629: END IF;
2630:
2647: p_parent_osr => x_cust_acct_osr,
2648: p_parent_obj_type => 'CUST_ACCT'
2649: );
2650:
2651: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2652: RAISE FND_API.G_EXC_ERROR;
2653: END IF;
2654: END IF;
2655:
2648: p_parent_obj_type => 'CUST_ACCT'
2649: );
2650:
2651: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2652: RAISE FND_API.G_EXC_ERROR;
2653: END IF;
2654: END IF;
2655:
2656: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2667: x_msg_count => x_msg_count,
2668: x_msg_data => x_msg_data
2669: );
2670:
2671: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2672: RAISE FND_API.G_EXC_ERROR;
2673: END IF;
2674: END IF;
2675:
2668: x_msg_data => x_msg_data
2669: );
2670:
2671: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2672: RAISE FND_API.G_EXC_ERROR;
2673: END IF;
2674: END IF;
2675:
2676: -------------------------------------
2691: p_parent_acct_os => x_cust_acct_os,
2692: p_parent_acct_osr => x_cust_acct_osr
2693: );
2694:
2695: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2696: RAISE FND_API.G_EXC_ERROR;
2697: END IF;
2698: END IF;
2699:
2692: p_parent_acct_osr => x_cust_acct_osr
2693: );
2694:
2695: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2696: RAISE FND_API.G_EXC_ERROR;
2697: END IF;
2698: END IF;
2699:
2700: HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
2713: x_msg_count => x_msg_count,
2714: x_msg_data => x_msg_data
2715: );
2716:
2717: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2718: RAISE FND_API.G_EXC_ERROR;
2719: END IF;
2720: END IF;
2721:
2714: x_msg_data => x_msg_data
2715: );
2716:
2717: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2718: RAISE FND_API.G_EXC_ERROR;
2719: END IF;
2720: END IF;
2721:
2722: ------------------------
2732: x_msg_count => x_msg_count,
2733: x_msg_data => x_msg_data
2734: );
2735:
2736: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2737: RAISE FND_API.G_EXC_ERROR;
2738: END IF;
2739: END IF;
2740:
2733: x_msg_data => x_msg_data
2734: );
2735:
2736: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2737: RAISE FND_API.G_EXC_ERROR;
2738: END IF;
2739: END IF;
2740:
2741: -- reset Global variable
2754: p_prefix=>l_debug_prefix,
2755: p_msg_level=>fnd_log.level_procedure);
2756: END IF;
2757: EXCEPTION
2758: WHEN fnd_api.g_exc_error THEN
2759: ROLLBACK TO do_update_cust_acct_v2_bo_pub;
2760:
2761: -- reset Global variable
2762: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2765: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2766: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
2767: FND_MSG_PUB.ADD;
2768:
2769: x_return_status := fnd_api.g_ret_sts_error;
2770:
2771: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2772: p_count => x_msg_count,
2773: p_data => x_msg_data);
2767: FND_MSG_PUB.ADD;
2768:
2769: x_return_status := fnd_api.g_ret_sts_error;
2770:
2771: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2772: p_count => x_msg_count,
2773: p_data => x_msg_data);
2774:
2775: -- Debug info.
2784: p_prefix=>l_debug_prefix,
2785: p_msg_level=>fnd_log.level_procedure);
2786: END IF;
2787:
2788: WHEN fnd_api.g_exc_unexpected_error THEN
2789: ROLLBACK TO do_update_cust_acct_v2_bo_pub;
2790:
2791: -- reset Global variable
2792: HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2795: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2796: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
2797: FND_MSG_PUB.ADD;
2798:
2799: x_return_status := fnd_api.g_ret_sts_unexp_error;
2800:
2801: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2802: p_count => x_msg_count,
2803: p_data => x_msg_data);
2797: FND_MSG_PUB.ADD;
2798:
2799: x_return_status := fnd_api.g_ret_sts_unexp_error;
2800:
2801: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2802: p_count => x_msg_count,
2803: p_data => x_msg_data);
2804:
2805: -- Debug info.
2825: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2826: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
2827: FND_MSG_PUB.ADD;
2828:
2829: x_return_status := fnd_api.g_ret_sts_unexp_error;
2830:
2831: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2832: fnd_message.set_token('ERROR' ,SQLERRM);
2833: fnd_msg_pub.add;
2831: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2832: fnd_message.set_token('ERROR' ,SQLERRM);
2833: fnd_msg_pub.add;
2834:
2835: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2836: p_count => x_msg_count,
2837: p_data => x_msg_data);
2838:
2839: -- Debug info.
2854: --
2855: -- DESCRIPTION
2856: -- Create or update customer account business object.
2857: PROCEDURE do_save_cust_acct_v2_bo(
2858: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2859: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2860: p_cust_acct_v2_obj IN OUT NOCOPY HZ_CUST_ACCT_V2_BO,
2861: p_created_by_module IN VARCHAR2,
2862: p_obj_source IN VARCHAR2 := null,
2855: -- DESCRIPTION
2856: -- Create or update customer account business object.
2857: PROCEDURE do_save_cust_acct_v2_bo(
2858: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2859: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
2860: p_cust_acct_v2_obj IN OUT NOCOPY HZ_CUST_ACCT_V2_BO,
2861: p_created_by_module IN VARCHAR2,
2862: p_obj_source IN VARCHAR2 := null,
2863: x_return_status OUT NOCOPY VARCHAR2,
2877: l_create_update_flag VARCHAR2(1);
2878: l_debug_prefix VARCHAR2(30) := '';
2879: BEGIN
2880: -- initialize API return status to success.
2881: x_return_status := FND_API.G_RET_STS_SUCCESS;
2882:
2883: -- Initialize message list if p_init_msg_list is set to TRUE.
2884: IF FND_API.to_Boolean(p_init_msg_list) THEN
2885: FND_MSG_PUB.initialize;
2880: -- initialize API return status to success.
2881: x_return_status := FND_API.G_RET_STS_SUCCESS;
2882:
2883: -- Initialize message list if p_init_msg_list is set to TRUE.
2884: IF FND_API.to_Boolean(p_init_msg_list) THEN
2885: FND_MSG_PUB.initialize;
2886: END IF;
2887:
2888: -- Debug info.
2910: IF(l_create_update_flag = 'E') THEN
2911: FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2912: FND_MESSAGE.SET_TOKEN('OBJECT', 'CUST_ACCT');
2913: FND_MSG_PUB.ADD;
2914: RAISE FND_API.G_EXC_ERROR;
2915: END IF;
2916:
2917: IF(l_create_update_flag = 'C') THEN
2918: do_create_cust_acct_v2_bo(
2944: x_cust_acct_osr => x_cust_acct_osr,
2945: p_parent_os => px_parent_os
2946: );
2947: ELSE
2948: RAISE FND_API.G_EXC_ERROR;
2949: END IF;
2950:
2951: -- Debug info.
2952: IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
2961: p_msg_level=>fnd_log.level_procedure);
2962: END IF;
2963:
2964: EXCEPTION
2965: WHEN fnd_api.g_exc_error THEN
2966: x_return_status := fnd_api.g_ret_sts_error;
2967:
2968: FND_MESSAGE.SET_NAME('AR', 'HZ_SAVE_API_ERROR');
2969: FND_MSG_PUB.ADD;
2962: END IF;
2963:
2964: EXCEPTION
2965: WHEN fnd_api.g_exc_error THEN
2966: x_return_status := fnd_api.g_ret_sts_error;
2967:
2968: FND_MESSAGE.SET_NAME('AR', 'HZ_SAVE_API_ERROR');
2969: FND_MSG_PUB.ADD;
2970: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2966: x_return_status := fnd_api.g_ret_sts_error;
2967:
2968: FND_MESSAGE.SET_NAME('AR', 'HZ_SAVE_API_ERROR');
2969: FND_MSG_PUB.ADD;
2970: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2971: p_count => x_msg_count,
2972: p_data => x_msg_data);
2973:
2974: -- Debug info.
2982: hz_utility_v2pub.debug(p_message=>'do_save_cust_acct_v2_bo(-)',
2983: p_prefix=>l_debug_prefix,
2984: p_msg_level=>fnd_log.level_procedure);
2985: END IF;
2986: WHEN fnd_api.g_exc_unexpected_error THEN
2987: x_return_status := fnd_api.g_ret_sts_unexp_error;
2988:
2989: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2990: p_count => x_msg_count,
2983: p_prefix=>l_debug_prefix,
2984: p_msg_level=>fnd_log.level_procedure);
2985: END IF;
2986: WHEN fnd_api.g_exc_unexpected_error THEN
2987: x_return_status := fnd_api.g_ret_sts_unexp_error;
2988:
2989: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2990: p_count => x_msg_count,
2991: p_data => x_msg_data);
2985: END IF;
2986: WHEN fnd_api.g_exc_unexpected_error THEN
2987: x_return_status := fnd_api.g_ret_sts_unexp_error;
2988:
2989: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2990: p_count => x_msg_count,
2991: p_data => x_msg_data);
2992:
2993: -- Debug info.
3002: p_prefix=>l_debug_prefix,
3003: p_msg_level=>fnd_log.level_procedure);
3004: END IF;
3005: WHEN OTHERS THEN
3006: x_return_status := fnd_api.g_ret_sts_unexp_error;
3007:
3008: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3009: fnd_message.set_token('ERROR' ,SQLERRM);
3010: fnd_msg_pub.add;
3008: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3009: fnd_message.set_token('ERROR' ,SQLERRM);
3010: fnd_msg_pub.add;
3011:
3012: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3013: p_count => x_msg_count,
3014: p_data => x_msg_data);
3015:
3016: -- Debug info.
3027: END IF;
3028: END do_save_cust_acct_v2_bo;
3029:
3030: PROCEDURE save_cust_acct_v2_bo(
3031: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3032: p_cust_acct_v2_obj IN HZ_CUST_ACCT_V2_BO,
3033: p_created_by_module IN VARCHAR2,
3034: p_obj_source IN VARCHAR2 := null,
3035: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3031: p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3032: p_cust_acct_v2_obj IN HZ_CUST_ACCT_V2_BO,
3033: p_created_by_module IN VARCHAR2,
3034: p_obj_source IN VARCHAR2 := null,
3035: p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3036: x_return_status OUT NOCOPY VARCHAR2,
3037: x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3038: x_return_obj OUT NOCOPY HZ_CUST_ACCT_V2_BO,
3039: x_cust_acct_id OUT NOCOPY NUMBER,
3049: l_ca_obj HZ_CUST_ACCT_V2_BO;
3050: BEGIN
3051: l_ca_obj := p_cust_acct_v2_obj;
3052: do_save_cust_acct_v2_bo(
3053: p_init_msg_list => fnd_api.g_true,
3054: p_validate_bo_flag => p_validate_bo_flag,
3055: p_cust_acct_v2_obj => l_ca_obj,
3056: p_created_by_module => p_created_by_module,
3057: x_return_status => x_return_status,
3068: x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3069: x_return_status => x_return_status,
3070: x_msg_count => l_msg_count,
3071: x_msg_data => l_msg_data);
3072: IF FND_API.to_Boolean(p_return_obj_flag) THEN
3073: x_return_obj := l_ca_obj;
3074: END IF;
3075: END save_cust_acct_v2_bo;
3076:
3087: -- IN:
3088: -- p_init_msg_list Initialize message stack if it is set to
3089: -- p_cust_acct_id customer account ID.
3090: -- p_parent_id Parent Id.
3091: -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3092: -- OUT:
3093: -- x_cust_acct_v2_obj Logical customer account record.
3094: -- x_return_status Return status after the call. The status can
3095: -- be fnd_api.g_ret_sts_success (success),
3091: -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3092: -- OUT:
3093: -- x_cust_acct_v2_obj Logical customer account record.
3094: -- x_return_status Return status after the call. The status can
3095: -- be fnd_api.g_ret_sts_success (success),
3096: -- fnd_api.g_ret_sts_error (error),
3097: -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3098: -- x_msg_count Number of messages in message stack.
3099: -- x_msg_data Message text if x_msg_count is 1.
3092: -- OUT:
3093: -- x_cust_acct_v2_obj Logical customer account record.
3094: -- x_return_status Return status after the call. The status can
3095: -- be fnd_api.g_ret_sts_success (success),
3096: -- fnd_api.g_ret_sts_error (error),
3097: -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3098: -- x_msg_count Number of messages in message stack.
3099: -- x_msg_data Message text if x_msg_count is 1.
3100: --
3093: -- x_cust_acct_v2_obj Logical customer account record.
3094: -- x_return_status Return status after the call. The status can
3095: -- be fnd_api.g_ret_sts_success (success),
3096: -- fnd_api.g_ret_sts_error (error),
3097: -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3098: -- x_msg_count Number of messages in message stack.
3099: -- x_msg_data Message text if x_msg_count is 1.
3100: --
3101: -- NOTES
3133: */
3134:
3135:
3136: PROCEDURE get_cust_acct_v2_bo(
3137: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3138: p_cust_acct_id IN NUMBER,
3139: p_cust_acct_os IN VARCHAR2,
3140: p_cust_acct_osr IN VARCHAR2,
3141: x_cust_acct_v2_obj OUT NOCOPY HZ_CUST_ACCT_V2_BO,
3151: l_cust_acct_v2_objs HZ_CUST_ACCT_V2_BO_TBL;
3152: BEGIN
3153:
3154: -- initialize API return status to success.
3155: x_return_status := FND_API.G_RET_STS_SUCCESS;
3156:
3157: -- Initialize message list if p_init_msg_list is set to TRUE
3158: IF FND_API.to_Boolean(p_init_msg_list) THEN
3159: FND_MSG_PUB.initialize;
3154: -- initialize API return status to success.
3155: x_return_status := FND_API.G_RET_STS_SUCCESS;
3156:
3157: -- Initialize message list if p_init_msg_list is set to TRUE
3158: IF FND_API.to_Boolean(p_init_msg_list) THEN
3159: FND_MSG_PUB.initialize;
3160: END IF;
3161:
3162:
3182: x_return_status => x_return_status,
3183: x_msg_count => x_msg_count,
3184: x_msg_data => x_msg_data);
3185:
3186: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3187: RAISE fnd_api.g_exc_error;
3188: END IF;
3189:
3190: HZ_EXTRACT_CUST_ACCT_BO_PVT.get_cust_acct_v2_bos
3183: x_msg_count => x_msg_count,
3184: x_msg_data => x_msg_data);
3185:
3186: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3187: RAISE fnd_api.g_exc_error;
3188: END IF;
3189:
3190: HZ_EXTRACT_CUST_ACCT_BO_PVT.get_cust_acct_v2_bos
3191: (p_init_msg_list => fnd_api.g_false,
3187: RAISE fnd_api.g_exc_error;
3188: END IF;
3189:
3190: HZ_EXTRACT_CUST_ACCT_BO_PVT.get_cust_acct_v2_bos
3191: (p_init_msg_list => fnd_api.g_false,
3192: p_parent_id => NULL,
3193: p_cust_acct_id => l_cust_acct_id,
3194: p_action_type => NULL,
3195: x_cust_acct_v2_objs => l_cust_acct_v2_objs,
3198: x_msg_data => x_msg_data);
3199:
3200: x_cust_acct_v2_obj := l_cust_acct_v2_objs(1);
3201:
3202: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3203: RAISE FND_API.G_EXC_ERROR;
3204: END IF;
3205:
3206:
3199:
3200: x_cust_acct_v2_obj := l_cust_acct_v2_objs(1);
3201:
3202: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3203: RAISE FND_API.G_EXC_ERROR;
3204: END IF;
3205:
3206:
3207: -- Debug info.
3221:
3222:
3223: EXCEPTION
3224:
3225: WHEN fnd_api.g_exc_error THEN
3226: x_return_status := fnd_api.g_ret_sts_error;
3227:
3228: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3229: p_count => x_msg_count,
3222:
3223: EXCEPTION
3224:
3225: WHEN fnd_api.g_exc_error THEN
3226: x_return_status := fnd_api.g_ret_sts_error;
3227:
3228: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3229: p_count => x_msg_count,
3230: p_data => x_msg_data);
3224:
3225: WHEN fnd_api.g_exc_error THEN
3226: x_return_status := fnd_api.g_ret_sts_error;
3227:
3228: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3229: p_count => x_msg_count,
3230: p_data => x_msg_data);
3231:
3232: -- Debug info.
3240: hz_utility_v2pub.debug(p_message=>'hz_cust_acct_bo_pub.get_cust_acct_v2_bo (-)',
3241: p_prefix=>l_debug_prefix,
3242: p_msg_level=>fnd_log.level_procedure);
3243: END IF;
3244: WHEN fnd_api.g_exc_unexpected_error THEN
3245: x_return_status := fnd_api.g_ret_sts_unexp_error;
3246:
3247: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3248: p_count => x_msg_count,
3241: p_prefix=>l_debug_prefix,
3242: p_msg_level=>fnd_log.level_procedure);
3243: END IF;
3244: WHEN fnd_api.g_exc_unexpected_error THEN
3245: x_return_status := fnd_api.g_ret_sts_unexp_error;
3246:
3247: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3248: p_count => x_msg_count,
3249: p_data => x_msg_data);
3243: END IF;
3244: WHEN fnd_api.g_exc_unexpected_error THEN
3245: x_return_status := fnd_api.g_ret_sts_unexp_error;
3246:
3247: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3248: p_count => x_msg_count,
3249: p_data => x_msg_data);
3250:
3251: -- Debug info.
3260: p_prefix=>l_debug_prefix,
3261: p_msg_level=>fnd_log.level_procedure);
3262: END IF;
3263: WHEN OTHERS THEN
3264: x_return_status := fnd_api.g_ret_sts_unexp_error;
3265:
3266: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3267: fnd_message.set_token('ERROR' ,SQLERRM);
3268: fnd_msg_pub.add;
3266: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3267: fnd_message.set_token('ERROR' ,SQLERRM);
3268: fnd_msg_pub.add;
3269:
3270: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3271: p_count => x_msg_count,
3272: p_data => x_msg_data);
3273:
3274: -- Debug info.
3297: l_msg_data VARCHAR2(2000);
3298: l_msg_count NUMBER;
3299: BEGIN
3300: get_cust_acct_v2_bo(
3301: p_init_msg_list => fnd_api.g_true,
3302: p_cust_acct_id => p_cust_acct_id,
3303: p_cust_acct_os => p_cust_acct_os,
3304: p_cust_acct_osr => p_cust_acct_osr,
3305: x_cust_acct_v2_obj => x_cust_acct_v2_obj,