55: BEGIN
56: -- Standard Start of API savepoint
57: SAVEPOINT create_construction_unit;
58:
59: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
60: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
61: END IF;
62:
63: -- Initialize message list if p_init_msg_list is set to TRUE.
56: -- Standard Start of API savepoint
57: SAVEPOINT create_construction_unit;
58:
59: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
60: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
61: END IF;
62:
63: -- Initialize message list if p_init_msg_list is set to TRUE.
64: FND_MSG_PUB.initialize;
65:
66:
67: l_cu_rec := p_cu_rec;
68: l_cu_activity_tbl := p_cu_activity_tbl;
69: x_return_status := fnd_api.G_RET_STS_SUCCESS;
70:
71: IF (l_debug_level > 0) THEN
72: debug('CREATE_CONSTRUCTION_UNIT');
73: END IF;
113: ,x_msg_data => x_msg_data
114: );
115:
116: --Check for x_return_status
117: IF x_return_status = fnd_api.g_ret_sts_error THEN
118: RAISE FND_API.G_EXC_ERROR;
119: END IF;
120:
121: IF l_cu_rec.CU_ID IS NULL OR l_cu_rec.CU_ID = FND_API.G_MISS_NUM THEN
114: );
115:
116: --Check for x_return_status
117: IF x_return_status = fnd_api.g_ret_sts_error THEN
118: RAISE FND_API.G_EXC_ERROR;
119: END IF;
120:
121: IF l_cu_rec.CU_ID IS NULL OR l_cu_rec.CU_ID = FND_API.G_MISS_NUM THEN
122: l_cu_id := NULL;
117: IF x_return_status = fnd_api.g_ret_sts_error THEN
118: RAISE FND_API.G_EXC_ERROR;
119: END IF;
120:
121: IF l_cu_rec.CU_ID IS NULL OR l_cu_rec.CU_ID = FND_API.G_MISS_NUM THEN
122: l_cu_id := NULL;
123: ELSE
124: l_cu_id := l_cu_rec.CU_ID;
125: END IF;
176: );
177:
178: END LOOP;
179: -- Standard check of p_commit.
180: IF FND_API.To_Boolean( p_commit ) THEN
181: COMMIT WORK;
182: END IF;
183:
184: EXCEPTION
181: COMMIT WORK;
182: END IF;
183:
184: EXCEPTION
185: WHEN FND_API.G_EXC_ERROR THEN
186: ROLLBACK TO create_construction_unit;
187: RETURN;
188: WHEN OTHERS THEN
189: ROLLBACK TO create_construction_unit;
186: ROLLBACK TO create_construction_unit;
187: RETURN;
188: WHEN OTHERS THEN
189: ROLLBACK TO create_construction_unit;
190: x_return_status := fnd_api.g_ret_sts_error;
191: fnd_message.set_name('EAM','EAM_CU_UNEXP_SQL_ERROR');
192: fnd_message.set_token('API_NAME',l_api_name);
193: fnd_message.set_token('SQL_ERROR',SQLERRM);
194: FND_MSG_PUB.Add;
222: BEGIN
223: -- Standard Start of API savepoint
224: SAVEPOINT update_construction_unit;
225:
226: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
227: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
228: END IF;
229:
230: l_cu_rec := p_cu_rec;
223: -- Standard Start of API savepoint
224: SAVEPOINT update_construction_unit;
225:
226: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
227: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
228: END IF;
229:
230: l_cu_rec := p_cu_rec;
231: l_cu_activity_tbl := p_cu_activity_tbl;
228: END IF;
229:
230: l_cu_rec := p_cu_rec;
231: l_cu_activity_tbl := p_cu_activity_tbl;
232: x_return_status := fnd_api.G_RET_STS_SUCCESS;
233:
234: -- Initialize message list if p_init_msg_list is set to TRUE.
235: FND_MSG_PUB.initialize;
236:
279: ,x_msg_data => x_msg_data
280: );
281:
282: --Check for x_return_status
283: IF x_return_status = fnd_api.g_ret_sts_error THEN
284: RAISE FND_API.G_EXC_ERROR;
285: END IF;
286:
287: IF l_cu_rec.CU_ID IS NULL OR l_cu_rec.CU_ID = FND_API.G_MISS_NUM THEN
280: );
281:
282: --Check for x_return_status
283: IF x_return_status = fnd_api.g_ret_sts_error THEN
284: RAISE FND_API.G_EXC_ERROR;
285: END IF;
286:
287: IF l_cu_rec.CU_ID IS NULL OR l_cu_rec.CU_ID = FND_API.G_MISS_NUM THEN
288: FND_MESSAGE.SET_NAME('EAM','EAM_CU_INVALID_CUID');
283: IF x_return_status = fnd_api.g_ret_sts_error THEN
284: RAISE FND_API.G_EXC_ERROR;
285: END IF;
286:
287: IF l_cu_rec.CU_ID IS NULL OR l_cu_rec.CU_ID = FND_API.G_MISS_NUM THEN
288: FND_MESSAGE.SET_NAME('EAM','EAM_CU_INVALID_CUID');
289: FND_MSG_PUB.Add;
290: RAISE FND_API.G_EXC_ERROR;
291: ELSE
286:
287: IF l_cu_rec.CU_ID IS NULL OR l_cu_rec.CU_ID = FND_API.G_MISS_NUM THEN
288: FND_MESSAGE.SET_NAME('EAM','EAM_CU_INVALID_CUID');
289: FND_MSG_PUB.Add;
290: RAISE FND_API.G_EXC_ERROR;
291: ELSE
292: l_cu_id := l_cu_rec.CU_ID;
293: END IF;
294:
325: FOR l_activity_index IN 1 .. l_cu_activity_tbl.Count LOOP
326: l_cu_activity_rec := NULL;
327: l_cu_activity_rec := l_cu_activity_tbl(l_activity_index);
328:
329: IF l_cu_activity_rec.CU_DETAIL_ID IS NULL OR l_cu_activity_rec.CU_DETAIL_ID = FND_API.G_MISS_NUM THEN
330: l_cu_activity_id := NULL;
331:
332: EAM_CONSTRUCTION_UNIT_PKG.Insert_CU_Activity_Row(
333: px_cu_detail_id => l_cu_activity_id
360: );
361: END IF;
362: END LOOP;
363: -- Standard check of p_commit.
364: IF FND_API.To_Boolean( p_commit ) THEN
365: COMMIT WORK;
366: END IF;
367: EXCEPTION
368: WHEN FND_API.G_EXC_ERROR THEN
364: IF FND_API.To_Boolean( p_commit ) THEN
365: COMMIT WORK;
366: END IF;
367: EXCEPTION
368: WHEN FND_API.G_EXC_ERROR THEN
369: ROLLBACK TO update_construction_unit;
370: RETURN;
371: WHEN OTHERS THEN
372: ROLLBACK TO update_construction_unit;
369: ROLLBACK TO update_construction_unit;
370: RETURN;
371: WHEN OTHERS THEN
372: ROLLBACK TO update_construction_unit;
373: x_return_status := fnd_api.g_ret_sts_error;
374: fnd_message.set_name('EAM','EAM_CU_UNEXP_SQL_ERROR');
375: fnd_message.set_token('API_NAME',l_api_name);
376: fnd_message.set_token('SQL_ERROR',SQLERRM);
377: FND_MSG_PUB.Add;
397: BEGIN
398: -- Standard Start of API savepoint
399: SAVEPOINT copy_construction_unit;
400:
401: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
402: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
403: END IF;
404:
405: x_return_status := fnd_api.G_RET_STS_SUCCESS;
398: -- Standard Start of API savepoint
399: SAVEPOINT copy_construction_unit;
400:
401: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
402: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
403: END IF;
404:
405: x_return_status := fnd_api.G_RET_STS_SUCCESS;
406:
401: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
402: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
403: END IF;
404:
405: x_return_status := fnd_api.G_RET_STS_SUCCESS;
406:
407: -- Initialize message list if p_init_msg_list is set to TRUE.
408: FND_MSG_PUB.initialize;
409:
443:
444: IF p_cu_activity_tbl.Count < 1 THEN
445: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ATLEAST_ONE_ACTIVITY');
446: FND_MSG_PUB.Add;
447: RAISE FND_API.G_EXC_ERROR;
448: END IF;
449:
450: FOR l_assign_count IN p_cu_activity_tbl.FIRST..p_cu_activity_tbl.LAST
451: LOOP
449:
450: FOR l_assign_count IN p_cu_activity_tbl.FIRST..p_cu_activity_tbl.LAST
451: LOOP
452: IF p_cu_activity_tbl.EXISTS(l_assign_count)
453: AND NVL(p_cu_activity_tbl(l_assign_count).CU_ASSIGN_TO_ORG ,FND_API.G_MISS_CHAR) = 'Y' THEN
454:
455: BEGIN
456: SELECT 'X'
457: INTO l_temp
468: x_msg_data => x_msg_data,
469: p_org_id => p_cu_rec.ORGANIZATION_ID,
470: p_activity_id => p_cu_activity_tbl(l_assign_count).ACTIVITY_ID);
471:
472: IF x_return_status = fnd_api.g_ret_sts_error THEN
473: RAISE FND_API.G_EXC_ERROR;
474: END IF;
475: END;
476: END IF;
469: p_org_id => p_cu_rec.ORGANIZATION_ID,
470: p_activity_id => p_cu_activity_tbl(l_assign_count).ACTIVITY_ID);
471:
472: IF x_return_status = fnd_api.g_ret_sts_error THEN
473: RAISE FND_API.G_EXC_ERROR;
474: END IF;
475: END;
476: END IF;
477:
512: END LOOP;
513:
514:
515: --Check for x_return_status
516: IF x_return_status = fnd_api.g_ret_sts_error THEN
517: RAISE FND_API.G_EXC_ERROR;
518: END IF;
519:
520: EXCEPTION
513:
514:
515: --Check for x_return_status
516: IF x_return_status = fnd_api.g_ret_sts_error THEN
517: RAISE FND_API.G_EXC_ERROR;
518: END IF;
519:
520: EXCEPTION
521: WHEN FND_API.G_EXC_ERROR THEN
517: RAISE FND_API.G_EXC_ERROR;
518: END IF;
519:
520: EXCEPTION
521: WHEN FND_API.G_EXC_ERROR THEN
522: ROLLBACK TO copy_construction_unit;
523: x_return_status := fnd_api.g_ret_sts_error;
524: RETURN;
525: WHEN OTHERS THEN
519:
520: EXCEPTION
521: WHEN FND_API.G_EXC_ERROR THEN
522: ROLLBACK TO copy_construction_unit;
523: x_return_status := fnd_api.g_ret_sts_error;
524: RETURN;
525: WHEN OTHERS THEN
526: ROLLBACK TO copy_construction_unit;
527: x_return_status := fnd_api.g_ret_sts_error;
523: x_return_status := fnd_api.g_ret_sts_error;
524: RETURN;
525: WHEN OTHERS THEN
526: ROLLBACK TO copy_construction_unit;
527: x_return_status := fnd_api.g_ret_sts_error;
528: fnd_message.set_name('EAM','EAM_CU_UNEXP_SQL_ERROR');
529: fnd_message.set_token('API_NAME',l_api_name);
530: fnd_message.set_token('SQL_ERROR',SQLERRM);
531: FND_MSG_PUB.Add;
557: l_activity_name VARCHAR2(2000);
558: l_org_code VARCHAR2(2000);
559: BEGIN
560:
561: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
562: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
563: END IF;
564:
565: IF (l_debug_level > 0) THEN
558: l_org_code VARCHAR2(2000);
559: BEGIN
560:
561: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
562: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
563: END IF;
564:
565: IF (l_debug_level > 0) THEN
566: debug('VALIDATE_CU_DETAILS');
565: IF (l_debug_level > 0) THEN
566: debug('VALIDATE_CU_DETAILS');
567: END IF;
568:
569: x_return_status := fnd_api.G_RET_STS_SUCCESS;
570: l_cu_rec := p_cu_rec;
571:
572: IF (l_cu_rec.CU_NAME IS NULL OR l_cu_rec.CU_NAME = FND_API.G_MISS_CHAR) THEN
573: FND_MESSAGE.SET_NAME('EAM','EAM_CU_NAME_NULL');
568:
569: x_return_status := fnd_api.G_RET_STS_SUCCESS;
570: l_cu_rec := p_cu_rec;
571:
572: IF (l_cu_rec.CU_NAME IS NULL OR l_cu_rec.CU_NAME = FND_API.G_MISS_CHAR) THEN
573: FND_MESSAGE.SET_NAME('EAM','EAM_CU_NAME_NULL');
574: FND_MSG_PUB.Add;
575: RAISE FND_API.G_EXC_ERROR;
576: ELSE
571:
572: IF (l_cu_rec.CU_NAME IS NULL OR l_cu_rec.CU_NAME = FND_API.G_MISS_CHAR) THEN
573: FND_MESSAGE.SET_NAME('EAM','EAM_CU_NAME_NULL');
574: FND_MSG_PUB.Add;
575: RAISE FND_API.G_EXC_ERROR;
576: ELSE
577: BEGIN
578: SELECT 'X'
579: INTO l_temp
578: SELECT 'X'
579: INTO l_temp
580: FROM eam_construction_units
581: WHERE cu_name = l_cu_rec.CU_NAME
582: AND cu_id <> Nvl(l_cu_rec.CU_ID, FND_API.G_MISS_NUM);
583:
584: FND_MESSAGE.SET_NAME('EAM','EAM_CU_NAME_DUPLICATE');
585: FND_MSG_PUB.Add;
586: RAISE FND_API.G_EXC_ERROR;
582: AND cu_id <> Nvl(l_cu_rec.CU_ID, FND_API.G_MISS_NUM);
583:
584: FND_MESSAGE.SET_NAME('EAM','EAM_CU_NAME_DUPLICATE');
585: FND_MSG_PUB.Add;
586: RAISE FND_API.G_EXC_ERROR;
587: EXCEPTION
588: WHEN No_Data_Found THEN
589: NULL;
590: END;
589: NULL;
590: END;
591: END IF;
592:
593: IF Nvl(l_cu_rec.cu_effective_from,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
594: IF p_action = 'CREATE' THEN
595: l_cu_rec.cu_effective_from := SYSDATE;
596: ELSE
597: FND_MESSAGE.SET_NAME('EAM','EAM_CU_EFFECTIVE_FROM_NULL');
595: l_cu_rec.cu_effective_from := SYSDATE;
596: ELSE
597: FND_MESSAGE.SET_NAME('EAM','EAM_CU_EFFECTIVE_FROM_NULL');
598: FND_MSG_PUB.Add;
599: RAISE FND_API.G_EXC_ERROR;
600: END IF;
601: END IF;
602:
603: IF Nvl(l_cu_rec.cu_effective_to,FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
599: RAISE FND_API.G_EXC_ERROR;
600: END IF;
601: END IF;
602:
603: IF Nvl(l_cu_rec.cu_effective_to,FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
604: IF l_cu_rec.cu_effective_to < l_cu_rec.cu_effective_from THEN
605: FND_MESSAGE.SET_NAME('EAM','EAM_CU_EFFECTIVE_TO_FROM_ERROR');
606: FND_MSG_PUB.Add;
607: RAISE FND_API.G_EXC_ERROR;
603: IF Nvl(l_cu_rec.cu_effective_to,FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
604: IF l_cu_rec.cu_effective_to < l_cu_rec.cu_effective_from THEN
605: FND_MESSAGE.SET_NAME('EAM','EAM_CU_EFFECTIVE_TO_FROM_ERROR');
606: FND_MSG_PUB.Add;
607: RAISE FND_API.G_EXC_ERROR;
608: END IF;
609: END IF;
610:
611: IF p_cu_activity_tbl.Count < 1 THEN
610:
611: IF p_cu_activity_tbl.Count < 1 THEN
612: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ATLEAST_ONE_ACTIVITY');
613: FND_MSG_PUB.Add;
614: RAISE FND_API.G_EXC_ERROR;
615: END IF;
616:
617: l_cu_activity_tbl := p_cu_activity_tbl;
618:
652: WHEN No_Data_Found THEN
653: FND_MESSAGE.SET_NAME('EAM','EAM_CU_INVALID_ACTIVITY');
654: FND_MESSAGE.SET_TOKEN('ACTIVITY',l_cu_activity_rec.ACTIVITY_ID);
655: FND_MSG_PUB.Add;
656: RAISE FND_API.G_EXC_ERROR;
657: WHEN OTHERS THEN
658: NULL;
659: END;
660:
670: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACTIVITY_NOT_ASSIGNED');
671: FND_MESSAGE.SET_TOKEN('ACTIVITY',l_activity_name);
672: FND_MESSAGE.SET_TOKEN('ORG',l_org_code);
673: FND_MSG_PUB.Add;
674: RAISE FND_API.G_EXC_ERROR;
675: END;
676:
677: IF Nvl(l_cu_activity_rec.ACCT_CLASS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
678: BEGIN
673: FND_MSG_PUB.Add;
674: RAISE FND_API.G_EXC_ERROR;
675: END;
676:
677: IF Nvl(l_cu_activity_rec.ACCT_CLASS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
678: BEGIN
679: SELECT 'X'
680: INTO l_temp
681: FROM WIP_ACCOUNTING_CLASSES
689: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACCTCLASS_NOT_ASSIGNED');
690: FND_MESSAGE.SET_TOKEN('ACCTCLASS',l_cu_activity_rec.ACCT_CLASS_CODE);
691: FND_MESSAGE.SET_TOKEN('ORG',l_org_code);
692: FND_MSG_PUB.Add;
693: RAISE FND_API.G_EXC_ERROR;
694: END;
695: END IF;
696:
697: l_qtantity := l_cu_activity_rec.CU_ACTIVITY_QTY;
697: l_qtantity := l_cu_activity_rec.CU_ACTIVITY_QTY;
698: IF l_qtantity*100 <> Round(l_qtantity*100) THEN
699: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_QTY_DECIMAL');
700: FND_MSG_PUB.Add;
701: RAISE FND_API.G_EXC_ERROR;
702: END IF;
703:
704: IF l_qtantity < 0 THEN
705: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_QTY_POSITIVE');
703:
704: IF l_qtantity < 0 THEN
705: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_QTY_POSITIVE');
706: FND_MSG_PUB.Add;
707: RAISE FND_API.G_EXC_ERROR;
708: END IF;
709:
710: IF Nvl(l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM, FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
711: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_EFFECTIVE_FROM_NULL');
706: FND_MSG_PUB.Add;
707: RAISE FND_API.G_EXC_ERROR;
708: END IF;
709:
710: IF Nvl(l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM, FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
711: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_EFFECTIVE_FROM_NULL');
712: FND_MSG_PUB.Add;
713: RAISE FND_API.G_EXC_ERROR;
714: END IF;
709:
710: IF Nvl(l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM, FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN
711: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_EFFECTIVE_FROM_NULL');
712: FND_MSG_PUB.Add;
713: RAISE FND_API.G_EXC_ERROR;
714: END IF;
715:
716: IF l_cu_rec.CU_EFFECTIVE_FROM > l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM THEN
717: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_CU_EFFECTIVE_FROM');
715:
716: IF l_cu_rec.CU_EFFECTIVE_FROM > l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM THEN
717: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_CU_EFFECTIVE_FROM');
718: FND_MSG_PUB.Add;
719: RAISE FND_API.G_EXC_ERROR;
720: END IF;
721:
722: IF Nvl(l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_TO,FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
723: IF l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_TO < l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM THEN
718: FND_MSG_PUB.Add;
719: RAISE FND_API.G_EXC_ERROR;
720: END IF;
721:
722: IF Nvl(l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_TO,FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
723: IF l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_TO < l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM THEN
724: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_EFFT_TO_FROM_ERROR');
725: FND_MSG_PUB.Add;
726: RAISE FND_API.G_EXC_ERROR;
722: IF Nvl(l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_TO,FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
723: IF l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_TO < l_cu_activity_rec.CU_ACTIVITY_EFFECTIVE_FROM THEN
724: FND_MESSAGE.SET_NAME('EAM','EAM_CU_ACT_EFFT_TO_FROM_ERROR');
725: FND_MSG_PUB.Add;
726: RAISE FND_API.G_EXC_ERROR;
727: END IF;
728: END IF;
729: END LOOP;
730: -- Valication of CU Activity details - End
729: END LOOP;
730: -- Valication of CU Activity details - End
731:
732: EXCEPTION
733: WHEN FND_API.G_EXC_ERROR THEN
734: x_return_status := fnd_api.g_ret_sts_error;
735: x_msg_data := dump_error_stack;
736: WHEN OTHERS THEN
737: x_return_status := fnd_api.g_ret_sts_error;
730: -- Valication of CU Activity details - End
731:
732: EXCEPTION
733: WHEN FND_API.G_EXC_ERROR THEN
734: x_return_status := fnd_api.g_ret_sts_error;
735: x_msg_data := dump_error_stack;
736: WHEN OTHERS THEN
737: x_return_status := fnd_api.g_ret_sts_error;
738: fnd_message.set_name('EAM','EAM_CU_UNEXP_SQL_ERROR');
733: WHEN FND_API.G_EXC_ERROR THEN
734: x_return_status := fnd_api.g_ret_sts_error;
735: x_msg_data := dump_error_stack;
736: WHEN OTHERS THEN
737: x_return_status := fnd_api.g_ret_sts_error;
738: fnd_message.set_name('EAM','EAM_CU_UNEXP_SQL_ERROR');
739: fnd_message.set_token('API_NAME',l_api_name);
740: fnd_message.set_token('SQL_ERROR',SQLERRM);
741: FND_MSG_PUB.Add;
757: FOR l_ind IN 1..l_msg_count
758: LOOP
759: fnd_msg_pub.get(
760: p_msg_index => l_ind,
761: p_encoded => fnd_api.g_false,
762: p_data => l_msg_data,
763: p_msg_index_out => l_msg_index_out);
764:
765: x_msg_data := ltrim(x_msg_data||' '||l_msg_data);