86: END IF;
87: END IF;
88:
89: IF l_error THEN
90: FND_MESSAGE.SET_NAME( 'AR', 'HZ_NONUPDATEABLE_PREF_DATE' );
91: FND_MESSAGE.SET_TOKEN( 'COLUMN', p_column );
92: FND_MSG_PUB.ADD;
93: x_return_status := FND_API.G_RET_STS_ERROR;
94: END IF;
87: END IF;
88:
89: IF l_error THEN
90: FND_MESSAGE.SET_NAME( 'AR', 'HZ_NONUPDATEABLE_PREF_DATE' );
91: FND_MESSAGE.SET_TOKEN( 'COLUMN', p_column );
92: FND_MSG_PUB.ADD;
93: x_return_status := FND_API.G_RET_STS_ERROR;
94: END IF;
95:
210: SELECT 'Y' INTO l_dummy
211: FROM HZ_CONTACT_PREFERENCES
212: WHERE CONTACT_PREFERENCE_ID = p_contact_preference_rec.contact_preference_id;
213:
214: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
215: FND_MESSAGE.SET_TOKEN('COLUMN', 'contact_preference_id');
216: FND_MSG_PUB.ADD;
217: x_return_status := FND_API.G_RET_STS_ERROR;
218: EXCEPTION
211: FROM HZ_CONTACT_PREFERENCES
212: WHERE CONTACT_PREFERENCE_ID = p_contact_preference_rec.contact_preference_id;
213:
214: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
215: FND_MESSAGE.SET_TOKEN('COLUMN', 'contact_preference_id');
216: FND_MSG_PUB.ADD;
217: x_return_status := FND_API.G_RET_STS_ERROR;
218: EXCEPTION
219: WHEN NO_DATA_FOUND THEN
360: FROM HZ_PARTIES
361: WHERE PARTY_ID = p_contact_preference_rec.contact_level_table_id;
362: EXCEPTION
363: WHEN NO_DATA_FOUND THEN
364: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
365: FND_MESSAGE.SET_TOKEN( 'FK', 'party_id' );
366: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
367: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_parties' );
368: FND_MSG_PUB.ADD;
361: WHERE PARTY_ID = p_contact_preference_rec.contact_level_table_id;
362: EXCEPTION
363: WHEN NO_DATA_FOUND THEN
364: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
365: FND_MESSAGE.SET_TOKEN( 'FK', 'party_id' );
366: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
367: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_parties' );
368: FND_MSG_PUB.ADD;
369: x_return_status := FND_API.G_RET_STS_ERROR;
362: EXCEPTION
363: WHEN NO_DATA_FOUND THEN
364: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
365: FND_MESSAGE.SET_TOKEN( 'FK', 'party_id' );
366: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
367: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_parties' );
368: FND_MSG_PUB.ADD;
369: x_return_status := FND_API.G_RET_STS_ERROR;
370: END;
363: WHEN NO_DATA_FOUND THEN
364: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
365: FND_MESSAGE.SET_TOKEN( 'FK', 'party_id' );
366: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
367: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_parties' );
368: FND_MSG_PUB.ADD;
369: x_return_status := FND_API.G_RET_STS_ERROR;
370: END;
371: ELSIF p_contact_preference_rec.contact_level_table = 'HZ_PARTY_SITES' THEN
374: FROM HZ_PARTY_SITES
375: WHERE PARTY_SITE_ID = p_contact_preference_rec.contact_level_table_id;
376: EXCEPTION
377: WHEN NO_DATA_FOUND THEN
378: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
379: FND_MESSAGE.SET_TOKEN( 'FK', 'party_site_id' );
380: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
381: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_party_sites' );
382: FND_MSG_PUB.ADD;
375: WHERE PARTY_SITE_ID = p_contact_preference_rec.contact_level_table_id;
376: EXCEPTION
377: WHEN NO_DATA_FOUND THEN
378: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
379: FND_MESSAGE.SET_TOKEN( 'FK', 'party_site_id' );
380: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
381: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_party_sites' );
382: FND_MSG_PUB.ADD;
383: x_return_status := FND_API.G_RET_STS_ERROR;
376: EXCEPTION
377: WHEN NO_DATA_FOUND THEN
378: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
379: FND_MESSAGE.SET_TOKEN( 'FK', 'party_site_id' );
380: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
381: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_party_sites' );
382: FND_MSG_PUB.ADD;
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: END;
377: WHEN NO_DATA_FOUND THEN
378: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
379: FND_MESSAGE.SET_TOKEN( 'FK', 'party_site_id' );
380: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
381: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_party_sites' );
382: FND_MSG_PUB.ADD;
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: END;
385: ELSIF p_contact_preference_rec.contact_level_table = 'HZ_CONTACT_POINTS' THEN
388: FROM HZ_CONTACT_POINTS
389: WHERE CONTACT_POINT_ID = p_contact_preference_rec.contact_level_table_id;
390: EXCEPTION
391: WHEN NO_DATA_FOUND THEN
392: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
393: FND_MESSAGE.SET_TOKEN( 'FK', 'contact_point_id' );
394: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
395: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_points' );
396: FND_MSG_PUB.ADD;
389: WHERE CONTACT_POINT_ID = p_contact_preference_rec.contact_level_table_id;
390: EXCEPTION
391: WHEN NO_DATA_FOUND THEN
392: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
393: FND_MESSAGE.SET_TOKEN( 'FK', 'contact_point_id' );
394: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
395: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_points' );
396: FND_MSG_PUB.ADD;
397: x_return_status := FND_API.G_RET_STS_ERROR;
390: EXCEPTION
391: WHEN NO_DATA_FOUND THEN
392: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
393: FND_MESSAGE.SET_TOKEN( 'FK', 'contact_point_id' );
394: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
395: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_points' );
396: FND_MSG_PUB.ADD;
397: x_return_status := FND_API.G_RET_STS_ERROR;
398: END;
391: WHEN NO_DATA_FOUND THEN
392: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
393: FND_MESSAGE.SET_TOKEN( 'FK', 'contact_point_id' );
394: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_level_table_id' );
395: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_points' );
396: FND_MSG_PUB.ADD;
397: x_return_status := FND_API.G_RET_STS_ERROR;
398: END;
399: END IF;
481: WHERE contact_point_id = p_contact_preference_rec.contact_level_table_id;
482:
483: IF p_contact_preference_rec.contact_type = 'MAIL' OR
484: p_contact_preference_rec.contact_type = 'VISIT' THEN
485: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_CONTACT_LEVEL_TABLE' );
486: FND_MESSAGE.SET_TOKEN( 'CONTACT_TYPE', 'MAIL/VISIT' );
487: FND_MESSAGE.SET_TOKEN( 'CONTACT_LEVEL_TABLE', 'hz_contact_points' );
488: FND_MSG_PUB.ADD;
489: x_return_status := FND_API.G_RET_STS_ERROR;
482:
483: IF p_contact_preference_rec.contact_type = 'MAIL' OR
484: p_contact_preference_rec.contact_type = 'VISIT' THEN
485: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_CONTACT_LEVEL_TABLE' );
486: FND_MESSAGE.SET_TOKEN( 'CONTACT_TYPE', 'MAIL/VISIT' );
487: FND_MESSAGE.SET_TOKEN( 'CONTACT_LEVEL_TABLE', 'hz_contact_points' );
488: FND_MSG_PUB.ADD;
489: x_return_status := FND_API.G_RET_STS_ERROR;
490:
483: IF p_contact_preference_rec.contact_type = 'MAIL' OR
484: p_contact_preference_rec.contact_type = 'VISIT' THEN
485: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_CONTACT_LEVEL_TABLE' );
486: FND_MESSAGE.SET_TOKEN( 'CONTACT_TYPE', 'MAIL/VISIT' );
487: FND_MESSAGE.SET_TOKEN( 'CONTACT_LEVEL_TABLE', 'hz_contact_points' );
488: FND_MSG_PUB.ADD;
489: x_return_status := FND_API.G_RET_STS_ERROR;
490:
491: ELSIF p_contact_preference_rec.contact_type <> l_correct_contact_type AND
489: x_return_status := FND_API.G_RET_STS_ERROR;
490:
491: ELSIF p_contact_preference_rec.contact_type <> l_correct_contact_type AND
492: not ( p_contact_preference_rec.contact_type in ('CALL' , 'FAX') AND l_correct_contact_type in ( 'FAX', 'CALL')) THEN
493: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_CONTACT_TYPE' );
494: FND_MESSAGE.SET_TOKEN( 'INCORRECT_CONTACT_TYPE', p_contact_preference_rec.contact_type );
495: FND_MESSAGE.SET_TOKEN( 'CORRECT_CONTACT_TYPE', l_correct_contact_type );
496: FND_MESSAGE.SET_TOKEN( 'CONTACT_POINT_TYPE', l_contact_point_type);
497: FND_MSG_PUB.ADD;
490:
491: ELSIF p_contact_preference_rec.contact_type <> l_correct_contact_type AND
492: not ( p_contact_preference_rec.contact_type in ('CALL' , 'FAX') AND l_correct_contact_type in ( 'FAX', 'CALL')) THEN
493: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_CONTACT_TYPE' );
494: FND_MESSAGE.SET_TOKEN( 'INCORRECT_CONTACT_TYPE', p_contact_preference_rec.contact_type );
495: FND_MESSAGE.SET_TOKEN( 'CORRECT_CONTACT_TYPE', l_correct_contact_type );
496: FND_MESSAGE.SET_TOKEN( 'CONTACT_POINT_TYPE', l_contact_point_type);
497: FND_MSG_PUB.ADD;
498: x_return_status := FND_API.G_RET_STS_ERROR;
491: ELSIF p_contact_preference_rec.contact_type <> l_correct_contact_type AND
492: not ( p_contact_preference_rec.contact_type in ('CALL' , 'FAX') AND l_correct_contact_type in ( 'FAX', 'CALL')) THEN
493: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_CONTACT_TYPE' );
494: FND_MESSAGE.SET_TOKEN( 'INCORRECT_CONTACT_TYPE', p_contact_preference_rec.contact_type );
495: FND_MESSAGE.SET_TOKEN( 'CORRECT_CONTACT_TYPE', l_correct_contact_type );
496: FND_MESSAGE.SET_TOKEN( 'CONTACT_POINT_TYPE', l_contact_point_type);
497: FND_MSG_PUB.ADD;
498: x_return_status := FND_API.G_RET_STS_ERROR;
499: END IF;
492: not ( p_contact_preference_rec.contact_type in ('CALL' , 'FAX') AND l_correct_contact_type in ( 'FAX', 'CALL')) THEN
493: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_CONTACT_TYPE' );
494: FND_MESSAGE.SET_TOKEN( 'INCORRECT_CONTACT_TYPE', p_contact_preference_rec.contact_type );
495: FND_MESSAGE.SET_TOKEN( 'CORRECT_CONTACT_TYPE', l_correct_contact_type );
496: FND_MESSAGE.SET_TOKEN( 'CONTACT_POINT_TYPE', l_contact_point_type);
497: FND_MSG_PUB.ADD;
498: x_return_status := FND_API.G_RET_STS_ERROR;
499: END IF;
500: END IF;
613: FROM AMS_SOURCE_CODES
614: WHERE source_code_id = p_contact_preference_rec.preference_topic_type_id;
615: EXCEPTION
616: WHEN NO_DATA_FOUND THEN
617: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
618: FND_MESSAGE.SET_TOKEN( 'FK', 'source_code_id');
619: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
620: FND_MESSAGE.SET_TOKEN( 'TABLE', 'ams_source_codes' );
621: FND_MSG_PUB.ADD;
614: WHERE source_code_id = p_contact_preference_rec.preference_topic_type_id;
615: EXCEPTION
616: WHEN NO_DATA_FOUND THEN
617: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
618: FND_MESSAGE.SET_TOKEN( 'FK', 'source_code_id');
619: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
620: FND_MESSAGE.SET_TOKEN( 'TABLE', 'ams_source_codes' );
621: FND_MSG_PUB.ADD;
622: x_return_status := FND_API.G_RET_STS_ERROR;
615: EXCEPTION
616: WHEN NO_DATA_FOUND THEN
617: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
618: FND_MESSAGE.SET_TOKEN( 'FK', 'source_code_id');
619: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
620: FND_MESSAGE.SET_TOKEN( 'TABLE', 'ams_source_codes' );
621: FND_MSG_PUB.ADD;
622: x_return_status := FND_API.G_RET_STS_ERROR;
623: END;
616: WHEN NO_DATA_FOUND THEN
617: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
618: FND_MESSAGE.SET_TOKEN( 'FK', 'source_code_id');
619: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
620: FND_MESSAGE.SET_TOKEN( 'TABLE', 'ams_source_codes' );
621: FND_MSG_PUB.ADD;
622: x_return_status := FND_API.G_RET_STS_ERROR;
623: END;
624: ELSIF p_contact_preference_rec.preference_topic_type = 'AS_INTEREST_TYPES_B' THEN
627: FROM AS_INTEREST_TYPES_B
628: WHERE interest_type_id = p_contact_preference_rec.preference_topic_type_id;
629: EXCEPTION
630: WHEN NO_DATA_FOUND THEN
631: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
632: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_type_id');
633: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
634: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_types_b' );
635: FND_MSG_PUB.ADD;
628: WHERE interest_type_id = p_contact_preference_rec.preference_topic_type_id;
629: EXCEPTION
630: WHEN NO_DATA_FOUND THEN
631: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
632: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_type_id');
633: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
634: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_types_b' );
635: FND_MSG_PUB.ADD;
636: x_return_status := FND_API.G_RET_STS_ERROR;
629: EXCEPTION
630: WHEN NO_DATA_FOUND THEN
631: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
632: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_type_id');
633: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
634: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_types_b' );
635: FND_MSG_PUB.ADD;
636: x_return_status := FND_API.G_RET_STS_ERROR;
637: END;
630: WHEN NO_DATA_FOUND THEN
631: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
632: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_type_id');
633: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
634: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_types_b' );
635: FND_MSG_PUB.ADD;
636: x_return_status := FND_API.G_RET_STS_ERROR;
637: END;
638: ELSIF p_contact_preference_rec.preference_topic_type = 'AS_INTEREST_CODES_B' THEN
641: FROM AS_INTEREST_CODES_B
642: WHERE interest_code_id = p_contact_preference_rec.preference_topic_type_id;
643: EXCEPTION
644: WHEN NO_DATA_FOUND THEN
645: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
646: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_code_id' );
647: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
648: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_codes_b' );
649: FND_MSG_PUB.ADD;
642: WHERE interest_code_id = p_contact_preference_rec.preference_topic_type_id;
643: EXCEPTION
644: WHEN NO_DATA_FOUND THEN
645: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
646: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_code_id' );
647: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
648: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_codes_b' );
649: FND_MSG_PUB.ADD;
650: x_return_status := FND_API.G_RET_STS_ERROR;
643: EXCEPTION
644: WHEN NO_DATA_FOUND THEN
645: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
646: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_code_id' );
647: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
648: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_codes_b' );
649: FND_MSG_PUB.ADD;
650: x_return_status := FND_API.G_RET_STS_ERROR;
651: END;
644: WHEN NO_DATA_FOUND THEN
645: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_INVALID_FK' );
646: FND_MESSAGE.SET_TOKEN( 'FK', 'interest_code_id' );
647: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'preference_topic_type_id' );
648: FND_MESSAGE.SET_TOKEN( 'TABLE', 'as_interest_codes_b' );
649: FND_MSG_PUB.ADD;
650: x_return_status := FND_API.G_RET_STS_ERROR;
651: END;
652: /* Bug 3301160, data privacy support */
754: IF p_create_update_flag = 'C' AND
755: p_contact_preference_rec.preference_end_date is not null AND
756: p_contact_preference_rec.preference_end_date <> FND_API.G_MISS_DATE AND
757: trunc(p_contact_preference_rec.preference_end_date) < trunc(sysdate) THEN
758: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_END_DATE' );
759: FND_MESSAGE.SET_TOKEN( 'PREFERENCE_END_DATE', to_char(p_contact_preference_rec.preference_end_date) );
760: FND_MSG_PUB.ADD;
761: x_return_status := FND_API.G_RET_STS_ERROR;
762: END IF;
755: p_contact_preference_rec.preference_end_date is not null AND
756: p_contact_preference_rec.preference_end_date <> FND_API.G_MISS_DATE AND
757: trunc(p_contact_preference_rec.preference_end_date) < trunc(sysdate) THEN
758: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_END_DATE' );
759: FND_MESSAGE.SET_TOKEN( 'PREFERENCE_END_DATE', to_char(p_contact_preference_rec.preference_end_date) );
760: FND_MSG_PUB.ADD;
761: x_return_status := FND_API.G_RET_STS_ERROR;
762: END IF;
763:
829: IF p_contact_preference_rec.preference_start_time_hr is not null AND
830: p_contact_preference_rec.preference_start_time_hr <> FND_API.G_MISS_NUM THEN
831: IF p_contact_preference_rec.preference_start_time_hr < 0 OR
832: p_contact_preference_rec.preference_start_time_hr > 23 THEN
833: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_TIME' );
834: FND_MSG_PUB.ADD;
835: x_return_status := FND_API.G_RET_STS_ERROR;
836: l_time_comparison := FND_API.G_FALSE;
837: END IF;
841: IF p_contact_preference_rec.preference_end_time_hr is not null AND
842: p_contact_preference_rec.preference_end_time_hr <> FND_API.G_MISS_NUM THEN
843: IF p_contact_preference_rec.preference_end_time_hr < 0 OR
844: p_contact_preference_rec.preference_end_time_hr > 23 THEN
845: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_TIME' );
846: FND_MSG_PUB.ADD;
847: x_return_status := FND_API.G_RET_STS_ERROR;
848: l_time_comparison := FND_API.G_FALSE;
849: END IF;
852: END IF;
853:
854: IF l_time_comparison = FND_API.G_TRUE THEN
855: IF p_contact_preference_rec.preference_end_time_hr < p_contact_preference_rec.preference_start_time_hr THEN
856: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_TIME' );
857: FND_MSG_PUB.ADD;
858: x_return_status := FND_API.G_RET_STS_ERROR;
859: l_time_comparison := FND_API.G_FALSE;
860: ELSIF p_contact_preference_rec.preference_end_time_hr > p_contact_preference_rec.preference_start_time_hr THEN
871: IF p_contact_preference_rec.preference_start_time_mi is not null AND
872: p_contact_preference_rec.preference_start_time_mi <> FND_API.G_MISS_NUM THEN
873: IF p_contact_preference_rec.preference_start_time_mi < 0 OR
874: p_contact_preference_rec.preference_start_time_mi > 59 THEN
875: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_TIME' );
876: FND_MSG_PUB.ADD;
877: x_return_status := FND_API.G_RET_STS_ERROR;
878: l_time_comparison := FND_API.G_FALSE;
879: END IF;
883: IF p_contact_preference_rec.preference_end_time_mi is not null AND
884: p_contact_preference_rec.preference_end_time_mi <> FND_API.G_MISS_NUM THEN
885: IF p_contact_preference_rec.preference_end_time_mi < 0 OR
886: p_contact_preference_rec.preference_end_time_mi > 59 THEN
887: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_TIME' );
888: FND_MSG_PUB.ADD;
889: x_return_status := FND_API.G_RET_STS_ERROR;
890: l_time_comparison := FND_API.G_FALSE;
891: END IF;
894: END IF;
895:
896: IF l_time_comparison = FND_API.G_TRUE THEN
897: IF p_contact_preference_rec.preference_end_time_mi < p_contact_preference_rec.preference_start_time_mi THEN
898: FND_MESSAGE.SET_NAME( 'AR', 'HZ_INVALID_PREFERENCE_TIME' );
899: FND_MSG_PUB.ADD;
900: x_return_status := FND_API.G_RET_STS_ERROR;
901: l_time_comparison := FND_API.G_FALSE;
902: END IF;
1064: p_contact_preference_rec.status is not null AND
1065: p_contact_preference_rec.status <> 'A' THEN
1066: IF p_contact_preference_rec.preference_end_date is not null AND
1067: to_char(p_contact_preference_rec.preference_end_date,'DD-MON-YY') <> to_char(sysdate, 'DD-MON-YY') THEN
1068: FND_MESSAGE.SET_NAME( 'AR', 'HZ_CP_INVALID_END_DATE' );
1069: FND_MSG_PUB.ADD;
1070: END IF;
1071: END IF;
1072:
1138: ROWNUM =1;
1139:
1140: -- Bug 2787484
1141: /*
1142: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1143: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1144: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1145: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1146: */
1139:
1140: -- Bug 2787484
1141: /*
1142: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1143: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1144: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1145: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1146: */
1147: IF p_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1140: -- Bug 2787484
1141: /*
1142: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1143: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1144: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1145: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1146: */
1147: IF p_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1148: THEN
1141: /*
1142: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1143: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1144: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1145: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1146: */
1147: IF p_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1148: THEN
1149: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_PREFERENCE_OVERLAP');
1145: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1146: */
1147: IF p_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1148: THEN
1149: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_PREFERENCE_OVERLAP');
1150: ELSIF p_contact_preference_rec.contact_level_table = 'HZ_PARTY_SITES'
1151: THEN
1152: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_SITE_PREFER_OVERLAP');
1153: ELSIF p_contact_preference_rec.contact_level_table = 'HZ_CONTACT_POINTS'
1148: THEN
1149: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_PREFERENCE_OVERLAP');
1150: ELSIF p_contact_preference_rec.contact_level_table = 'HZ_PARTY_SITES'
1151: THEN
1152: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_SITE_PREFER_OVERLAP');
1153: ELSIF p_contact_preference_rec.contact_level_table = 'HZ_CONTACT_POINTS'
1154: THEN
1155: FND_MESSAGE.SET_NAME('AR','HZ_CONTACT_POINT_PREF_OVERLAP');
1156: END IF;
1151: THEN
1152: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_SITE_PREFER_OVERLAP');
1153: ELSIF p_contact_preference_rec.contact_level_table = 'HZ_CONTACT_POINTS'
1154: THEN
1155: FND_MESSAGE.SET_NAME('AR','HZ_CONTACT_POINT_PREF_OVERLAP');
1156: END IF;
1157:
1158: FND_MSG_PUB.ADD;
1159: x_return_status := FND_API.G_RET_STS_ERROR;
1212:
1213:
1214: -- Bug 2787484
1215: /*
1216: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1217: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1218: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1219: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1220: */
1213:
1214: -- Bug 2787484
1215: /*
1216: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1217: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1218: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1219: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1220: */
1221: IF l_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1214: -- Bug 2787484
1215: /*
1216: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1217: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1218: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1219: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1220: */
1221: IF l_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1222: THEN
1215: /*
1216: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_RECORD');
1217: FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_contact_preferences' );
1218: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'contact_preference_id' );
1219: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1220: */
1221: IF l_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1222: THEN
1223: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_PREFERENCE_OVERLAP');
1219: FND_MESSAGE.SET_TOKEN( 'ID', to_char(l_contact_pref_dup_id) );
1220: */
1221: IF l_contact_preference_rec.contact_level_table = 'HZ_PARTIES'
1222: THEN
1223: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_PREFERENCE_OVERLAP');
1224: ELSIF l_contact_preference_rec.contact_level_table = 'HZ_PARTY_SITES'
1225: THEN
1226: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_SITE_PREFER_OVERLAP');
1227: ELSIF l_contact_preference_rec.contact_level_table = 'HZ_CONTACT_POINTS'
1222: THEN
1223: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_PREFERENCE_OVERLAP');
1224: ELSIF l_contact_preference_rec.contact_level_table = 'HZ_PARTY_SITES'
1225: THEN
1226: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_SITE_PREFER_OVERLAP');
1227: ELSIF l_contact_preference_rec.contact_level_table = 'HZ_CONTACT_POINTS'
1228: THEN
1229: FND_MESSAGE.SET_NAME('AR','HZ_CONTACT_POINT_PREF_OVERLAP');
1230: END IF;
1225: THEN
1226: FND_MESSAGE.SET_NAME('AR','HZ_PARTY_SITE_PREFER_OVERLAP');
1227: ELSIF l_contact_preference_rec.contact_level_table = 'HZ_CONTACT_POINTS'
1228: THEN
1229: FND_MESSAGE.SET_NAME('AR','HZ_CONTACT_POINT_PREF_OVERLAP');
1230: END IF;
1231:
1232: FND_MSG_PUB.ADD;
1233: x_return_status := FND_API.G_RET_STS_ERROR;