677: -- 11-Nov-1999 choang Moved to AMS_ListDedupe_PVT.
678: --------------------------------------------------------------------
679: PROCEDURE Generate_Key (
680: p_api_version IN NUMBER,
681: p_init_msg_list IN VARCHAR2 := FND_API.g_false,
682: p_validation_level IN NUMBER := FND_API.g_valid_level_full,
683:
684: x_return_status OUT NOCOPY VARCHAR2,
685: x_msg_count OUT NOCOPY NUMBER,
678: --------------------------------------------------------------------
679: PROCEDURE Generate_Key (
680: p_api_version IN NUMBER,
681: p_init_msg_list IN VARCHAR2 := FND_API.g_false,
682: p_validation_level IN NUMBER := FND_API.g_valid_level_full,
683:
684: x_return_status OUT NOCOPY VARCHAR2,
685: x_msg_count OUT NOCOPY NUMBER,
686: x_msg_data OUT NOCOPY VARCHAR2,
734:
735: AMS_Utility_PVT.debug_message (l_full_name || ': Start');
736: END IF;
737:
738: IF FND_API.to_boolean (p_init_msg_list) THEN
739: -- Clear out the message buffer.
740: FND_MSG_PUB.initialize;
741: END IF;
742:
739: -- Clear out the message buffer.
740: FND_MSG_PUB.initialize;
741: END IF;
742:
743: IF NOT FND_API.compatible_api_call (
744: l_api_version,
745: p_api_version,
746: l_api_name,
747: g_pkg_name
745: p_api_version,
746: l_api_name,
747: g_pkg_name
748: ) THEN
749: RAISE FND_API.g_exc_unexpected_error;
750: END IF;
751:
752: x_return_status := FND_API.g_ret_sts_success;
753:
748: ) THEN
749: RAISE FND_API.g_exc_unexpected_error;
750: END IF;
751:
752: x_return_status := FND_API.g_ret_sts_success;
753:
754: ----------------------- generate -----------------------
755: IF (AMS_DEBUG_HIGH_ON) THEN
756:
765: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_error) THEN
766: FND_MESSAGE.set_name ('AMS', 'AMS_LIST_BAD_DEDUPE_RULE');
767: FND_MSG_PUB.add;
768: END IF;
769: RAISE FND_API.g_exc_error;
770: END IF;
771: EXIT WHEN c_fields%NOTFOUND;
772:
773: -- if the enable word replacement flag is set we construct the sql
858: -- the allowable key length.
859: x_dedupe_key := SUBSTR (l_dedupe_key, 1, L_KEY_LENGTH);
860:
861: FND_MSG_PUB.count_and_get (
862: p_encoded => FND_API.g_false,
863: p_count => x_msg_count,
864: p_data => x_msg_data
865: );
866:
872:
873: END IF;
874:
875: EXCEPTION
876: WHEN FND_API.g_exc_error THEN
877: x_return_status := FND_API.g_ret_sts_error;
878: FND_MSG_PUB.count_and_get (
879: p_encoded => FND_API.g_false,
880: p_count => x_msg_count,
873: END IF;
874:
875: EXCEPTION
876: WHEN FND_API.g_exc_error THEN
877: x_return_status := FND_API.g_ret_sts_error;
878: FND_MSG_PUB.count_and_get (
879: p_encoded => FND_API.g_false,
880: p_count => x_msg_count,
881: p_data => x_msg_data
875: EXCEPTION
876: WHEN FND_API.g_exc_error THEN
877: x_return_status := FND_API.g_ret_sts_error;
878: FND_MSG_PUB.count_and_get (
879: p_encoded => FND_API.g_false,
880: p_count => x_msg_count,
881: p_data => x_msg_data
882: );
883: WHEN FND_API.g_exc_unexpected_error THEN
879: p_encoded => FND_API.g_false,
880: p_count => x_msg_count,
881: p_data => x_msg_data
882: );
883: WHEN FND_API.g_exc_unexpected_error THEN
884: x_return_status := FND_API.g_ret_sts_unexp_error ;
885: FND_MSG_PUB.count_and_get (
886: p_encoded => FND_API.g_false,
887: p_count => x_msg_count,
880: p_count => x_msg_count,
881: p_data => x_msg_data
882: );
883: WHEN FND_API.g_exc_unexpected_error THEN
884: x_return_status := FND_API.g_ret_sts_unexp_error ;
885: FND_MSG_PUB.count_and_get (
886: p_encoded => FND_API.g_false,
887: p_count => x_msg_count,
888: p_data => x_msg_data
882: );
883: WHEN FND_API.g_exc_unexpected_error THEN
884: x_return_status := FND_API.g_ret_sts_unexp_error ;
885: FND_MSG_PUB.count_and_get (
886: p_encoded => FND_API.g_false,
887: p_count => x_msg_count,
888: p_data => x_msg_data
889: );
890: WHEN OTHERS THEN
887: p_count => x_msg_count,
888: p_data => x_msg_data
889: );
890: WHEN OTHERS THEN
891: x_return_status := FND_API.g_ret_sts_unexp_error;
892: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
893: FND_MSG_PUB.add_exc_msg (g_pkg_name, l_api_name);
894: END IF;
895:
893: FND_MSG_PUB.add_exc_msg (g_pkg_name, l_api_name);
894: END IF;
895:
896: FND_MSG_PUB.count_and_get (
897: p_encoded => FND_API.g_false,
898: p_count => x_msg_count,
899: p_data => x_msg_data
900: );
901: END Generate_Key;