7: p_location_id IN NUMBER,
8: p_create_update_flag IN VARCHAR2,
9: x_loc_id OUT NOCOPY NUMBER,
10: x_return_status IN OUT NOCOPY VARCHAR2, /* Changed from OUT to IN OUT*/
11: p_lock_flag IN VARCHAR2 := FND_API.G_FALSE
12: ) IS
13:
14: l_org_id NUMBER;
15: l_count NUMBER;
85:
86: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
87: FND_MESSAGE.SET_TOKEN('COLUMN', 'org_id');
88: FND_MSG_PUB.ADD;
89: RAISE FND_API.G_EXC_ERROR;
90: END IF;
91: */
92:
93: -- check the required fields:
91: */
92:
93: -- check the required fields:
94: IF p_location_id IS NULL OR
95: p_location_id = FND_API.G_MISS_NUM THEN
96:
97: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
98: FND_MESSAGE.SET_TOKEN('COLUMN', 'p_location_id');
99: FND_MSG_PUB.ADD;
96:
97: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
98: FND_MESSAGE.SET_TOKEN('COLUMN', 'p_location_id');
99: FND_MSG_PUB.ADD;
100: RAISE FND_API.G_EXC_ERROR;
101: END IF;
102:
103: -- IF p_lock_flag is true then
104: -- Check whether location record has been updated by another user. If not, lock it.
103: -- IF p_lock_flag is true then
104: -- Check whether location record has been updated by another user. If not, lock it.
105: -- IF p_loc_flag is not true then the location has been locked already.
106:
107: IF p_lock_flag = 'T' OR p_lock_flag = FND_API.G_TRUE THEN
108:
109: -- get location components
110: BEGIN
111: SELECT country, city, state, county, province, postal_code,
130: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
131: FND_MESSAGE.SET_TOKEN('RECORD', 'hz_locations');
132: FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_location_id));
133: FND_MSG_PUB.ADD;
134: x_return_status := FND_API.G_RET_STS_ERROR;
135:
136: END; -- end of SELECT
137:
138: ELSE -- do not lock the location record
156: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
157: FND_MESSAGE.SET_TOKEN('RECORD', 'hz_locations');
158: FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_location_id));
159: FND_MSG_PUB.ADD;
160: x_return_status := FND_API.G_RET_STS_ERROR;
161:
162: END; -- end of SELECT ;
163:
164: END IF ;
171: l_date_validated IS NOT NULL AND
172: l_validation_status_code IS NOT NULL) THEN
173: FND_MESSAGE.SET_NAME('AR', 'HZ_LOC_NO_UPDATE');
174: FND_MSG_PUB.ADD;
175: RAISE fnd_api.g_exc_error;
176: END IF;
177: -- ACNG
178:
179: db_country := l_country;
309: ELSE
310: l_location_profile_rec.prov_state_admin_code := NULL;
311: END IF;
312:
313: l_return_status := FND_API.G_RET_STS_SUCCESS;
314:
315: hz_location_profile_pvt.update_location_profile (
316: p_location_profile_rec => l_location_profile_rec
317: ,x_return_status => l_return_status
317: ,x_return_status => l_return_status
318: ,x_msg_count => l_msg_count
319: ,x_msg_data => l_msg_data );
320:
321: IF(l_return_status = FND_API.G_RET_STS_ERROR) THEN
322: RAISE fnd_api.g_exc_error;
323: ELSIF(l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
324: RAISE fnd_api.g_exc_unexpected_error;
325: END IF;
318: ,x_msg_count => l_msg_count
319: ,x_msg_data => l_msg_data );
320:
321: IF(l_return_status = FND_API.G_RET_STS_ERROR) THEN
322: RAISE fnd_api.g_exc_error;
323: ELSIF(l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
324: RAISE fnd_api.g_exc_unexpected_error;
325: END IF;
326:
319: ,x_msg_data => l_msg_data );
320:
321: IF(l_return_status = FND_API.G_RET_STS_ERROR) THEN
322: RAISE fnd_api.g_exc_error;
323: ELSIF(l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
324: RAISE fnd_api.g_exc_unexpected_error;
325: END IF;
326:
327: END IF;
320:
321: IF(l_return_status = FND_API.G_RET_STS_ERROR) THEN
322: RAISE fnd_api.g_exc_error;
323: ELSIF(l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
324: RAISE fnd_api.g_exc_unexpected_error;
325: END IF;
326:
327: END IF;
328:
386: X_Rowid => l_rowid,
387: X_LOCATION_ID => p_location_id,
388: X_LOC_ID => x_loc_id,
389: X_ORG_ID => l_org_id,
390: X_CREATED_BY => FND_API.G_MISS_NUM,
391: X_CREATION_DATE => FND_API.G_MISS_DATE,
392: X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
393: X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
394: X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
387: X_LOCATION_ID => p_location_id,
388: X_LOC_ID => x_loc_id,
389: X_ORG_ID => l_org_id,
390: X_CREATED_BY => FND_API.G_MISS_NUM,
391: X_CREATION_DATE => FND_API.G_MISS_DATE,
392: X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
393: X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
394: X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
395: X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
415: X_Rowid => l_rowid,
416: X_LOCATION_ID => p_location_id,
417: X_LOC_ID => x_loc_id,
418: X_ORG_ID => l_org_id,
419: X_CREATED_BY => FND_API.G_MISS_NUM,
420: X_CREATION_DATE => FND_API.G_MISS_DATE,
421: X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
422: X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
423: X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
416: X_LOCATION_ID => p_location_id,
417: X_LOC_ID => x_loc_id,
418: X_ORG_ID => l_org_id,
419: X_CREATED_BY => FND_API.G_MISS_NUM,
420: X_CREATION_DATE => FND_API.G_MISS_DATE,
421: X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
422: X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
423: X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
424: X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
434: end do_create_update_loc_assign;
435:
436: procedure create_loc_assignment(
437: p_api_version IN NUMBER,
438: p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
439: p_commit IN VARCHAR2:= FND_API.G_FALSE,
440: p_location_id IN NUMBER,
441: x_return_status IN OUT NOCOPY VARCHAR2, /* Changed from OUT to IN OUT*/
442: x_msg_count OUT NOCOPY NUMBER,
435:
436: procedure create_loc_assignment(
437: p_api_version IN NUMBER,
438: p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
439: p_commit IN VARCHAR2:= FND_API.G_FALSE,
440: p_location_id IN NUMBER,
441: x_return_status IN OUT NOCOPY VARCHAR2, /* Changed from OUT to IN OUT*/
442: x_msg_count OUT NOCOPY NUMBER,
443: x_msg_data OUT NOCOPY VARCHAR2,
441: x_return_status IN OUT NOCOPY VARCHAR2, /* Changed from OUT to IN OUT*/
442: x_msg_count OUT NOCOPY NUMBER,
443: x_msg_data OUT NOCOPY VARCHAR2,
444: x_loc_id OUT NOCOPY NUMBER,
445: p_lock_flag IN VARCHAR2 :=FND_API.G_FALSE
446: ) IS
447:
448: l_api_name CONSTANT VARCHAR2(30) := 'create loc assignment';
449: l_api_version CONSTANT NUMBER := 1.0;
453: BEGIN
454: --Standard start of API savepoint
455: SAVEPOINT create_loc_assignment_pub;
456: --Standard call to check for call compatibility.
457: IF NOT FND_API.Compatible_API_Call(
458: l_api_version,
459: p_api_version,
460: l_api_name,
461: G_PKG_NAME)
459: p_api_version,
460: l_api_name,
461: G_PKG_NAME)
462: THEN
463: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
464: END IF;
465:
466: --Initialize message list if p_init_msg_list is set to TRUE.
467: IF FND_API.to_Boolean(p_init_msg_list) THEN
463: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
464: END IF;
465:
466: --Initialize message list if p_init_msg_list is set to TRUE.
467: IF FND_API.to_Boolean(p_init_msg_list) THEN
468: FND_MSG_PUB.initialize;
469: END IF;
470:
471: --Initialize API return status to success.
468: FND_MSG_PUB.initialize;
469: END IF;
470:
471: --Initialize API return status to success.
472: x_return_status := FND_API.G_RET_STS_SUCCESS;
473:
474:
475: -- Call to business logic.
476:
495: x_loc_id => x_loc_id
496: );
497:
498:
499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
500: RAISE FND_API.G_EXC_ERROR;
501: END IF;
502:
503: --Standard check of p_commit.
496: );
497:
498:
499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
500: RAISE FND_API.G_EXC_ERROR;
501: END IF;
502:
503: --Standard check of p_commit.
504: IF FND_API.to_Boolean(p_commit) THEN
500: RAISE FND_API.G_EXC_ERROR;
501: END IF;
502:
503: --Standard check of p_commit.
504: IF FND_API.to_Boolean(p_commit) THEN
505: Commit;
506: END IF;
507:
508: --Standard call to get message count and if count is 1, get message info.
506: END IF;
507:
508: --Standard call to get message count and if count is 1, get message info.
509: FND_MSG_PUB.Count_And_Get(
510: p_encoded => FND_API.G_FALSE,
511: p_count => x_msg_count,
512: p_data => x_msg_data);
513: EXCEPTION
514: WHEN FND_API.G_EXC_ERROR THEN
510: p_encoded => FND_API.G_FALSE,
511: p_count => x_msg_count,
512: p_data => x_msg_data);
513: EXCEPTION
514: WHEN FND_API.G_EXC_ERROR THEN
515: ROLLBACK TO create_loc_assignment_pub;
516: x_return_status := FND_API.G_RET_STS_ERROR;
517: FND_MSG_PUB.Count_And_Get(
518: p_encoded => FND_API.G_FALSE,
512: p_data => x_msg_data);
513: EXCEPTION
514: WHEN FND_API.G_EXC_ERROR THEN
515: ROLLBACK TO create_loc_assignment_pub;
516: x_return_status := FND_API.G_RET_STS_ERROR;
517: FND_MSG_PUB.Count_And_Get(
518: p_encoded => FND_API.G_FALSE,
519: p_count => x_msg_count,
520: p_data => x_msg_data);
514: WHEN FND_API.G_EXC_ERROR THEN
515: ROLLBACK TO create_loc_assignment_pub;
516: x_return_status := FND_API.G_RET_STS_ERROR;
517: FND_MSG_PUB.Count_And_Get(
518: p_encoded => FND_API.G_FALSE,
519: p_count => x_msg_count,
520: p_data => x_msg_data);
521:
522: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
518: p_encoded => FND_API.G_FALSE,
519: p_count => x_msg_count,
520: p_data => x_msg_data);
521:
522: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
523: ROLLBACK TO create_loc_assignment_pub;
524: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
525: FND_MSG_PUB.Count_And_Get(
526: p_encoded => FND_API.G_FALSE,
520: p_data => x_msg_data);
521:
522: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
523: ROLLBACK TO create_loc_assignment_pub;
524: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
525: FND_MSG_PUB.Count_And_Get(
526: p_encoded => FND_API.G_FALSE,
527: p_count => x_msg_count,
528: p_data => x_msg_data);
522: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
523: ROLLBACK TO create_loc_assignment_pub;
524: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
525: FND_MSG_PUB.Count_And_Get(
526: p_encoded => FND_API.G_FALSE,
527: p_count => x_msg_count,
528: p_data => x_msg_data);
529:
530: WHEN APP_EXCEPTION THEN
528: p_data => x_msg_data);
529:
530: WHEN APP_EXCEPTION THEN
531: ROLLBACK TO create_loc_assignment_pub;
532: x_return_status := FND_API.G_RET_STS_ERROR;
533: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
534: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
535: FND_MSG_PUB.ADD;
536: FND_MSG_PUB.Count_And_Get(
533: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
534: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
535: FND_MSG_PUB.ADD;
536: FND_MSG_PUB.Count_And_Get(
537: p_encoded => FND_API.G_FALSE,
538: p_count => x_msg_count,
539: p_data => x_msg_data);
540: WHEN OTHERS THEN
541: ROLLBACK TO create_loc_assignment_pub;
538: p_count => x_msg_count,
539: p_data => x_msg_data);
540: WHEN OTHERS THEN
541: ROLLBACK TO create_loc_assignment_pub;
542: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
543:
544: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
545: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
546: FND_MSG_PUB.ADD;
545: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
546: FND_MSG_PUB.ADD;
547:
548: FND_MSG_PUB.Count_And_Get(
549: p_encoded => FND_API.G_FALSE,
550: p_count => x_msg_count,
551: p_data => x_msg_data);
552:
553: END create_loc_assignment;
553: END create_loc_assignment;
554:
555: procedure update_loc_assignment(
556: p_api_version IN NUMBER,
557: p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
558: p_commit IN VARCHAR2:= FND_API.G_FALSE,
559: p_location_id IN NUMBER,
560: x_return_status IN OUT NOCOPY VARCHAR2, /* Changed from OUT to IN OUT*/
561: x_msg_count OUT NOCOPY NUMBER,
554:
555: procedure update_loc_assignment(
556: p_api_version IN NUMBER,
557: p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
558: p_commit IN VARCHAR2:= FND_API.G_FALSE,
559: p_location_id IN NUMBER,
560: x_return_status IN OUT NOCOPY VARCHAR2, /* Changed from OUT to IN OUT*/
561: x_msg_count OUT NOCOPY NUMBER,
562: x_msg_data OUT NOCOPY VARCHAR2,
560: x_return_status IN OUT NOCOPY VARCHAR2, /* Changed from OUT to IN OUT*/
561: x_msg_count OUT NOCOPY NUMBER,
562: x_msg_data OUT NOCOPY VARCHAR2,
563: x_loc_id OUT NOCOPY NUMBER,
564: p_lock_flag IN VARCHAR2 :=FND_API.G_TRUE
565: ) IS
566:
567: l_api_name CONSTANT VARCHAR2(30) := 'update loc assignment';
568: l_api_version CONSTANT NUMBER := 1.0;
573: BEGIN
574: --Standard start of API savepoint
575: SAVEPOINT update_loc_assignment_pub;
576: --Standard call to check for call compatibility.
577: IF NOT FND_API.Compatible_API_Call(
578: l_api_version,
579: p_api_version,
580: l_api_name,
581: G_PKG_NAME)
579: p_api_version,
580: l_api_name,
581: G_PKG_NAME)
582: THEN
583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
584: END IF;
585:
586: --Initialize message list if p_init_msg_list is set to TRUE.
587: IF FND_API.to_Boolean(p_init_msg_list) THEN
583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
584: END IF;
585:
586: --Initialize message list if p_init_msg_list is set to TRUE.
587: IF FND_API.to_Boolean(p_init_msg_list) THEN
588: FND_MSG_PUB.initialize;
589: END IF;
590:
591: --Initialize API return status to success.
588: FND_MSG_PUB.initialize;
589: END IF;
590:
591: --Initialize API return status to success.
592: x_return_status := FND_API.G_RET_STS_SUCCESS;
593:
594:
595: -- Call to business logic.
596:
614: x_msg_data => x_msg_data,
615: x_loc_id => x_loc_id
616: );
617:
618: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
619: RAISE FND_API.G_EXC_ERROR;
620: END IF;
621:
622: --Standard check of p_commit.
615: x_loc_id => x_loc_id
616: );
617:
618: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
619: RAISE FND_API.G_EXC_ERROR;
620: END IF;
621:
622: --Standard check of p_commit.
623: IF FND_API.to_Boolean(p_commit) THEN
619: RAISE FND_API.G_EXC_ERROR;
620: END IF;
621:
622: --Standard check of p_commit.
623: IF FND_API.to_Boolean(p_commit) THEN
624: Commit;
625: END IF;
626:
627: --Standard call to get message count and if count is 1, get message info.
625: END IF;
626:
627: --Standard call to get message count and if count is 1, get message info.
628: FND_MSG_PUB.Count_And_Get(
629: p_encoded => FND_API.G_FALSE,
630: p_count => x_msg_count,
631: p_data => x_msg_data);
632: EXCEPTION
633: WHEN FND_API.G_EXC_ERROR THEN
629: p_encoded => FND_API.G_FALSE,
630: p_count => x_msg_count,
631: p_data => x_msg_data);
632: EXCEPTION
633: WHEN FND_API.G_EXC_ERROR THEN
634: ROLLBACK TO update_loc_assignment_pub;
635: x_return_status := FND_API.G_RET_STS_ERROR;
636: FND_MSG_PUB.Count_And_Get(
637: p_encoded => FND_API.G_FALSE,
631: p_data => x_msg_data);
632: EXCEPTION
633: WHEN FND_API.G_EXC_ERROR THEN
634: ROLLBACK TO update_loc_assignment_pub;
635: x_return_status := FND_API.G_RET_STS_ERROR;
636: FND_MSG_PUB.Count_And_Get(
637: p_encoded => FND_API.G_FALSE,
638: p_count => x_msg_count,
639: p_data => x_msg_data);
633: WHEN FND_API.G_EXC_ERROR THEN
634: ROLLBACK TO update_loc_assignment_pub;
635: x_return_status := FND_API.G_RET_STS_ERROR;
636: FND_MSG_PUB.Count_And_Get(
637: p_encoded => FND_API.G_FALSE,
638: p_count => x_msg_count,
639: p_data => x_msg_data);
640:
641: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
637: p_encoded => FND_API.G_FALSE,
638: p_count => x_msg_count,
639: p_data => x_msg_data);
640:
641: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
642: ROLLBACK TO update_loc_assignment_pub;
643: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
644: FND_MSG_PUB.Count_And_Get(
645: p_encoded => FND_API.G_FALSE,
639: p_data => x_msg_data);
640:
641: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
642: ROLLBACK TO update_loc_assignment_pub;
643: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
644: FND_MSG_PUB.Count_And_Get(
645: p_encoded => FND_API.G_FALSE,
646: p_count => x_msg_count,
647: p_data => x_msg_data);
641: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
642: ROLLBACK TO update_loc_assignment_pub;
643: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
644: FND_MSG_PUB.Count_And_Get(
645: p_encoded => FND_API.G_FALSE,
646: p_count => x_msg_count,
647: p_data => x_msg_data);
648:
649: WHEN APP_EXCEPTION THEN
647: p_data => x_msg_data);
648:
649: WHEN APP_EXCEPTION THEN
650: ROLLBACK TO update_loc_assignment_pub;
651: x_return_status := FND_API.G_RET_STS_ERROR;
652: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
653: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
654: FND_MSG_PUB.ADD;
655: FND_MSG_PUB.Count_And_Get(
652: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
653: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
654: FND_MSG_PUB.ADD;
655: FND_MSG_PUB.Count_And_Get(
656: p_encoded => FND_API.G_FALSE,
657: p_count => x_msg_count,
658: p_data => x_msg_data);
659:
660: WHEN OTHERS THEN
658: p_data => x_msg_data);
659:
660: WHEN OTHERS THEN
661: ROLLBACK TO update_loc_assignment_pub;
662: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
663:
664: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
665: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
666: FND_MSG_PUB.ADD;
665: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
666: FND_MSG_PUB.ADD;
667:
668: FND_MSG_PUB.Count_And_Get(
669: p_encoded => FND_API.G_FALSE,
670: p_count => x_msg_count,
671: p_data => x_msg_data);
672:
673: END update_loc_assignment;