92:
93: END set_profile_rec_type;
94:
95: PROCEDURE create_location_profile (
96: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
97: ,p_location_profile_rec IN location_profile_rec_type
98: ,x_location_profile_id OUT NOCOPY NUMBER
99: ,x_return_status OUT NOCOPY VARCHAR2
100: ,x_msg_count OUT NOCOPY NUMBER
107:
108: savepoint create_location_profile_pub;
109:
110: -- initialize message list if p_init_msg_list is set to TRUE.
111: IF FND_API.to_Boolean(p_init_msg_list) THEN
112: FND_MSG_PUB.initialize;
113: END IF;
114:
115: --Initialize API return status to success.
112: FND_MSG_PUB.initialize;
113: END IF;
114:
115: --Initialize API return status to success.
116: x_return_status := FND_API.G_RET_STS_SUCCESS;
117:
118: l_start_date := NVL(p_location_profile_rec.effective_start_date,sysdate);
119: l_end_date := NVL(p_location_profile_rec.effective_end_date,to_date('4712.12.31 00:01','YYYY.MM.DD HH24:MI'));
120:
124: ,x_return_status => x_return_status );
125:
126: --Should check if profile already exist
127:
128: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
129: RAISE FND_API.G_EXC_ERROR;
130: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132: END IF;
125:
126: --Should check if profile already exist
127:
128: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
129: RAISE FND_API.G_EXC_ERROR;
130: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132: END IF;
133:
126: --Should check if profile already exist
127:
128: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
129: RAISE FND_API.G_EXC_ERROR;
130: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132: END IF;
133:
134: l_location_profile_rec := p_location_profile_rec;
127:
128: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
129: RAISE FND_API.G_EXC_ERROR;
130: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132: END IF;
133:
134: l_location_profile_rec := p_location_profile_rec;
135:
179: END IF;
180:
181: EXCEPTION
182:
183: WHEN FND_API.G_EXC_ERROR THEN
184: ROLLBACK TO create_location_profile_pub;
185: x_return_status := FND_API.G_RET_STS_ERROR;
186: FND_MSG_PUB.Count_And_Get(
187: p_encoded => FND_API.G_FALSE,
181: EXCEPTION
182:
183: WHEN FND_API.G_EXC_ERROR THEN
184: ROLLBACK TO create_location_profile_pub;
185: x_return_status := FND_API.G_RET_STS_ERROR;
186: FND_MSG_PUB.Count_And_Get(
187: p_encoded => FND_API.G_FALSE,
188: p_count => x_msg_count,
189: p_data => x_msg_data);
183: WHEN FND_API.G_EXC_ERROR THEN
184: ROLLBACK TO create_location_profile_pub;
185: x_return_status := FND_API.G_RET_STS_ERROR;
186: FND_MSG_PUB.Count_And_Get(
187: p_encoded => FND_API.G_FALSE,
188: p_count => x_msg_count,
189: p_data => x_msg_data);
190:
191: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
187: p_encoded => FND_API.G_FALSE,
188: p_count => x_msg_count,
189: p_data => x_msg_data);
190:
191: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
192: ROLLBACK TO create_location_profile_pub;
193: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
194: FND_MSG_PUB.Count_And_Get(
195: p_encoded => FND_API.G_FALSE,
189: p_data => x_msg_data);
190:
191: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
192: ROLLBACK TO create_location_profile_pub;
193: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
194: FND_MSG_PUB.Count_And_Get(
195: p_encoded => FND_API.G_FALSE,
196: p_count => x_msg_count,
197: p_data => x_msg_data);
191: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
192: ROLLBACK TO create_location_profile_pub;
193: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
194: FND_MSG_PUB.Count_And_Get(
195: p_encoded => FND_API.G_FALSE,
196: p_count => x_msg_count,
197: p_data => x_msg_data);
198:
199: WHEN OTHERS THEN
197: p_data => x_msg_data);
198:
199: WHEN OTHERS THEN
200: ROLLBACK TO create_location_profile_pub;
201: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
202: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
203: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
204: FND_MSG_PUB.ADD;
205: FND_MSG_PUB.Count_And_Get(
202: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
203: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
204: FND_MSG_PUB.ADD;
205: FND_MSG_PUB.Count_And_Get(
206: p_encoded => FND_API.G_FALSE,
207: p_count => x_msg_count,
208: p_data => x_msg_data);
209: END create_location_profile;
210:
209: END create_location_profile;
210:
211: -- This procedure update a record in location profile
212: PROCEDURE update_location_profile (
213: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
214: ,p_location_profile_rec IN location_profile_rec_type
215: -- ,px_object_version_number IN OUT NOCOPY NUMBER
216: ,x_return_status OUT NOCOPY VARCHAR2
217: ,x_msg_count OUT NOCOPY NUMBER
261:
262: savepoint update_location_profile_pub;
263:
264: -- initialize message list if p_init_msg_list is set to TRUE.
265: IF FND_API.to_Boolean(p_init_msg_list) THEN
266: FND_MSG_PUB.initialize;
267: END IF;
268:
269: --Initialize API return status to success.
266: FND_MSG_PUB.initialize;
267: END IF;
268:
269: --Initialize API return status to success.
270: x_return_status := FND_API.G_RET_STS_SUCCESS;
271:
272: l_maintain_history := nvl(fnd_profile.value('HZ_MAINTAIN_LOC_HISTORY'),'Y');
273: l_allow_update_std := nvl(fnd_profile.value('HZ_UPDATE_STD_ADDRESS'), 'Y');
274: l_location_profile_rec := p_location_profile_rec;
319:
320: -- only update location profile if the sst flag is set to 'Y'
321: IF(l_validation_sst_flag = 'Y') OR (l_orig_sst_flag = 'N') THEN
322:
323: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
320: -- only update location profile if the sst flag is set to 'Y'
321: IF(l_validation_sst_flag = 'Y') OR (l_orig_sst_flag = 'N') THEN
322:
323: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
328:
321: IF(l_validation_sst_flag = 'Y') OR (l_orig_sst_flag = 'N') THEN
322:
323: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
328:
329: HZ_LOCATION_PROFILES_PKG.Update_Row(
322:
323: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
328:
329: HZ_LOCATION_PROFILES_PKG.Update_Row(
330: x_rowid => l_rowid
351: END IF;
352:
353: ELSE -- maintain history is 'Y'
354:
355: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
356: RAISE FND_API.G_EXC_ERROR;
357: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
359: END IF;
352:
353: ELSE -- maintain history is 'Y'
354:
355: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
356: RAISE FND_API.G_EXC_ERROR;
357: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
359: END IF;
360:
353: ELSE -- maintain history is 'Y'
354:
355: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
356: RAISE FND_API.G_EXC_ERROR;
357: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
359: END IF;
360:
361: -- need to check the existing sst flag of the location profile
354:
355: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
356: RAISE FND_API.G_EXC_ERROR;
357: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
359: END IF;
360:
361: -- need to check the existing sst flag of the location profile
362: -- if Y: do not update existing location profiles
431: END IF;
432:
433: ELSE -- cannot find the content source in profile
434:
435: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
436: RAISE FND_API.G_EXC_ERROR;
437: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
439: END IF;
432:
433: ELSE -- cannot find the content source in profile
434:
435: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
436: RAISE FND_API.G_EXC_ERROR;
437: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
439: END IF;
440:
433: ELSE -- cannot find the content source in profile
434:
435: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
436: RAISE FND_API.G_EXC_ERROR;
437: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
439: END IF;
440:
441: -- get database value if caller program pass NULL to address component
434:
435: IF(x_return_status = FND_API.G_RET_STS_ERROR) THEN
436: RAISE FND_API.G_EXC_ERROR;
437: ELSIF(x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
439: END IF;
440:
441: -- get database value if caller program pass NULL to address component
442: -- when passing NULL, it means that caller does not want to update the
548: end loop;
549: END IF;
550:
551: EXCEPTION
552: WHEN FND_API.G_EXC_ERROR THEN
553: ROLLBACK TO update_location_profile_pub;
554: x_return_status := FND_API.G_RET_STS_ERROR;
555: FND_MSG_PUB.Count_And_Get(
556: p_encoded => FND_API.G_FALSE,
550:
551: EXCEPTION
552: WHEN FND_API.G_EXC_ERROR THEN
553: ROLLBACK TO update_location_profile_pub;
554: x_return_status := FND_API.G_RET_STS_ERROR;
555: FND_MSG_PUB.Count_And_Get(
556: p_encoded => FND_API.G_FALSE,
557: p_count => x_msg_count,
558: p_data => x_msg_data);
552: WHEN FND_API.G_EXC_ERROR THEN
553: ROLLBACK TO update_location_profile_pub;
554: x_return_status := FND_API.G_RET_STS_ERROR;
555: FND_MSG_PUB.Count_And_Get(
556: p_encoded => FND_API.G_FALSE,
557: p_count => x_msg_count,
558: p_data => x_msg_data);
559:
560: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
556: p_encoded => FND_API.G_FALSE,
557: p_count => x_msg_count,
558: p_data => x_msg_data);
559:
560: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
561: ROLLBACK TO update_location_profile_pub;
562: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
563: FND_MSG_PUB.Count_And_Get(
564: p_encoded => FND_API.G_FALSE,
558: p_data => x_msg_data);
559:
560: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
561: ROLLBACK TO update_location_profile_pub;
562: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
563: FND_MSG_PUB.Count_And_Get(
564: p_encoded => FND_API.G_FALSE,
565: p_count => x_msg_count,
566: p_data => x_msg_data);
560: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
561: ROLLBACK TO update_location_profile_pub;
562: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
563: FND_MSG_PUB.Count_And_Get(
564: p_encoded => FND_API.G_FALSE,
565: p_count => x_msg_count,
566: p_data => x_msg_data);
567:
568: WHEN OTHERS THEN
566: p_data => x_msg_data);
567:
568: WHEN OTHERS THEN
569: ROLLBACK TO update_location_profile_pub;
570: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
571: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
572: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
573: FND_MSG_PUB.ADD;
574: FND_MSG_PUB.Count_And_Get(
571: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
572: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
573: FND_MSG_PUB.ADD;
574: FND_MSG_PUB.Count_And_Get(
575: p_encoded => FND_API.G_FALSE,
576: p_count => x_msg_count,
577: p_data => x_msg_data);
578: END update_location_profile;
579:
607: l_country := p_location_profile_rec.country;
608: l_effective_start_date := p_location_profile_rec.effective_start_date;
609: l_validation_sst_flag := p_location_profile_rec.validation_sst_flag;
610:
611: IF(l_location_id IS NULL OR l_location_id = FND_API.G_MISS_NUM) THEN
612: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
613: FND_MESSAGE.SET_TOKEN('COLUMN' ,'LOCATION_ID');
614: FND_MSG_PUB.ADD;
615: RAISE FND_API.G_EXC_ERROR;
611: IF(l_location_id IS NULL OR l_location_id = FND_API.G_MISS_NUM) THEN
612: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
613: FND_MESSAGE.SET_TOKEN('COLUMN' ,'LOCATION_ID');
614: FND_MSG_PUB.ADD;
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF (p_create_update_flag = 'U') THEN
619: IF(l_actual_content_source = FND_API.G_MISS_CHAR) THEN
615: RAISE FND_API.G_EXC_ERROR;
616: END IF;
617:
618: IF (p_create_update_flag = 'U') THEN
619: IF(l_actual_content_source = FND_API.G_MISS_CHAR) THEN
620: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
621: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ACTUAL_CONTENT_SOURCE');
622: FND_MSG_PUB.ADD;
623: RAISE FND_API.G_EXC_ERROR;
619: IF(l_actual_content_source = FND_API.G_MISS_CHAR) THEN
620: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
621: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ACTUAL_CONTENT_SOURCE');
622: FND_MSG_PUB.ADD;
623: RAISE FND_API.G_EXC_ERROR;
624: END IF;
625:
626: IF(l_address1 = FND_API.G_MISS_CHAR) THEN
627: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
622: FND_MSG_PUB.ADD;
623: RAISE FND_API.G_EXC_ERROR;
624: END IF;
625:
626: IF(l_address1 = FND_API.G_MISS_CHAR) THEN
627: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
628: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ADDRESS1');
629: FND_MSG_PUB.ADD;
630: RAISE FND_API.G_EXC_ERROR;
626: IF(l_address1 = FND_API.G_MISS_CHAR) THEN
627: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
628: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ADDRESS1');
629: FND_MSG_PUB.ADD;
630: RAISE FND_API.G_EXC_ERROR;
631: END IF;
632:
633: IF(l_country = FND_API.G_MISS_CHAR) THEN
634: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
629: FND_MSG_PUB.ADD;
630: RAISE FND_API.G_EXC_ERROR;
631: END IF;
632:
633: IF(l_country = FND_API.G_MISS_CHAR) THEN
634: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
635: FND_MESSAGE.SET_TOKEN('COLUMN' ,'COUNTRY');
636: FND_MSG_PUB.ADD;
637: RAISE FND_API.G_EXC_ERROR;
633: IF(l_country = FND_API.G_MISS_CHAR) THEN
634: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
635: FND_MESSAGE.SET_TOKEN('COLUMN' ,'COUNTRY');
636: FND_MSG_PUB.ADD;
637: RAISE FND_API.G_EXC_ERROR;
638: END IF;
639: ELSIF (p_create_update_flag = 'C') THEN
640: IF(l_actual_content_source IS NULL OR l_actual_content_source = FND_API.G_MISS_CHAR) THEN
641: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
636: FND_MSG_PUB.ADD;
637: RAISE FND_API.G_EXC_ERROR;
638: END IF;
639: ELSIF (p_create_update_flag = 'C') THEN
640: IF(l_actual_content_source IS NULL OR l_actual_content_source = FND_API.G_MISS_CHAR) THEN
641: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
642: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ACTUAL_CONTENT_SOURCE');
643: FND_MSG_PUB.ADD;
644: RAISE FND_API.G_EXC_ERROR;
640: IF(l_actual_content_source IS NULL OR l_actual_content_source = FND_API.G_MISS_CHAR) THEN
641: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
642: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ACTUAL_CONTENT_SOURCE');
643: FND_MSG_PUB.ADD;
644: RAISE FND_API.G_EXC_ERROR;
645: END IF;
646:
647: IF(l_address1 IS NULL OR l_address1 = FND_API.G_MISS_CHAR) THEN
648: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
643: FND_MSG_PUB.ADD;
644: RAISE FND_API.G_EXC_ERROR;
645: END IF;
646:
647: IF(l_address1 IS NULL OR l_address1 = FND_API.G_MISS_CHAR) THEN
648: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
649: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ADDRESS1');
650: FND_MSG_PUB.ADD;
651: RAISE FND_API.G_EXC_ERROR;
647: IF(l_address1 IS NULL OR l_address1 = FND_API.G_MISS_CHAR) THEN
648: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
649: FND_MESSAGE.SET_TOKEN('COLUMN' ,'ADDRESS1');
650: FND_MSG_PUB.ADD;
651: RAISE FND_API.G_EXC_ERROR;
652: END IF;
653:
654: IF(l_country IS NULL OR l_country = FND_API.G_MISS_CHAR) THEN
655: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
650: FND_MSG_PUB.ADD;
651: RAISE FND_API.G_EXC_ERROR;
652: END IF;
653:
654: IF(l_country IS NULL OR l_country = FND_API.G_MISS_CHAR) THEN
655: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
656: FND_MESSAGE.SET_TOKEN('COLUMN' ,'COUNTRY');
657: FND_MSG_PUB.ADD;
658: RAISE FND_API.G_EXC_ERROR;
654: IF(l_country IS NULL OR l_country = FND_API.G_MISS_CHAR) THEN
655: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
656: FND_MESSAGE.SET_TOKEN('COLUMN' ,'COUNTRY');
657: FND_MSG_PUB.ADD;
658: RAISE FND_API.G_EXC_ERROR;
659: END IF;
660: END IF;
661:
662: EXCEPTION
659: END IF;
660: END IF;
661:
662: EXCEPTION
663: WHEN FND_API.G_EXC_ERROR THEN
664: x_return_status := FND_API.G_RET_STS_ERROR;
665:
666: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
660: END IF;
661:
662: EXCEPTION
663: WHEN FND_API.G_EXC_ERROR THEN
664: x_return_status := FND_API.G_RET_STS_ERROR;
665:
666: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
668:
662: EXCEPTION
663: WHEN FND_API.G_EXC_ERROR THEN
664: x_return_status := FND_API.G_RET_STS_ERROR;
665:
666: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
668:
669: WHEN OTHERS THEN
670: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
663: WHEN FND_API.G_EXC_ERROR THEN
664: x_return_status := FND_API.G_RET_STS_ERROR;
665:
666: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
668:
669: WHEN OTHERS THEN
670: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
671: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
666: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
668:
669: WHEN OTHERS THEN
670: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
671: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
672: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
673: FND_MSG_PUB.ADD;
674: END validate_mandatory_column;
686: WHERE location_profile_id = l_location_profile_id;
687:
688: BEGIN
689:
690: x_return_status := FND_API.G_RET_STS_SUCCESS;
691:
692: OPEN is_profile_exist(p_location_profile_id);
693: FETCH is_profile_exist INTO l_dummy;
694: CLOSE is_profile_exist;
699: SET effective_end_date = sysdate
700: WHERE location_profile_id = p_location_profile_id;
701: EXCEPTION
702: WHEN OTHERS THEN
703: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
704: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
705: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
706: FND_MSG_PUB.ADD;
707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
703: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
704: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
705: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
706: FND_MSG_PUB.ADD;
707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
708: END;
709: ELSE
710: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NO_RECORD' );
711: FND_MESSAGE.SET_TOKEN( 'RECORD', 'Location Profile' );
710: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NO_RECORD' );
711: FND_MESSAGE.SET_TOKEN( 'RECORD', 'Location Profile' );
712: FND_MESSAGE.SET_TOKEN( 'VALUE', p_location_profile_id);
713: FND_MSG_PUB.ADD;
714: RAISE FND_API.G_EXC_ERROR;
715: END IF;
716:
717: EXCEPTION
718: WHEN FND_API.G_EXC_ERROR THEN
714: RAISE FND_API.G_EXC_ERROR;
715: END IF;
716:
717: EXCEPTION
718: WHEN FND_API.G_EXC_ERROR THEN
719: x_return_status := FND_API.G_RET_STS_ERROR;
720:
721: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
722: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
715: END IF;
716:
717: EXCEPTION
718: WHEN FND_API.G_EXC_ERROR THEN
719: x_return_status := FND_API.G_RET_STS_ERROR;
720:
721: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
722: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
723:
717: EXCEPTION
718: WHEN FND_API.G_EXC_ERROR THEN
719: x_return_status := FND_API.G_RET_STS_ERROR;
720:
721: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
722: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
723:
724: WHEN OTHERS THEN
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
718: WHEN FND_API.G_EXC_ERROR THEN
719: x_return_status := FND_API.G_RET_STS_ERROR;
720:
721: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
722: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
723:
724: WHEN OTHERS THEN
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
721: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
722: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
723:
724: WHEN OTHERS THEN
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
727: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
728: FND_MSG_PUB.ADD;
729:
760: WHERE location_profile_id = l_location_profile_id;
761:
762: BEGIN
763:
764: x_return_status := FND_API.G_RET_STS_SUCCESS;
765:
766: OPEN is_profile_exist(p_location_profile_id);
767: FETCH is_profile_exist INTO l_dummy;
768: CLOSE is_profile_exist;
780: FROM HZ_LOCATION_PROFILES
781: WHERE location_profile_id = p_location_profile_id);
782: EXCEPTION
783: WHEN OTHERS THEN
784: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
785: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
786: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
787: FND_MSG_PUB.ADD;
788: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
784: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
785: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
786: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
787: FND_MSG_PUB.ADD;
788: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
789: END;
790: ELSE
791: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NO_RECORD' );
792: FND_MESSAGE.SET_TOKEN( 'RECORD', 'Location Profile' );
791: FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NO_RECORD' );
792: FND_MESSAGE.SET_TOKEN( 'RECORD', 'Location Profile' );
793: FND_MESSAGE.SET_TOKEN( 'VALUE', p_location_profile_id);
794: FND_MSG_PUB.ADD;
795: RAISE FND_API.G_EXC_ERROR;
796: END IF;
797:
798: EXCEPTION
799: WHEN FND_API.G_EXC_ERROR THEN
795: RAISE FND_API.G_EXC_ERROR;
796: END IF;
797:
798: EXCEPTION
799: WHEN FND_API.G_EXC_ERROR THEN
800: x_return_status := FND_API.G_RET_STS_ERROR;
801:
802: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
803: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
796: END IF;
797:
798: EXCEPTION
799: WHEN FND_API.G_EXC_ERROR THEN
800: x_return_status := FND_API.G_RET_STS_ERROR;
801:
802: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
803: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
804:
798: EXCEPTION
799: WHEN FND_API.G_EXC_ERROR THEN
800: x_return_status := FND_API.G_RET_STS_ERROR;
801:
802: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
803: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
804:
805: WHEN OTHERS THEN
806: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
799: WHEN FND_API.G_EXC_ERROR THEN
800: x_return_status := FND_API.G_RET_STS_ERROR;
801:
802: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
803: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
804:
805: WHEN OTHERS THEN
806: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
807: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
802: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
803: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
804:
805: WHEN OTHERS THEN
806: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
807: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
808: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
809: FND_MSG_PUB.ADD;
810:
834: BEGIN
835: FND_MSG_PUB.Reset;
836:
837: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
838: l_msg_data := l_msg_data || FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE );
839: END LOOP;
840: IF (SQLERRM IS NOT NULL) THEN
841: l_msg_data := l_msg_data || SQLERRM;
842: END IF;