42: AND rownum = 1;
43: l_exist VARCHAR2(1);
44: BEGIN
45: IF ( p_column_value IS NOT NULL
46: AND p_column_value <> fnd_api.g_miss_char ) THEN
47: OPEN c1;
48: FETCH c1 INTO l_exist;
49: IF c1%NOTFOUND THEN
50: RETURN 'N';
122:
123: BEGIN
124:
125: --If primary key value is passed, check for uniqueness.
126: IF l_relationship_type_id <> FND_API.G_MISS_NUM
127: AND
128: l_relationship_type_id IS NOT NULL
129: THEN
130: BEGIN
135:
136: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
137: FND_MESSAGE.SET_TOKEN('COLUMN', 'relationship_type_id');
138: FND_MSG_PUB.ADD;
139: RAISE FND_API.G_EXC_ERROR;
140:
141: EXCEPTION
142: WHEN NO_DATA_FOUND THEN
143: NULL;
154: p_rowid => l_rowid,
155: x_return_status => x_return_status);
156:
157: --if validation failed at any point, then raise an exception to stop processing
158: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
159: RAISE FND_API.G_EXC_ERROR;
160: END IF;
161:
162: l_relationship_type := p_relationship_type_rec.relationship_type;
155: x_return_status => x_return_status);
156:
157: --if validation failed at any point, then raise an exception to stop processing
158: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
159: RAISE FND_API.G_EXC_ERROR;
160: END IF;
161:
162: l_relationship_type := p_relationship_type_rec.relationship_type;
163:
165: -- set proper value for multiple_parent_allowed for
166: -- hierarchical relationship type
167: IF p_relationship_type_rec.multiple_parent_allowed IS NULL
168: OR
169: p_relationship_type_rec.multiple_parent_allowed = FND_API.G_MISS_CHAR
170: THEN
171: IF l_hierarchical_flag = 'N' THEN
172: l_multiple_parent_allowed := 'Y';
173: ELSE
178: -- set proper value for allow_circular_relationships for
179: -- hierarchical relationship type
180: IF p_relationship_type_rec.allow_circular_relationships IS NULL
181: OR
182: p_relationship_type_rec.allow_circular_relationships = FND_API.G_MISS_CHAR
183: THEN
184: IF l_hierarchical_flag = 'N' THEN
185: l_allow_circular_relationships := 'Y';
186: ELSE
272: X_LAST_UPDATED_BY => HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
273: X_LAST_UPDATE_LOGIN => null);
274: EXCEPTION
275: WHEN OTHERS THEN
276: RAISE FND_API.G_EXC_ERROR;
277: END;
278: END IF;
279:
280: END;
364: X_LAST_UPDATED_BY => HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
365: X_LAST_UPDATE_LOGIN => null);
366: EXCEPTION
367: WHEN OTHERS THEN
368: RAISE FND_API.G_EXC_ERROR;
369: END;
370:
371: END IF;
372:
428: X_LAST_UPDATED_BY => HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
429: X_LAST_UPDATE_LOGIN => null);
430: EXCEPTION
431: WHEN OTHERS THEN
432: RAISE FND_API.G_EXC_ERROR;
433: END;
434: /* Commented for bug 3831950
435: WHEN OTHERS THEN
436: RAISE FND_API.G_EXC_ERROR;
432: RAISE FND_API.G_EXC_ERROR;
433: END;
434: /* Commented for bug 3831950
435: WHEN OTHERS THEN
436: RAISE FND_API.G_EXC_ERROR;
437:
438: END;
439: */
440: END IF;
530: THEN
531: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
532: FND_MESSAGE.SET_TOKEN('TABLE', 'relationship_type_id');
533: FND_MSG_PUB.ADD;
534: RAISE FND_API.G_EXC_ERROR;
535: END IF;
536:
537: p_object_version_number := NVL(l_object_version_number, 1) + 1;
538:
540: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
541: FND_MESSAGE.SET_TOKEN('RECORD', 'relationship_type');
542: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(p_relationship_type_rec.relationship_type_id),'null'));
543: FND_MSG_PUB.ADD;
544: RAISE FND_API.G_EXC_ERROR;
545: END;
546:
547: /* Bug Fix : 2644154. Making the create_party_flag = 'Y' for the
548: party relationship type because API should not allow the allow
561: p_rowid => l_rowid,
562: x_return_status => x_return_status);
563:
564: --if validation failed at any point, then raise an exception to stop processing
565: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
566: RAISE FND_API.G_EXC_ERROR;
567: END IF;
568:
569: HZ_RELATIONSHIP_TYPES_PKG.Update_Row (
562: x_return_status => x_return_status);
563:
564: --if validation failed at any point, then raise an exception to stop processing
565: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
566: RAISE FND_API.G_EXC_ERROR;
567: END IF;
568:
569: HZ_RELATIONSHIP_TYPES_PKG.Update_Row (
570: X_Rowid => l_rowid,
666: |
667: +===========================================================================*/
668:
669: PROCEDURE create_relationship_type (
670: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
671: p_relationship_type_rec IN RELATIONSHIP_TYPE_REC_TYPE,
672: x_relationship_type_id OUT NOCOPY NUMBER,
673: x_return_status OUT NOCOPY VARCHAR2,
674: x_msg_count OUT NOCOPY NUMBER,
686: -- Standard start of API savepoint
687: SAVEPOINT create_relationship_type;
688:
689: -- Initialize message list if p_init_msg_list is set to TRUE.
690: IF FND_API.to_Boolean(p_init_msg_list) THEN
691: FND_MSG_PUB.initialize;
692: END IF;
693:
694: -- Initialize API return status to success.
691: FND_MSG_PUB.initialize;
692: END IF;
693:
694: -- Initialize API return status to success.
695: x_return_status := FND_API.G_RET_STS_SUCCESS;
696:
697: -- Call to business logic.
698: do_create_relationship_type(
699: p_relationship_type_rec => l_relationship_type_rec,
701: x_return_status => x_return_status
702: );
703:
704: --if validation failed at any point, then raise an exception to stop processing
705: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
706: RAISE FND_API.G_EXC_ERROR;
707: END IF;
708:
709: -- Standard call to get message count and if count is 1, get message info.
702: );
703:
704: --if validation failed at any point, then raise an exception to stop processing
705: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
706: RAISE FND_API.G_EXC_ERROR;
707: END IF;
708:
709: -- Standard call to get message count and if count is 1, get message info.
710: FND_MSG_PUB.Count_And_Get(
707: END IF;
708:
709: -- Standard call to get message count and if count is 1, get message info.
710: FND_MSG_PUB.Count_And_Get(
711: p_encoded => FND_API.G_FALSE,
712: p_count => x_msg_count,
713: p_data => x_msg_data);
714:
715: EXCEPTION
712: p_count => x_msg_count,
713: p_data => x_msg_data);
714:
715: EXCEPTION
716: WHEN FND_API.G_EXC_ERROR THEN
717: ROLLBACK TO create_relationship_type;
718: x_return_status := FND_API.G_RET_STS_ERROR;
719: FND_MSG_PUB.Count_And_Get(
720: p_encoded => FND_API.G_FALSE,
714:
715: EXCEPTION
716: WHEN FND_API.G_EXC_ERROR THEN
717: ROLLBACK TO create_relationship_type;
718: x_return_status := FND_API.G_RET_STS_ERROR;
719: FND_MSG_PUB.Count_And_Get(
720: p_encoded => FND_API.G_FALSE,
721: p_count => x_msg_count,
722: p_data => x_msg_data);
716: WHEN FND_API.G_EXC_ERROR THEN
717: ROLLBACK TO create_relationship_type;
718: x_return_status := FND_API.G_RET_STS_ERROR;
719: FND_MSG_PUB.Count_And_Get(
720: p_encoded => FND_API.G_FALSE,
721: p_count => x_msg_count,
722: p_data => x_msg_data);
723: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
724: ROLLBACK TO create_relationship_type;
719: FND_MSG_PUB.Count_And_Get(
720: p_encoded => FND_API.G_FALSE,
721: p_count => x_msg_count,
722: p_data => x_msg_data);
723: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
724: ROLLBACK TO create_relationship_type;
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MSG_PUB.Count_And_Get(
727: p_encoded => FND_API.G_FALSE,
721: p_count => x_msg_count,
722: p_data => x_msg_data);
723: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
724: ROLLBACK TO create_relationship_type;
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MSG_PUB.Count_And_Get(
727: p_encoded => FND_API.G_FALSE,
728: p_count => x_msg_count,
729: p_data => x_msg_data);
723: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
724: ROLLBACK TO create_relationship_type;
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MSG_PUB.Count_And_Get(
727: p_encoded => FND_API.G_FALSE,
728: p_count => x_msg_count,
729: p_data => x_msg_data);
730:
731: WHEN OTHERS THEN
729: p_data => x_msg_data);
730:
731: WHEN OTHERS THEN
732: ROLLBACK TO create_relationship_type;
733: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
734: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
735: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
736: FND_MSG_PUB.ADD;
737: FND_MSG_PUB.Count_And_Get(
734: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
735: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
736: FND_MSG_PUB.ADD;
737: FND_MSG_PUB.Count_And_Get(
738: p_encoded => FND_API.G_FALSE,
739: p_count => x_msg_count,
740: p_data => x_msg_data);
741:
742: END create_relationship_type;
769: | MODIFICATION HISTORY
770: |
771: +===========================================================================*/
772: PROCEDURE update_relationship_type (
773: p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
774: p_relationship_type_rec IN RELATIONSHIP_TYPE_REC_TYPE,
775: p_object_version_number IN OUT NOCOPY NUMBER,
776: x_return_status OUT NOCOPY VARCHAR2,
777: x_msg_count OUT NOCOPY NUMBER,
789: -- Standard start of API savepoint
790: SAVEPOINT update_relationship_type;
791:
792: -- Initialize message list if p_init_msg_list is set to TRUE.
793: IF FND_API.to_Boolean(p_init_msg_list) THEN
794: FND_MSG_PUB.initialize;
795: END IF;
796:
797: -- Initialize API return status to success.
794: FND_MSG_PUB.initialize;
795: END IF;
796:
797: -- Initialize API return status to success.
798: x_return_status := FND_API.G_RET_STS_SUCCESS;
799:
800: -- Call to business logic
801: do_update_relationship_type(
802: l_relationship_type_rec,
804: x_return_status);
805:
806: -- Standard call to get message count and if count is 1, get message info.
807: FND_MSG_PUB.Count_And_Get(
808: p_encoded => FND_API.G_FALSE,
809: p_count => x_msg_count,
810: p_data => x_msg_data);
811:
812: EXCEPTION
809: p_count => x_msg_count,
810: p_data => x_msg_data);
811:
812: EXCEPTION
813: WHEN FND_API.G_EXC_ERROR THEN
814: ROLLBACK TO update_relationship_type;
815: x_return_status := FND_API.G_RET_STS_ERROR;
816: FND_MSG_PUB.Count_And_Get(
817: p_encoded => FND_API.G_FALSE,
811:
812: EXCEPTION
813: WHEN FND_API.G_EXC_ERROR THEN
814: ROLLBACK TO update_relationship_type;
815: x_return_status := FND_API.G_RET_STS_ERROR;
816: FND_MSG_PUB.Count_And_Get(
817: p_encoded => FND_API.G_FALSE,
818: p_count => x_msg_count,
819: p_data => x_msg_data);
813: WHEN FND_API.G_EXC_ERROR THEN
814: ROLLBACK TO update_relationship_type;
815: x_return_status := FND_API.G_RET_STS_ERROR;
816: FND_MSG_PUB.Count_And_Get(
817: p_encoded => FND_API.G_FALSE,
818: p_count => x_msg_count,
819: p_data => x_msg_data);
820:
821: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
817: p_encoded => FND_API.G_FALSE,
818: p_count => x_msg_count,
819: p_data => x_msg_data);
820:
821: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
822: ROLLBACK TO update_relationship_type;
823: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
824: FND_MSG_PUB.Count_And_Get(
825: p_encoded => FND_API.G_FALSE,
819: p_data => x_msg_data);
820:
821: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
822: ROLLBACK TO update_relationship_type;
823: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
824: FND_MSG_PUB.Count_And_Get(
825: p_encoded => FND_API.G_FALSE,
826: p_count => x_msg_count,
827: p_data => x_msg_data);
821: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
822: ROLLBACK TO update_relationship_type;
823: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
824: FND_MSG_PUB.Count_And_Get(
825: p_encoded => FND_API.G_FALSE,
826: p_count => x_msg_count,
827: p_data => x_msg_data);
828: WHEN OTHERS THEN
829: ROLLBACK TO update_relationship_type;
826: p_count => x_msg_count,
827: p_data => x_msg_data);
828: WHEN OTHERS THEN
829: ROLLBACK TO update_relationship_type;
830: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
831: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
832: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
833: FND_MSG_PUB.ADD;
834: FND_MSG_PUB.Count_And_Get(
831: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
832: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
833: FND_MSG_PUB.ADD;
834: FND_MSG_PUB.Count_And_Get(
835: p_encoded => FND_API.G_FALSE,
836: p_count => x_msg_count,
837: p_data => x_msg_data);
838:
839: END update_relationship_type;