126: EXECUTE IMMEDIATE 'SELECT HZ_MATCH_RULE_'||p_rule_id||'.check_staged_var from dual' INTO l_staged_var;
127:
128: IF l_staged_var='N' THEN
129: FND_MESSAGE.SET_NAME('AR', 'HZ_MATCH_RULE_TX_NOT_STAGED');
130: FND_MSG_PUB.ADD;
131: RAISE FND_API.G_EXC_ERROR;
132: END IF;
133:
134: -- End bug 4736139
256: END IF ;
257:
258:
259: -- Initialize return status and message stack
260: FND_MSG_PUB.initialize;
261:
262: IF l_rule_id IS NULL OR l_rule_id = 0 THEN
263: -- Find the match rule
264: null;
264: null;
265:
266: -- No MATCH RULE FOUND
267: FND_MESSAGE.SET_NAME('AR', 'HZ_NO_MATCH_RULE');
268: FND_MSG_PUB.ADD;
269: RAISE FND_API.G_EXC_ERROR;
270: END IF;
271:
272: IF p_batch_name IS NULL OR p_batch_name = '' THEN
270: END IF;
271:
272: IF p_batch_name IS NULL OR p_batch_name = '' THEN
273: FND_MESSAGE.SET_NAME('AR', 'HZ_INVALID_BATCH_NAME');
274: FND_MSG_PUB.ADD;
275: RAISE FND_API.G_EXC_ERROR;
276: END IF;
277:
278: --- VJN INTRODUCED CODE FOR QUICK DUPLICATE IDENTIFICATION
495: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
496: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
497: FND_MESSAGE.SET_NAME('AR', 'HZ_PARTY_ACQUIRE_ERROR');
498: FND_MESSAGE.SET_TOKEN('PARTY_ID', TO_CHAR(p_party_id));
499: FND_MSG_PUB.ADD;
500: RAISE FND_API.G_EXC_ERROR;
501: ELSE
502: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
503: END IF;
510:
511: EXCEPTION
512: WHEN FND_API.G_EXC_ERROR THEN
513: x_return_status := FND_API.G_RET_STS_ERROR;
514: FND_MSG_PUB.Count_And_Get(
515: p_encoded => FND_API.G_FALSE,
516: p_count => x_msg_count,
517: p_data => x_msg_data);
518: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
516: p_count => x_msg_count,
517: p_data => x_msg_data);
518: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
519: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
520: FND_MSG_PUB.Count_And_Get(
521: p_encoded => FND_API.G_FALSE,
522: p_count => x_msg_count,
523: p_data => x_msg_data);
524: WHEN OTHERS THEN
524: WHEN OTHERS THEN
525: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
526: FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_SQL_EXCEP');
527: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
528: FND_MSG_PUB.ADD;
529:
530: FND_MSG_PUB.Count_And_Get(
531: p_encoded => FND_API.G_FALSE,
532: p_count => x_msg_count,
526: FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_SQL_EXCEP');
527: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
528: FND_MSG_PUB.ADD;
529:
530: FND_MSG_PUB.Count_And_Get(
531: p_encoded => FND_API.G_FALSE,
532: p_count => x_msg_count,
533: p_data => x_msg_data);
534: END;
569: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
570: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
571: FND_MESSAGE.SET_NAME('AR', 'HZ_PARTY_ACQUIRE_ERROR');
572: FND_MESSAGE.SET_TOKEN('PARTY_ID', TO_CHAR(p_party_id));
573: FND_MSG_PUB.ADD;
574: RAISE FND_API.G_EXC_ERROR;
575: ELSE
576: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
577: END IF;
586:
587: EXCEPTION
588: WHEN FND_API.G_EXC_ERROR THEN
589: x_return_status := FND_API.G_RET_STS_ERROR;
590: FND_MSG_PUB.Count_And_Get(
591: p_encoded => FND_API.G_FALSE,
592: p_count => x_msg_count,
593: p_data => x_msg_data);
594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
592: p_count => x_msg_count,
593: p_data => x_msg_data);
594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
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: WHEN OTHERS THEN
600: WHEN OTHERS THEN
601: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
602: FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_SQL_EXCEP');
603: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
604: FND_MSG_PUB.ADD;
605:
606: FND_MSG_PUB.Count_And_Get(
607: p_encoded => FND_API.G_FALSE,
608: p_count => x_msg_count,
602: FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_SQL_EXCEP');
603: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
604: FND_MSG_PUB.ADD;
605:
606: FND_MSG_PUB.Count_And_Get(
607: p_encoded => FND_API.G_FALSE,
608: p_count => x_msg_count,
609: p_data => x_msg_data);
610: END;
689: l_num_workers := to_number(p_num_workers);
690: l_worker_number := to_number(p_worker_number);
691:
692: -- Initialize return status and message stack
693: FND_MSG_PUB.initialize;
694: l_batch_id := TO_NUMBER(p_batch_id);
695: l_num_subset:=0;
696: l_num_evaluated:=0;
697: l_total_matches:=0;
892: log('--------------------------------');
893: log('Expected Error ' || l_cur_party_id);
894: log('Error: Aborting duplicate batch');
895: log('THIS WORKER ERRORED OUT');
896: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
897: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
898: END LOOP;
899: FND_MESSAGE.CLEAR;
900:
893: log('Expected Error ' || l_cur_party_id);
894: log('Error: Aborting duplicate batch');
895: log('THIS WORKER ERRORED OUT');
896: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
897: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
898: END LOOP;
899: FND_MESSAGE.CLEAR;
900:
901: retcode := 2;
905: log('--------------------------------');
906: log('Unexpected Error ' || l_cur_party_id);
907: log('Error: Aborting duplicate batch');
908: log('THIS WORKER ERRORED OUT');
909: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
910: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
911: END LOOP;
912: FND_MESSAGE.CLEAR;
913:
906: log('Unexpected Error ' || l_cur_party_id);
907: log('Error: Aborting duplicate batch');
908: log('THIS WORKER ERRORED OUT');
909: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
910: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
911: END LOOP;
912: FND_MESSAGE.CLEAR;
913:
914: errbuf := 'UnExpected Error ' || l_cur_party_id;
918: log('--------------------------------');
919: log('Unknown Error ' || l_cur_party_id || ' : ' || SQLERRM);
920: log('Error: Aborting duplicate batch');
921: log('THIS WORKER ERRORED OUT');
922: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
923: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
924: END LOOP;
925:
926: retcode := 2;
919: log('Unknown Error ' || l_cur_party_id || ' : ' || SQLERRM);
920: log('Error: Aborting duplicate batch');
921: log('THIS WORKER ERRORED OUT');
922: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
923: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
924: END LOOP;
925:
926: retcode := 2;
927: errbuf := 'UnExpected SQL Error ' || l_cur_party_id;
958: WHEN OTHERS THEN
959: FND_MESSAGE.SET_NAME('AR', 'HZ_BATCH_SQL_ERROR');
960: FND_MESSAGE.SET_TOKEN('PROC' ,'check_party_in_dupset');
961: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
962: FND_MSG_PUB.ADD;
963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
964: END;
965:
966: -- Remove mathes that have been indicated as non-duplicates in the
1005: WHEN OTHERS THEN
1006: FND_MESSAGE.SET_NAME('AR', 'HZ_BATCH_SQL_ERROR');
1007: FND_MESSAGE.SET_TOKEN('PROC' ,'remove_non_duplicates');
1008: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1009: FND_MSG_PUB.ADD;
1010: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1011: END remove_non_duplicates;
1012:
1013: PROCEDURE insert_match_details (
1050: WHEN OTHERS THEN
1051: FND_MESSAGE.SET_NAME('AR', 'HZ_BATCH_SQL_ERROR');
1052: FND_MESSAGE.SET_TOKEN('PROC' ,'create_dup_set');
1053: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1054: FND_MSG_PUB.ADD;
1055: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1056: END insert_match_details;
1057:
1058: PROCEDURE get_dup_match_details (
1087: BEGIN
1088: -- Initialize return status and message stack
1089: x_return_status := FND_API.G_RET_STS_SUCCESS;
1090: IF FND_API.to_Boolean(p_init_msg_list) THEN
1091: FND_MSG_PUB.initialize;
1092: END IF;
1093:
1094: SELECT count(1)
1095: INTO l_count
1110: where match_rule_id = p_rule_id;
1111:
1112: IF l_mr_comp_flag <> 'C' OR l_mr_last_updated_date > l_dup_set_creation_date THEN
1113: FND_MESSAGE.SET_NAME('AR', 'HZ_CDL_NO_MATCH_DETAILS');
1114: FND_MSG_PUB.ADD;
1115: RAISE FND_API.G_EXC_ERROR;
1116: END IF;
1117:
1118: HZ_PARTY_SEARCH.get_party_for_search(
1122:
1123: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1124: FND_MESSAGE.SET_NAME('AR', 'HZ_PARTY_ACQUIRE_ERROR');
1125: FND_MESSAGE.SET_TOKEN('PARTY_ID', TO_CHAR(l_winner_party_id));
1126: FND_MSG_PUB.ADD;
1127: RAISE FND_API.G_EXC_ERROR;
1128: ELSE
1129:
1130: FOR DUP IN (SELECT DUP_PARTY_ID
1136: l_search_ctx_id, l_return_status, l_msg_count, l_msg_data);
1137: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1138: FND_MESSAGE.SET_NAME('AR', 'HZ_PARTY_SEARCH_ERROR');
1139: FND_MESSAGE.SET_TOKEN('PARTY_ID', TO_CHAR(DUP.DUP_PARTY_ID));
1140: FND_MSG_PUB.ADD;
1141: RAISE FND_API.G_EXC_ERROR;
1142: ELSE
1143: insert_match_details (l_search_ctx_id, p_dup_set_id, DUP.DUP_PARTY_ID);
1144: END IF;
1147:
1148: EXCEPTION
1149: WHEN FND_API.G_EXC_ERROR THEN
1150: x_return_status := FND_API.G_RET_STS_ERROR;
1151: FND_MSG_PUB.Count_And_Get(
1152: p_encoded => FND_API.G_FALSE,
1153: p_count => x_msg_count,
1154: p_data => x_msg_data);
1155: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1153: p_count => x_msg_count,
1154: p_data => x_msg_data);
1155: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1156: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1157: FND_MSG_PUB.Count_And_Get(
1158: p_encoded => FND_API.G_FALSE,
1159: p_count => x_msg_count,
1160: p_data => x_msg_data);
1161: WHEN OTHERS THEN
1161: WHEN OTHERS THEN
1162: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1163: FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_SQL_EXCEP');
1164: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1165: FND_MSG_PUB.ADD;
1166:
1167: FND_MSG_PUB.Count_And_Get(
1168: p_encoded => FND_API.G_FALSE,
1169: p_count => x_msg_count,
1163: FND_MESSAGE.SET_NAME('AR', 'HZ_DQM_SQL_EXCEP');
1164: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1165: FND_MSG_PUB.ADD;
1166:
1167: FND_MSG_PUB.Count_And_Get(
1168: p_encoded => FND_API.G_FALSE,
1169: p_count => x_msg_count,
1170: p_data => x_msg_data);
1171: END;
1224: **/
1225: PROCEDURE logerror IS
1226: l_msg_data VARCHAR2(2000);
1227: BEGIN
1228: FND_MSG_PUB.Reset;
1229:
1230: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1231: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
1232: END LOOP;
1226: l_msg_data VARCHAR2(2000);
1227: BEGIN
1228: FND_MSG_PUB.Reset;
1229:
1230: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1231: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
1232: END LOOP;
1233: FND_MSG_PUB.Delete_Msg;
1234: END logerror;
1227: BEGIN
1228: FND_MSG_PUB.Reset;
1229:
1230: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1231: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
1232: END LOOP;
1233: FND_MSG_PUB.Delete_Msg;
1234: END logerror;
1235:
1229:
1230: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1231: log(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ));
1232: END LOOP;
1233: FND_MSG_PUB.Delete_Msg;
1234: END logerror;
1235:
1236: FUNCTION logerror RETURN VARCHAR2 IS
1237: l_msg_data VARCHAR2(2000);
1235:
1236: FUNCTION logerror RETURN VARCHAR2 IS
1237: l_msg_data VARCHAR2(2000);
1238: BEGIN
1239: FND_MSG_PUB.Reset;
1240:
1241: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1242: l_msg_data := l_msg_data || ' ' || FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE );
1243: END LOOP;
1237: l_msg_data VARCHAR2(2000);
1238: BEGIN
1239: FND_MSG_PUB.Reset;
1240:
1241: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1242: l_msg_data := l_msg_data || ' ' || FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE );
1243: END LOOP;
1244: log(l_msg_data);
1245: RETURN l_msg_data;
1238: BEGIN
1239: FND_MSG_PUB.Reset;
1240:
1241: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1242: l_msg_data := l_msg_data || ' ' || FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE );
1243: END LOOP;
1244: log(l_msg_data);
1245: RETURN l_msg_data;
1246: