6: +-----------------------------------------------------------*/
7:
8: PROCEDURE create_lifecycle (
9: P_api_version IN NUMBER :=1.0 ,
10: P_commit IN VARCHAR2 :=FND_API.G_FALSE ,
11: P_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
12: P_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
13: P_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
14: P_debug_mode IN VARCHAR2 :='N' ,
7:
8: PROCEDURE create_lifecycle (
9: P_api_version IN NUMBER :=1.0 ,
10: P_commit IN VARCHAR2 :=FND_API.G_FALSE ,
11: P_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
12: P_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
13: P_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
14: P_debug_mode IN VARCHAR2 :='N' ,
15: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
8: PROCEDURE create_lifecycle (
9: P_api_version IN NUMBER :=1.0 ,
10: P_commit IN VARCHAR2 :=FND_API.G_FALSE ,
11: P_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
12: P_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
13: P_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
14: P_debug_mode IN VARCHAR2 :='N' ,
15: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
16: P_lifecycle_short_name IN VARCHAR2 ,
61: IF(p_debug_mode = 'Y') THEN
62: pa_debug.debug('CREATE_LIFECYCLE PVT: Inside create_lifecycle...');
63: END IF;
64:
65: IF(p_commit = FND_API.G_TRUE) THEN
66: SAVEPOINT LCYL_CREATE_LIFECYCLE_PVT;
67: END IF;
68:
69: IF(p_debug_mode = 'Y') THEN
69: IF(p_debug_mode = 'Y') THEN
70: pa_debug.debug('CREATE_LIFECYCLE PVT: Checking api compatibility...');
71: END IF;
72:
73: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version ,
74: p_api_version ,
75: l_api_name ,
76: g_pkg_name)
77: THEN
74: p_api_version ,
75: l_api_name ,
76: g_pkg_name)
77: THEN
78: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
79: END IF;
80:
81:
82: x_return_status := FND_API.G_RET_STS_SUCCESS;
78: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
79: END IF;
80:
81:
82: x_return_status := FND_API.G_RET_STS_SUCCESS;
83:
84: IF(p_debug_mode = 'Y') THEN
85: pa_debug.debug('CREATE_LIFECYCLE PVT: Checking for validations on parameters...');
86: END IF;
103: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
104: p_msg_name => 'PA_LCYL_SHORT_NAME_EXISTS'
105: );
106: x_msg_data := 'PA_LCYL_SHORT_NAME_EXISTS';
107: x_return_status := FND_API.G_RET_STS_ERROR;
108: END IF;
109:
110: IF (p_debug_mode = 'Y') THEN
111: pa_debug.debug('PA_LIFECYCLES_PVT.create_lifecycle : checking message count');
117: If l_msg_count > 0 THEN
118: x_msg_count := l_msg_count;
119: If l_msg_count = 1 THEN
120: pa_interface_utils_pub.get_messages(
121: p_encoded => FND_API.G_TRUE ,
122: p_msg_index => 1 ,
123: p_msg_count => l_msg_count ,
124: p_msg_data => l_msg_data ,
125: p_data => l_data ,
126: p_msg_index_out => l_msg_index_out
127: );
128: x_msg_data := l_data;
129: End if;
130: RAISE FND_API.G_EXC_ERROR;
131: End if;
132:
133:
134: IF(p_debug_mode = 'Y') THEN
403: If l_msg_count > 0 THEN
404: x_msg_count := l_msg_count;
405: If l_msg_count = 1 THEN
406: pa_interface_utils_pub.get_messages(
407: p_encoded => FND_API.G_TRUE ,
408: p_msg_index => 1 ,
409: p_msg_count => l_msg_count ,
410: p_msg_data => l_msg_data ,
411: p_data => l_data ,
412: p_msg_index_out => l_msg_index_out
413: );
414: x_msg_data := l_data;
415: End if;
416: RAISE FND_API.G_EXC_ERROR;
417: End if;
418:
419:
420: x_lifecycle_id := l_lifecycle_id;
417: End if;
418:
419:
420: x_lifecycle_id := l_lifecycle_id;
421: x_return_status := FND_API.G_RET_STS_SUCCESS;
422:
423: IF FND_API.TO_BOOLEAN(P_COMMIT)
424: THEN
425: COMMIT;
419:
420: x_lifecycle_id := l_lifecycle_id;
421: x_return_status := FND_API.G_RET_STS_SUCCESS;
422:
423: IF FND_API.TO_BOOLEAN(P_COMMIT)
424: THEN
425: COMMIT;
426: END IF;
427:
426: END IF;
427:
428: EXCEPTION
429:
430: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
431: IF p_commit = FND_API.G_TRUE THEN
432: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
433: END IF;
434: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
427:
428: EXCEPTION
429:
430: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
431: IF p_commit = FND_API.G_TRUE THEN
432: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
433: END IF;
434: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
435: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
430: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
431: IF p_commit = FND_API.G_TRUE THEN
432: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
433: END IF;
434: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
435: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
436: p_procedure_name => 'create_lifecycle',
437: p_error_text => SUBSTRB(SQLERRM,1,240));
438: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
434: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
435: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
436: p_procedure_name => 'create_lifecycle',
437: p_error_text => SUBSTRB(SQLERRM,1,240));
438: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
439:
440: WHEN FND_API.G_EXC_ERROR THEN
441: x_return_status := FND_API.G_RET_STS_ERROR;
442: IF p_commit = FND_API.G_TRUE THEN
436: p_procedure_name => 'create_lifecycle',
437: p_error_text => SUBSTRB(SQLERRM,1,240));
438: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
439:
440: WHEN FND_API.G_EXC_ERROR THEN
441: x_return_status := FND_API.G_RET_STS_ERROR;
442: IF p_commit = FND_API.G_TRUE THEN
443: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
444: END IF;
437: p_error_text => SUBSTRB(SQLERRM,1,240));
438: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
439:
440: WHEN FND_API.G_EXC_ERROR THEN
441: x_return_status := FND_API.G_RET_STS_ERROR;
442: IF p_commit = FND_API.G_TRUE THEN
443: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
444: END IF;
445:
438: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
439:
440: WHEN FND_API.G_EXC_ERROR THEN
441: x_return_status := FND_API.G_RET_STS_ERROR;
442: IF p_commit = FND_API.G_TRUE THEN
443: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
444: END IF;
445:
446: WHEN OTHERS THEN
443: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
444: END IF;
445:
446: WHEN OTHERS THEN
447: IF p_commit = FND_API.G_TRUE THEN
448: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
449: END IF;
450: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
451: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
446: WHEN OTHERS THEN
447: IF p_commit = FND_API.G_TRUE THEN
448: ROLLBACK TO LCYL_CREATE_LIFECYCLE_PVT;
449: END IF;
450: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
451: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
452: p_procedure_name => 'create_lifecycle',
453: p_error_text => SUBSTRB(SQLERRM,1,240));
454: raise;
461:
462:
463: PROCEDURE create_lifecycle_phase (
464: P_api_version IN NUMBER :=1.0 ,
465: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
466: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
467: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
468: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
469: p_debug_mode IN VARCHAR2 :='N' ,
462:
463: PROCEDURE create_lifecycle_phase (
464: P_api_version IN NUMBER :=1.0 ,
465: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
466: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
467: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
468: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
469: p_debug_mode IN VARCHAR2 :='N' ,
470: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
463: PROCEDURE create_lifecycle_phase (
464: P_api_version IN NUMBER :=1.0 ,
465: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
466: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
467: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
468: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
469: p_debug_mode IN VARCHAR2 :='N' ,
470: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
471: P_lifecycle_id IN NUMBER ,
529: IF(p_debug_mode = 'Y') THEN
530: pa_debug.debug('CREATE_LIFECYCLE_PVT.create_lifecycle_phase: Inside create_lifecycle_phase ...');
531: END IF;
532:
533: IF(p_commit = FND_API.G_TRUE) THEN
534: SAVEPOINT LCYL_CREATE_LCYL_PHASES_PVT;
535: END IF;
536:
537: IF(p_debug_mode = 'Y') THEN
537: IF(p_debug_mode = 'Y') THEN
538: pa_debug.debug('CREATE_LIFECYCLE_PVT.create_lifecycle_phase: Calling api compatilbility check...');
539: END IF;
540:
541: IF NOT FND_API.COMPATIBLE_API_CALL(
542: l_api_version ,
543: p_api_version ,
544: l_api_name ,
545: g_pkg_name
544: l_api_name ,
545: g_pkg_name
546: )
547: THEN
548: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
549: END IF;
550:
551:
552: x_return_status := FND_API.G_RET_STS_SUCCESS;
548: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
549: END IF;
550:
551:
552: x_return_status := FND_API.G_RET_STS_SUCCESS;
553:
554: IF(p_debug_mode = 'Y') THEN
555: pa_debug.debug('CREATE_LIFECYCLE_PVT.create_lifecycle_phase: Checking for valid parameters..');
556: END IF;
570: p_app_short_name => 'PA' ,
571: p_msg_name => 'PA_LCYL_DUPLICATE_PHASE_SHNAME'
572: );
573: x_msg_data := 'PA_LCYL_DUPLICATE_PHASE_SHNAME';
574: x_return_status := FND_API.G_RET_STS_ERROR;
575: END IF;
576:
577: IF (p_debug_mode = 'Y') THEN
578: pa_debug.debug('PA_LIFECYCLES_PVT.create_lifecycle_phase : checking message count');
583: IF l_msg_count > 0 THEN
584: x_msg_count := l_msg_count;
585: IF l_msg_count = 1 THEN
586: pa_interface_utils_pub.get_messages
587: (p_encoded => FND_API.G_TRUE ,
588: p_msg_index => 1 ,
589: p_msg_count => l_msg_count ,
590: p_msg_data => l_msg_data ,
591: p_data => l_data ,
592: p_msg_index_out => l_msg_index_out
593: );
594: x_msg_data := l_data;
595: END IF;
596: RAISE FND_API.G_EXC_ERROR;
597: END IF;
598:
599: IF(p_debug_mode = 'Y') THEN
600: pa_debug.debug('CREATE_LIFECYCLE_PVT.create_lifecycle_phase: Obtaining lifecycle_phase_id...');
795: If l_msg_count > 0 THEN
796: x_msg_count := l_msg_count;
797: If l_msg_count = 1 THEN
798: pa_interface_utils_pub.get_messages
799: (p_encoded => FND_API.G_TRUE ,
800: p_msg_index => 1 ,
801: p_msg_count => l_msg_count ,
802: p_msg_data => l_msg_data ,
803: p_data => l_data ,
804: p_msg_index_out => l_msg_index_out
805: );
806: x_msg_data := l_data;
807: End if;
808: RAISE FND_API.G_EXC_ERROR;
809: End if;
810:
811: x_lifecycle_phase_id := l_phase_id;
812: x_return_status := FND_API.G_RET_STS_SUCCESS;
808: RAISE FND_API.G_EXC_ERROR;
809: End if;
810:
811: x_lifecycle_phase_id := l_phase_id;
812: x_return_status := FND_API.G_RET_STS_SUCCESS;
813:
814: IF FND_API.TO_BOOLEAN(P_COMMIT)
815: THEN
816: COMMIT;
810:
811: x_lifecycle_phase_id := l_phase_id;
812: x_return_status := FND_API.G_RET_STS_SUCCESS;
813:
814: IF FND_API.TO_BOOLEAN(P_COMMIT)
815: THEN
816: COMMIT;
817: END IF;
818:
817: END IF;
818:
819: EXCEPTION
820:
821: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
822: IF p_commit = FND_API.G_TRUE THEN
823: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
824: END IF;
825: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
818:
819: EXCEPTION
820:
821: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
822: IF p_commit = FND_API.G_TRUE THEN
823: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
824: END IF;
825: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
826: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
821: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
822: IF p_commit = FND_API.G_TRUE THEN
823: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
824: END IF;
825: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
826: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
827: p_procedure_name => 'CREATE_LIFECYCLE_PHASE',
828: p_error_text => SUBSTRB(SQLERRM,1,240));
829: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
825: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
826: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
827: p_procedure_name => 'CREATE_LIFECYCLE_PHASE',
828: p_error_text => SUBSTRB(SQLERRM,1,240));
829: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
830:
831: WHEN FND_API.G_EXC_ERROR THEN
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: IF p_commit = FND_API.G_TRUE THEN
827: p_procedure_name => 'CREATE_LIFECYCLE_PHASE',
828: p_error_text => SUBSTRB(SQLERRM,1,240));
829: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
830:
831: WHEN FND_API.G_EXC_ERROR THEN
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: IF p_commit = FND_API.G_TRUE THEN
834: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
835: END IF;
828: p_error_text => SUBSTRB(SQLERRM,1,240));
829: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
830:
831: WHEN FND_API.G_EXC_ERROR THEN
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: IF p_commit = FND_API.G_TRUE THEN
834: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
835: END IF;
836:
829: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
830:
831: WHEN FND_API.G_EXC_ERROR THEN
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: IF p_commit = FND_API.G_TRUE THEN
834: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
835: END IF;
836:
837: WHEN OTHERS THEN
834: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
835: END IF;
836:
837: WHEN OTHERS THEN
838: IF p_commit = FND_API.G_TRUE THEN
839: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
840: END IF;
841: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
842: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
837: WHEN OTHERS THEN
838: IF p_commit = FND_API.G_TRUE THEN
839: ROLLBACK TO LCYL_CREATE_LCYL_PHASES_PVT;
840: END IF;
841: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
842: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
843: p_procedure_name => 'CREATE_LIFECYCLE_PHASE',
844: p_error_text => SUBSTRB(SQLERRM,1,240));
845: raise;
851: +-----------------------------------------------------------*/
852:
853: PROCEDURE delete_lifecycle(
854: P_api_version IN NUMBER :=1.0 ,
855: P_commit IN VARCHAR2 :=FND_API.G_FALSE ,
856: P_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
857: P_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
858: P_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
859: P_debug_mode IN VARCHAR2 :='N' ,
852:
853: PROCEDURE delete_lifecycle(
854: P_api_version IN NUMBER :=1.0 ,
855: P_commit IN VARCHAR2 :=FND_API.G_FALSE ,
856: P_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
857: P_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
858: P_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
859: P_debug_mode IN VARCHAR2 :='N' ,
860: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
853: PROCEDURE delete_lifecycle(
854: P_api_version IN NUMBER :=1.0 ,
855: P_commit IN VARCHAR2 :=FND_API.G_FALSE ,
856: P_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
857: P_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
858: P_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
859: P_debug_mode IN VARCHAR2 :='N' ,
860: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
861: P_lifecycle_id IN NUMBER ,
938: IF(p_debug_mode = 'Y') THEN
939: pa_debug.debug('CREATE_LIFECYCLE_PVT: inside delete_lifecycle.....');
940: END IF;
941:
942: IF(p_commit = FND_API.G_TRUE) THEN
943: SAVEPOINT LCYL_DEL_PVT;
944: END IF;
945:
946: IF(p_debug_mode = 'Y') THEN
946: IF(p_debug_mode = 'Y') THEN
947: pa_debug.debug('CREATE_LIFECYCLE_PVT.delete_lifecycle_phase: Checking for call compatability...');
948: END IF;
949:
950: IF NOT FND_API.COMPATIBLE_API_CALL(
951: l_api_version ,
952: p_api_version ,
953: l_api_name ,
954: g_pkg_name
953: l_api_name ,
954: g_pkg_name
955: )
956: THEN
957: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
958: END IF;
959:
960: x_return_status := FND_API.G_RET_STS_SUCCESS;
961:
956: THEN
957: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
958: END IF;
959:
960: x_return_status := FND_API.G_RET_STS_SUCCESS;
961:
962: IF(p_debug_mode = 'Y') THEN
963: pa_debug.debug('CREATE_LIFECYCLE_PVT.delete_lifecycle_phase: Locking on pa_proj_elements...');
964: end if;
964: end if;
965:
966:
967: --Lock record
968: IF (p_validate_only <> FND_API.G_TRUE) THEN
969: BEGIN
970: -- BEGIN lock
971:
972: SELECT rowid into l_rowid
980:
981: EXCEPTION
982:
983: when TIMEOUT_ON_RESOURCE then
984: x_return_status := FND_API.G_RET_STS_ERROR;
985: PA_UTILS.ADD_MESSAGE(
986: p_app_short_name => 'PA',
987: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED'
988: );
988: );
989: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
990:
991: when NO_DATA_FOUND then
992: x_return_status := FND_API.G_RET_STS_ERROR;
993: PA_UTILS.ADD_MESSAGE(
994: p_app_short_name => 'PA',
995: p_msg_name => 'PA_XC_RECORD_CHANGED'
996: );
996: );
997: l_msg_data := 'PA_XC_RECORD_CHANGED';
998:
999: when OTHERS then
1000: x_return_status := FND_API.G_RET_STS_ERROR;
1001: IF SQLCODE = -54 THEN
1002: PA_UTILS.ADD_MESSAGE(
1003: p_app_short_name => 'PA',
1004: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED'
1023:
1024: EXCEPTION
1025:
1026: when NO_DATA_FOUND then
1027: x_return_status := FND_API.G_RET_STS_ERROR;
1028: PA_UTILS.ADD_MESSAGE(
1029: p_app_short_name => 'PA',
1030: p_msg_name => 'PA_XC_RECORD_CHANGED'
1031: );
1045: IF l_msg_count > 0 THEN
1046: x_msg_count := l_msg_count;
1047: IF l_msg_count = 1 THEN
1048: pa_interface_utils_pub.get_messages
1049: (p_encoded => FND_API.G_TRUE ,
1050: p_msg_index => 1 ,
1051: p_msg_count => l_msg_count ,
1052: p_msg_data => l_msg_data ,
1053: p_data => l_data ,
1054: p_msg_index_out => l_msg_index_out
1055: );
1056: x_msg_data := l_data;
1057: End if;
1058: RAISE FND_API.G_EXC_ERROR;
1059: End if;
1060:
1061: IF (p_debug_mode = 'Y') THEN
1062: pa_debug.debug('DELETE_LIFECYCLE_PVT.delete_lifecycle:Calling PA_PROJ_ELEMENTS_PKG.delete_Row');
1132: If l_msg_count > 0 THEN
1133: x_msg_count := l_msg_count;
1134: If l_msg_count = 1 THEN
1135: pa_interface_utils_pub.get_messages(
1136: p_encoded => FND_API.G_TRUE ,
1137: p_msg_index => 1 ,
1138: p_msg_count => l_msg_count ,
1139: p_msg_data => l_msg_data ,
1140: p_data => l_data ,
1141: p_msg_index_out => l_msg_index_out
1142: );
1143: x_msg_data := l_data;
1144: End if;
1145: RAISE FND_API.G_EXC_ERROR;
1146: End if;
1147:
1148: x_return_status := FND_API.G_RET_STS_SUCCESS;
1149:
1144: End if;
1145: RAISE FND_API.G_EXC_ERROR;
1146: End if;
1147:
1148: x_return_status := FND_API.G_RET_STS_SUCCESS;
1149:
1150:
1151: EXCEPTION
1152:
1149:
1150:
1151: EXCEPTION
1152:
1153: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1154: IF p_commit = FND_API.G_TRUE THEN
1155: ROLLBACK TO LCYL_DEL_PVT;
1156: END IF;
1157: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1150:
1151: EXCEPTION
1152:
1153: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1154: IF p_commit = FND_API.G_TRUE THEN
1155: ROLLBACK TO LCYL_DEL_PVT;
1156: END IF;
1157: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1158: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1153: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1154: IF p_commit = FND_API.G_TRUE THEN
1155: ROLLBACK TO LCYL_DEL_PVT;
1156: END IF;
1157: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1158: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1159: p_procedure_name => 'DELETE_LIFECYCLE',
1160: p_error_text => SUBSTRB(SQLERRM,1,240));
1161: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1157: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1158: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1159: p_procedure_name => 'DELETE_LIFECYCLE',
1160: p_error_text => SUBSTRB(SQLERRM,1,240));
1161: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1162:
1163: WHEN FND_API.G_EXC_ERROR THEN
1164: x_return_status := FND_API.G_RET_STS_ERROR;
1165: IF p_commit = FND_API.G_TRUE THEN
1159: p_procedure_name => 'DELETE_LIFECYCLE',
1160: p_error_text => SUBSTRB(SQLERRM,1,240));
1161: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1162:
1163: WHEN FND_API.G_EXC_ERROR THEN
1164: x_return_status := FND_API.G_RET_STS_ERROR;
1165: IF p_commit = FND_API.G_TRUE THEN
1166: ROLLBACK TO LCYL_DEL_PVT;
1167: END IF;
1160: p_error_text => SUBSTRB(SQLERRM,1,240));
1161: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1162:
1163: WHEN FND_API.G_EXC_ERROR THEN
1164: x_return_status := FND_API.G_RET_STS_ERROR;
1165: IF p_commit = FND_API.G_TRUE THEN
1166: ROLLBACK TO LCYL_DEL_PVT;
1167: END IF;
1168:
1161: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1162:
1163: WHEN FND_API.G_EXC_ERROR THEN
1164: x_return_status := FND_API.G_RET_STS_ERROR;
1165: IF p_commit = FND_API.G_TRUE THEN
1166: ROLLBACK TO LCYL_DEL_PVT;
1167: END IF;
1168:
1169:
1167: END IF;
1168:
1169:
1170: WHEN OTHERS THEN
1171: IF p_commit = FND_API.G_TRUE THEN
1172: ROLLBACK TO LCYL_DEL_PVT;
1173: END IF;
1174: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1175: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1170: WHEN OTHERS THEN
1171: IF p_commit = FND_API.G_TRUE THEN
1172: ROLLBACK TO LCYL_DEL_PVT;
1173: END IF;
1174: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1175: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1176: p_procedure_name => 'DELETE_LIFECYCLE',
1177: p_error_text => SUBSTRB(SQLERRM,1,240));
1178: raise;
1185:
1186:
1187: PROCEDURE delete_lifecycle_phase (
1188: P_api_version IN NUMBER := 1.0 ,
1189: P_commit IN VARCHAR2 := FND_API.G_FALSE ,
1190: P_validate_only IN VARCHAR2 := FND_API.G_TRUE ,
1191: P_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
1192: P_calling_module IN VARCHAR2 := 'SELF_SERVICE' ,
1193: P_debug_mode IN VARCHAR2 := 'N' ,
1186:
1187: PROCEDURE delete_lifecycle_phase (
1188: P_api_version IN NUMBER := 1.0 ,
1189: P_commit IN VARCHAR2 := FND_API.G_FALSE ,
1190: P_validate_only IN VARCHAR2 := FND_API.G_TRUE ,
1191: P_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
1192: P_calling_module IN VARCHAR2 := 'SELF_SERVICE' ,
1193: P_debug_mode IN VARCHAR2 := 'N' ,
1194: P_max_msg_count IN NUMBER := G_MISS_NUM ,
1187: PROCEDURE delete_lifecycle_phase (
1188: P_api_version IN NUMBER := 1.0 ,
1189: P_commit IN VARCHAR2 := FND_API.G_FALSE ,
1190: P_validate_only IN VARCHAR2 := FND_API.G_TRUE ,
1191: P_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
1192: P_calling_module IN VARCHAR2 := 'SELF_SERVICE' ,
1193: P_debug_mode IN VARCHAR2 := 'N' ,
1194: P_max_msg_count IN NUMBER := G_MISS_NUM ,
1195: P_phase_id IN NUMBER ,
1250: pa_debug.debug('CREATE_LIFECYCLE_PVT.delete_lifecycle_phases:inside delete_lifecycle_phase..');
1251: END IF;
1252:
1253:
1254: IF(p_commit = FND_API.G_TRUE) THEN
1255: SAVEPOINT LCYL_DEL_PHASE_PVT;
1256: END IF;
1257:
1258: IF NOT FND_API.COMPATIBLE_API_CALL(
1254: IF(p_commit = FND_API.G_TRUE) THEN
1255: SAVEPOINT LCYL_DEL_PHASE_PVT;
1256: END IF;
1257:
1258: IF NOT FND_API.COMPATIBLE_API_CALL(
1259: l_api_version ,
1260: p_api_version ,
1261: l_api_name ,
1262: g_pkg_name
1261: l_api_name ,
1262: g_pkg_name
1263: )
1264: THEN
1265: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1266: END IF;
1267:
1268: x_return_status := FND_API.G_RET_STS_SUCCESS;
1269:
1264: THEN
1265: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1266: END IF;
1267:
1268: x_return_status := FND_API.G_RET_STS_SUCCESS;
1269:
1270:
1271: if(p_debug_mode = 'Y') then
1272: pa_debug.debug('PA_LIFECYCLES_PVT.delete_lifecycle_phase:Locking record for pa_proj_elements...');
1272: pa_debug.debug('PA_LIFECYCLES_PVT.delete_lifecycle_phase:Locking record for pa_proj_elements...');
1273: end if;
1274:
1275: --Lock record
1276: IF (p_validate_only <> FND_API.G_TRUE) THEN
1277: BEGIN
1278: --lock
1279: SELECT rowid into l_rowid
1280: FROM pa_proj_elements
1286:
1287: EXCEPTION
1288:
1289: when TIMEOUT_ON_RESOURCE then
1290: x_return_status := FND_API.G_RET_STS_ERROR;
1291: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1292: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1293: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1294:
1292: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1293: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1294:
1295: when NO_DATA_FOUND then
1296: x_return_status := FND_API.G_RET_STS_ERROR;
1297: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1298: p_msg_name => 'PA_XC_RECORD_CHANGED');
1299: l_msg_data := 'PA_XC_RECORD_CHANGED';
1300:
1298: p_msg_name => 'PA_XC_RECORD_CHANGED');
1299: l_msg_data := 'PA_XC_RECORD_CHANGED';
1300:
1301: when OTHERS then
1302: x_return_status := FND_API.G_RET_STS_ERROR;
1303: IF SQLCODE = -54 THEN
1304: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1305: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1306: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1318: AND object_type = c_object_type
1319: AND record_version_number = p_record_version_number;
1320: EXCEPTION
1321: when NO_DATA_FOUND then
1322: x_return_status := FND_API.G_RET_STS_ERROR;
1323: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1324: p_msg_name => 'PA_XC_RECORD_CHANGED');
1325: l_msg_data := 'PA_XC_RECORD_CHANGED';
1326: when OTHERS then
1336: If l_msg_count > 0 THEN
1337: x_msg_count := l_msg_count;
1338: If l_msg_count = 1 THEN
1339: pa_interface_utils_pub.get_messages(
1340: p_encoded => FND_API.G_TRUE ,
1341: p_msg_index => 1 ,
1342: p_msg_count => l_msg_count ,
1343: p_msg_data => l_msg_data ,
1344: p_data => l_data ,
1345: p_msg_index_out => l_msg_index_out
1346: );
1347: x_msg_data := l_data;
1348: End if;
1349: RAISE FND_API.G_EXC_ERROR;
1350: End if;
1351:
1352: IF (p_debug_mode = 'Y') THEN
1353: pa_debug.debug('DELETE_LIFECYCLE_PVT.delete_lifecycle_phases:Calling PA_PROJ_ELEMENTS_PKG.delete_Row');
1416: IF l_msg_count > 0 THEN
1417: x_msg_count := l_msg_count;
1418: IF l_msg_count = 1 THEN
1419: pa_interface_utils_pub.get_messages(
1420: p_encoded => FND_API.G_TRUE ,
1421: p_msg_index => 1 ,
1422: p_msg_count => l_msg_count ,
1423: p_msg_data => l_msg_data ,
1424: p_data => l_data ,
1425: p_msg_index_out => l_msg_index_out
1426: );
1427: x_msg_data := l_data;
1428: End if;
1429: RAISE FND_API.G_EXC_ERROR;
1430: End if;
1431:
1432: x_return_status := FND_API.G_RET_STS_SUCCESS;
1433:
1428: End if;
1429: RAISE FND_API.G_EXC_ERROR;
1430: End if;
1431:
1432: x_return_status := FND_API.G_RET_STS_SUCCESS;
1433:
1434:
1435:
1436:
1434:
1435:
1436:
1437: EXCEPTION
1438: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1439: IF p_commit = FND_API.G_TRUE THEN
1440: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1441: END IF;
1442: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1435:
1436:
1437: EXCEPTION
1438: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1439: IF p_commit = FND_API.G_TRUE THEN
1440: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1441: END IF;
1442: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1443: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1438: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1439: IF p_commit = FND_API.G_TRUE THEN
1440: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1441: END IF;
1442: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1443: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1444: p_procedure_name => 'delete_lifecycle_phase',
1445: p_error_text => SUBSTRB(SQLERRM,1,240));
1446: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1442: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1443: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1444: p_procedure_name => 'delete_lifecycle_phase',
1445: p_error_text => SUBSTRB(SQLERRM,1,240));
1446: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1447:
1448: WHEN FND_API.G_EXC_ERROR THEN
1449: x_return_status := FND_API.G_RET_STS_ERROR;
1450: IF p_commit = FND_API.G_TRUE THEN
1444: p_procedure_name => 'delete_lifecycle_phase',
1445: p_error_text => SUBSTRB(SQLERRM,1,240));
1446: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1447:
1448: WHEN FND_API.G_EXC_ERROR THEN
1449: x_return_status := FND_API.G_RET_STS_ERROR;
1450: IF p_commit = FND_API.G_TRUE THEN
1451: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1452: END IF;
1445: p_error_text => SUBSTRB(SQLERRM,1,240));
1446: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1447:
1448: WHEN FND_API.G_EXC_ERROR THEN
1449: x_return_status := FND_API.G_RET_STS_ERROR;
1450: IF p_commit = FND_API.G_TRUE THEN
1451: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1452: END IF;
1453:
1446: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1447:
1448: WHEN FND_API.G_EXC_ERROR THEN
1449: x_return_status := FND_API.G_RET_STS_ERROR;
1450: IF p_commit = FND_API.G_TRUE THEN
1451: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1452: END IF;
1453:
1454:
1452: END IF;
1453:
1454:
1455: WHEN OTHERS THEN
1456: IF p_commit = FND_API.G_TRUE THEN
1457: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1458: END IF;
1459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1460: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1455: WHEN OTHERS THEN
1456: IF p_commit = FND_API.G_TRUE THEN
1457: ROLLBACK TO LCYL_DEL_PHASE_PVT;
1458: END IF;
1459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1460: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1461: p_procedure_name => 'delete_lifecycle_phase',
1462: p_error_text => SUBSTRB(SQLERRM,1,240));
1463: raise;
1533: pa_debug.debug('CREATE_LIFECYCLE_PVT.check_delete_lifecycle_ok: Inside check_delete_lifecycle_ok...');
1534: END IF;
1535:
1536:
1537: IF NOT FND_API.COMPATIBLE_API_CALL(
1538: l_api_version ,
1539: p_api_version ,
1540: l_api_name ,
1541: g_pkg_name
1540: l_api_name ,
1541: g_pkg_name
1542: )
1543: THEN
1544: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1545: END IF;
1546:
1547: x_return_status := FND_API.G_RET_STS_SUCCESS;
1548:
1543: THEN
1544: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1545: END IF;
1546:
1547: x_return_status := FND_API.G_RET_STS_SUCCESS;
1548:
1549: IF(p_debug_mode = 'Y') THEN
1550: pa_debug.debug('CREATE_LIFECYCLE_PVT.check_delete_lifecycle_ok: Checking for valid parameters..');
1551: END IF;
1581: If l_msg_count > 0 THEN
1582: x_msg_count := l_msg_count;
1583: If l_msg_count = 1 THEN
1584: pa_interface_utils_pub.get_messages(
1585: p_encoded => FND_API.G_TRUE ,
1586: p_msg_index => 1 ,
1587: p_msg_count => l_msg_count ,
1588: p_msg_data => l_msg_data ,
1589: p_data => l_data ,
1590: p_msg_index_out => l_msg_index_out
1591: );
1592: x_msg_data := l_data;
1593: End if;
1594: RAISE FND_API.G_EXC_ERROR;
1595: End if;
1596:
1597: x_del_lifecycle_ok:=FND_API.G_TRUE;
1598:
1593: End if;
1594: RAISE FND_API.G_EXC_ERROR;
1595: End if;
1596:
1597: x_del_lifecycle_ok:=FND_API.G_TRUE;
1598:
1599: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1601: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1595: End if;
1596:
1597: x_del_lifecycle_ok:=FND_API.G_TRUE;
1598:
1599: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1601: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1602: p_procedure_name => 'delete_lifecycle_phase_ok',
1603: p_error_text => SUBSTRB(SQLERRM,1,240));
1596:
1597: x_del_lifecycle_ok:=FND_API.G_TRUE;
1598:
1599: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1601: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1602: p_procedure_name => 'delete_lifecycle_phase_ok',
1603: p_error_text => SUBSTRB(SQLERRM,1,240));
1604:
1602: p_procedure_name => 'delete_lifecycle_phase_ok',
1603: p_error_text => SUBSTRB(SQLERRM,1,240));
1604:
1605:
1606: WHEN FND_API.G_EXC_ERROR THEN
1607: x_return_status := FND_API.G_RET_STS_ERROR;
1608:
1609: WHEN OTHERS THEN
1610: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1603: p_error_text => SUBSTRB(SQLERRM,1,240));
1604:
1605:
1606: WHEN FND_API.G_EXC_ERROR THEN
1607: x_return_status := FND_API.G_RET_STS_ERROR;
1608:
1609: WHEN OTHERS THEN
1610: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1611: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1606: WHEN FND_API.G_EXC_ERROR THEN
1607: x_return_status := FND_API.G_RET_STS_ERROR;
1608:
1609: WHEN OTHERS THEN
1610: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1611: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
1612: p_procedure_name => 'delete_lifecycle_phase_ok',
1613: p_error_text => SUBSTRB(SQLERRM,1,240));
1614: raise;
1620: +-----------------------------------------------------------*/
1621:
1622: PROCEDURE update_lifecycle (
1623: p_api_version IN NUMBER :=1.0 ,
1624: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
1625: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
1626: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
1627: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
1628: p_debug_mode IN VARCHAR2 :='N' ,
1621:
1622: PROCEDURE update_lifecycle (
1623: p_api_version IN NUMBER :=1.0 ,
1624: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
1625: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
1626: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
1627: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
1628: p_debug_mode IN VARCHAR2 :='N' ,
1629: p_max_msg_count IN NUMBER :=G_MISS_NUM ,
1622: PROCEDURE update_lifecycle (
1623: p_api_version IN NUMBER :=1.0 ,
1624: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
1625: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
1626: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
1627: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
1628: p_debug_mode IN VARCHAR2 :='N' ,
1629: p_max_msg_count IN NUMBER :=G_MISS_NUM ,
1630: P_lifecycle_id IN NUMBER ,
1707: IF(p_debug_mode = 'Y') THEN
1708: pa_debug.debug('PA_LIFECYCLES_PVT.Update_Lifecycle: Inside update_lifecycle...');
1709: END IF;
1710:
1711: IF(p_commit = FND_API.G_TRUE) THEN
1712: SAVEPOINT LCYL_UPDATE_LIFECYCLE_PVT;
1713: END IF;
1714:
1715: IF(p_debug_mode = 'Y') THEN
1715: IF(p_debug_mode = 'Y') THEN
1716: pa_debug.debug('PA_LIFECYCLES_PVT.Update_Lifecycle: Checking api compatibility...');
1717: END IF;
1718:
1719: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
1720: p_api_version,
1721: l_api_name,
1722: g_pkg_name)
1723: THEN
1720: p_api_version,
1721: l_api_name,
1722: g_pkg_name)
1723: THEN
1724: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1725: END IF;
1726:
1727: x_return_status := FND_API.G_RET_STS_SUCCESS;
1728:
1723: THEN
1724: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1725: END IF;
1726:
1727: x_return_status := FND_API.G_RET_STS_SUCCESS;
1728:
1729:
1730: OPEN l_row_proj_element_versions;
1731: FETCH l_row_proj_element_versions into l_element_version_id;
1774: PA_UTILS.ADD_MESSAGE(
1775: p_app_short_name => 'PA',
1776: p_msg_name => 'PA_LCYL_PRJ_USG_CHG_NOT_ALWD');
1777: x_msg_data := 'PA_LCYL_PRJ_USG_CHG_NOT_ALWD';
1778: x_return_status := FND_API.G_RET_STS_ERROR;
1779: END IF;
1780: END IF;
1781:
1782: -- Similar check for item category also has to be made as done above for workplan
1804: If l_msg_count > 0 THEN
1805: x_msg_count := l_msg_count;
1806: If l_msg_count = 1 THEN
1807: pa_interface_utils_pub.get_messages
1808: (p_encoded => FND_API.G_TRUE ,
1809: p_msg_index => 1,
1810: p_msg_count => l_msg_count ,
1811: p_msg_data => l_msg_data,
1812: p_data => l_data,
1812: p_data => l_data,
1813: p_msg_index_out => l_msg_index_out );
1814: x_msg_data := l_data;
1815: End if;
1816: RAISE FND_API.G_EXC_ERROR;
1817: End if;
1818:
1819: IF (p_debug_mode = 'Y') THEN
1820: pa_debug.debug('PA_LIFECYCLES_PVT.Update_Lifecycle: After checking message count and applying locking ');
1819: IF (p_debug_mode = 'Y') THEN
1820: pa_debug.debug('PA_LIFECYCLES_PVT.Update_Lifecycle: After checking message count and applying locking ');
1821: END IF;
1822:
1823: IF (p_validate_only <> FND_API.G_TRUE) THEN
1824: BEGIN
1825: --lock
1826: select rowid into l_rowid
1827: from pa_proj_elements
1833:
1834: EXCEPTION
1835:
1836: when TIMEOUT_ON_RESOURCE then
1837: x_return_status := FND_API.G_RET_STS_ERROR;
1838: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1839: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1840: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1841:
1839: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1840: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
1841:
1842: when NO_DATA_FOUND then
1843: x_return_status := FND_API.G_RET_STS_ERROR;
1844: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1845: p_msg_name => 'PA_XC_RECORD_CHANGED');
1846: l_msg_data := 'PA_XC_RECORD_CHANGED';
1847:
1845: p_msg_name => 'PA_XC_RECORD_CHANGED');
1846: l_msg_data := 'PA_XC_RECORD_CHANGED';
1847:
1848: when OTHERS then
1849: x_return_status := FND_API.G_RET_STS_ERROR;
1850: IF SQLCODE = -54 then
1851:
1852: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1853: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
1867:
1868: EXCEPTION
1869:
1870: when NO_DATA_FOUND then
1871: x_return_status := FND_API.G_RET_STS_ERROR;
1872: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1873: p_msg_name => 'PA_XC_RECORD_CHANGED');
1874: l_msg_data := 'PA_XC_RECORD_CHANGED';
1875:
1883: If l_msg_count > 0 THEN
1884: x_msg_count := l_msg_count;
1885: If l_msg_count = 1 THEN
1886: pa_interface_utils_pub.get_messages
1887: (p_encoded => FND_API.G_TRUE ,
1888: p_msg_index => 1,
1889: p_msg_count => l_msg_count ,
1890: p_msg_data => l_msg_data,
1891: p_data => l_data,
1891: p_data => l_data,
1892: p_msg_index_out => l_msg_index_out );
1893: x_msg_data := l_data;
1894: End if;
1895: RAISE FND_API.G_EXC_ERROR;
1896: End if;
1897:
1898: IF(p_debug_mode = 'Y') THEN
1899: pa_debug.debug('PA_LIFECYCLES_PVT.Update_Lifecycle:Inserting into pa_proj_elements...');
2028: END IF;
2029:
2030: EXCEPTION
2031:
2032: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2033: IF p_commit = FND_API.G_TRUE THEN
2034: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2035: END IF;
2036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2029:
2030: EXCEPTION
2031:
2032: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2033: IF p_commit = FND_API.G_TRUE THEN
2034: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2035: END IF;
2036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2037: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2032: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2033: IF p_commit = FND_API.G_TRUE THEN
2034: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2035: END IF;
2036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2037: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2038: p_procedure_name => 'UPDATE_LIFECYCLE',
2039: p_error_text => SUBSTRB(SQLERRM,1,240));
2040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2037: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2038: p_procedure_name => 'UPDATE_LIFECYCLE',
2039: p_error_text => SUBSTRB(SQLERRM,1,240));
2040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041:
2042: WHEN FND_API.G_EXC_ERROR THEN
2043: x_return_status := FND_API.G_RET_STS_ERROR;
2044: IF p_commit = FND_API.G_TRUE THEN
2038: p_procedure_name => 'UPDATE_LIFECYCLE',
2039: p_error_text => SUBSTRB(SQLERRM,1,240));
2040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041:
2042: WHEN FND_API.G_EXC_ERROR THEN
2043: x_return_status := FND_API.G_RET_STS_ERROR;
2044: IF p_commit = FND_API.G_TRUE THEN
2045: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2046: END IF;
2039: p_error_text => SUBSTRB(SQLERRM,1,240));
2040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041:
2042: WHEN FND_API.G_EXC_ERROR THEN
2043: x_return_status := FND_API.G_RET_STS_ERROR;
2044: IF p_commit = FND_API.G_TRUE THEN
2045: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2046: END IF;
2047:
2040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041:
2042: WHEN FND_API.G_EXC_ERROR THEN
2043: x_return_status := FND_API.G_RET_STS_ERROR;
2044: IF p_commit = FND_API.G_TRUE THEN
2045: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2046: END IF;
2047:
2048:
2046: END IF;
2047:
2048:
2049: WHEN OTHERS THEN
2050: IF p_commit = FND_API.G_TRUE THEN
2051: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2052: END IF;
2053: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2054: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2049: WHEN OTHERS THEN
2050: IF p_commit = FND_API.G_TRUE THEN
2051: ROLLBACK TO LCYL_UPDATE_LIFECYCLE_PVT;
2052: END IF;
2053: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2054: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2055: p_procedure_name => 'UPDATE_LIFECYCLE',
2056: p_error_text => SUBSTRB(SQLERRM,1,240));
2057: raise;
2063: +-----------------------------------------------------------*/
2064:
2065: PROCEDURE update_lifecycle_phase (
2066: P_api_version IN NUMBER :=1.0 ,
2067: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
2068: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
2069: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
2070: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
2071: p_debug_mode IN VARCHAR2 :='N' ,
2064:
2065: PROCEDURE update_lifecycle_phase (
2066: P_api_version IN NUMBER :=1.0 ,
2067: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
2068: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
2069: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
2070: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
2071: p_debug_mode IN VARCHAR2 :='N' ,
2072: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
2065: PROCEDURE update_lifecycle_phase (
2066: P_api_version IN NUMBER :=1.0 ,
2067: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
2068: p_validate_only IN VARCHAR2 :=FND_API.G_TRUE ,
2069: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL ,
2070: p_calling_module IN VARCHAR2 :='SELF_SERVICE' ,
2071: p_debug_mode IN VARCHAR2 :='N' ,
2072: P_max_msg_count IN NUMBER :=G_MISS_NUM ,
2073: P_lifecycle_id IN NUMBER ,
2135: IF(p_debug_mode = 'Y') THEN
2136: pa_debug.debug('PA_LIFECYCLES_PVT.update_lifecycle_phase: Checking api compatibility...');
2137: END IF;
2138:
2139: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2140: p_api_version,
2141: l_api_name,
2142: g_pkg_name)
2143: THEN
2140: p_api_version,
2141: l_api_name,
2142: g_pkg_name)
2143: THEN
2144: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2145: END IF;
2146:
2147: IF(p_commit = FND_API.G_TRUE) THEN
2148: SAVEPOINT LCYL_UPD_LCYL_PHASE_PVT;
2143: THEN
2144: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2145: END IF;
2146:
2147: IF(p_commit = FND_API.G_TRUE) THEN
2148: SAVEPOINT LCYL_UPD_LCYL_PHASE_PVT;
2149: END IF;
2150:
2151: x_return_status := FND_API.G_RET_STS_SUCCESS;
2147: IF(p_commit = FND_API.G_TRUE) THEN
2148: SAVEPOINT LCYL_UPD_LCYL_PHASE_PVT;
2149: END IF;
2150:
2151: x_return_status := FND_API.G_RET_STS_SUCCESS;
2152:
2153: /*** NOte that we shd not check existing phase code, short name and sequence here, bcos user may want to
2154: swap two phases. This is JAva layer responsibility to take care ***/
2155:
2158: IF(p_debug_mode = 'Y') THEN
2159: pa_debug.debug('PA_LIFECYCLES_PVT.update_lifecycle_phase: Locking record ..');
2160: END IF;
2161:
2162: IF (p_validate_only <> FND_API.G_TRUE) THEN
2163: BEGIN
2164: --lock
2165: select rowid into l_rowid
2166: from pa_proj_elements
2172:
2173: EXCEPTION
2174:
2175: when TIMEOUT_ON_RESOURCE then
2176: x_return_status := FND_API.G_RET_STS_ERROR;
2177: PA_UTILS.ADD_MESSAGE(
2178: p_app_short_name => 'PA',
2179: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
2180: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
2179: p_msg_name => 'PA_XC_ROW_ALREADY_LOCKED');
2180: l_msg_data := 'PA_XC_ROW_ALREADY_LOCKED';
2181:
2182: when NO_DATA_FOUND then
2183: x_return_status := FND_API.G_RET_STS_ERROR;
2184: PA_UTILS.ADD_MESSAGE(
2185: p_app_short_name => 'PA',
2186: p_msg_name => 'PA_XC_RECORD_CHANGED');
2187: l_msg_data := 'PA_XC_RECORD_CHANGED';
2186: p_msg_name => 'PA_XC_RECORD_CHANGED');
2187: l_msg_data := 'PA_XC_RECORD_CHANGED';
2188:
2189: when OTHERS then
2190: x_return_status := FND_API.G_RET_STS_ERROR;
2191: IF SQLCODE = -54 then
2192:
2193: PA_UTILS.ADD_MESSAGE(
2194: p_app_short_name => 'PA',
2209:
2210: EXCEPTION
2211:
2212: when NO_DATA_FOUND then
2213: x_return_status := FND_API.G_RET_STS_ERROR;
2214: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
2215: p_msg_name => 'PA_XC_RECORD_CHANGED');
2216: l_msg_data := 'PA_XC_RECORD_CHANGED';
2217: when OTHERS then
2228: If l_msg_count > 0 THEN
2229: x_msg_count := l_msg_count;
2230: If l_msg_count = 1 THEN
2231: pa_interface_utils_pub.get_messages
2232: (p_encoded => FND_API.G_TRUE ,
2233: p_msg_index => 1,
2234: p_msg_count => l_msg_count ,
2235: p_msg_data => l_msg_data,
2236: p_data => l_data,
2236: p_data => l_data,
2237: p_msg_index_out => l_msg_index_out );
2238: x_msg_data := l_data;
2239: End if;
2240: RAISE FND_API.G_EXC_ERROR;
2241: End if;
2242:
2243: IF(p_debug_mode = 'Y') THEN
2244: pa_debug.debug('PA_LIFECYCLES_PVT.update_lifecycle_phase: Updating PA_PROJ_ELEMENTS...');
2344: If l_msg_count > 0 THEN
2345: x_msg_count := l_msg_count;
2346: If l_msg_count = 1 THEN
2347: pa_interface_utils_pub.get_messages(
2348: p_encoded => FND_API.G_TRUE ,
2349: p_msg_index => 1 ,
2350: p_msg_count => l_msg_count ,
2351: p_msg_data => l_msg_data ,
2352: p_data => l_data ,
2353: p_msg_index_out => l_msg_index_out
2354: );
2355: x_msg_data := l_data;
2356: End if;
2357: RAISE FND_API.G_EXC_ERROR;
2358: End if;
2359:
2360: x_return_status := FND_API.G_RET_STS_SUCCESS;
2361:
2356: End if;
2357: RAISE FND_API.G_EXC_ERROR;
2358: End if;
2359:
2360: x_return_status := FND_API.G_RET_STS_SUCCESS;
2361:
2362: IF FND_API.TO_BOOLEAN(P_COMMIT) THEN
2363: COMMIT;
2364: END IF;
2358: End if;
2359:
2360: x_return_status := FND_API.G_RET_STS_SUCCESS;
2361:
2362: IF FND_API.TO_BOOLEAN(P_COMMIT) THEN
2363: COMMIT;
2364: END IF;
2365:
2366: EXCEPTION
2364: END IF;
2365:
2366: EXCEPTION
2367:
2368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2369: IF p_commit = FND_API.G_TRUE THEN
2370: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2371: END IF;
2372: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2365:
2366: EXCEPTION
2367:
2368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2369: IF p_commit = FND_API.G_TRUE THEN
2370: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2371: END IF;
2372: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2373: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT' ,
2368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2369: IF p_commit = FND_API.G_TRUE THEN
2370: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2371: END IF;
2372: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2373: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT' ,
2374: p_procedure_name => 'update_lifecycle_phase' ,
2375: p_error_text => SUBSTRB(SQLERRM,1,240)
2376: );
2373: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT' ,
2374: p_procedure_name => 'update_lifecycle_phase' ,
2375: p_error_text => SUBSTRB(SQLERRM,1,240)
2376: );
2377: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2378:
2379: WHEN FND_API.G_EXC_ERROR THEN
2380: IF p_commit = FND_API.G_TRUE THEN
2381: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2375: p_error_text => SUBSTRB(SQLERRM,1,240)
2376: );
2377: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2378:
2379: WHEN FND_API.G_EXC_ERROR THEN
2380: IF p_commit = FND_API.G_TRUE THEN
2381: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2382: END IF;
2383: x_return_status := FND_API.G_RET_STS_ERROR;
2376: );
2377: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2378:
2379: WHEN FND_API.G_EXC_ERROR THEN
2380: IF p_commit = FND_API.G_TRUE THEN
2381: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2382: END IF;
2383: x_return_status := FND_API.G_RET_STS_ERROR;
2384:
2379: WHEN FND_API.G_EXC_ERROR THEN
2380: IF p_commit = FND_API.G_TRUE THEN
2381: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2382: END IF;
2383: x_return_status := FND_API.G_RET_STS_ERROR;
2384:
2385: WHEN OTHERS THEN
2386: IF p_commit = FND_API.G_TRUE THEN
2387: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2382: END IF;
2383: x_return_status := FND_API.G_RET_STS_ERROR;
2384:
2385: WHEN OTHERS THEN
2386: IF p_commit = FND_API.G_TRUE THEN
2387: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2388: END IF;
2389: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2390: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT' ,
2385: WHEN OTHERS THEN
2386: IF p_commit = FND_API.G_TRUE THEN
2387: ROLLBACK TO LCYL_UPD_LCYL_PHASE_PVT;
2388: END IF;
2389: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2390: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT' ,
2391: p_procedure_name => 'update_lifecycle_phase' ,
2392: p_error_text => SUBSTRB(SQLERRM,1,240));
2393: raise;
2426: c_project_type CONSTANT VARCHAR2(30) :='PROJECTS';
2427: c_product_type CONSTANT VARCHAR2(30) :='PRODUCTS';
2428: c_object_type CONSTANT VARCHAR2(30) := 'PA_TASKS';
2429: c_project_id CONSTANT NUMBER :=0;
2430: l_delete_ok VARCHAR2(1) := FND_API.G_TRUE;
2431: l_parent_elem_ver_id number;
2432: l_child_elem_ver_id number;
2433: BEGIN
2434:
2435: IF(p_debug_mode = 'Y') THEN
2436: pa_debug.debug('PA_LIFECYCLE PVT.check_delete_lcyl_phase_ok: Checking api compatibility...');
2437: END IF;
2438:
2439: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2440: p_api_version,
2441: l_api_name,
2442: g_pkg_name)
2443: THEN
2440: p_api_version,
2441: l_api_name,
2442: g_pkg_name)
2443: THEN
2444: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2445: END IF;
2446:
2447: begin
2448: select 'Y'
2505: END IF;
2506:
2507: IF(l_project_usage_exists = 'Y') then
2508: begin
2509: select FND_API.G_FALSE into l_delete_ok
2510: from sys.dual
2511: where exists(
2512: select 'xyz'
2513: from pa_proj_workplan_attr
2515: and current_phase_version_id = l_child_elem_ver_id);
2516:
2517: exception
2518: when NO_DATA_FOUND then
2519: l_delete_ok := FND_API.G_TRUE;
2520: END;
2521:
2522: IF l_delete_ok <> FND_API.G_TRUE THEN
2523: PA_UTILS.ADD_MESSAGE(
2518: when NO_DATA_FOUND then
2519: l_delete_ok := FND_API.G_TRUE;
2520: END;
2521:
2522: IF l_delete_ok <> FND_API.G_TRUE THEN
2523: PA_UTILS.ADD_MESSAGE(
2524: p_app_short_name => 'PA',
2525: p_msg_name => 'PA_LCYL_USED_CURR_PHASE');
2526: l_msg_data := 'PA_LCYL_USED_CURR_PHASE';
2523: PA_UTILS.ADD_MESSAGE(
2524: p_app_short_name => 'PA',
2525: p_msg_name => 'PA_LCYL_USED_CURR_PHASE');
2526: l_msg_data := 'PA_LCYL_USED_CURR_PHASE';
2527: x_return_status := FND_API.G_RET_STS_ERROR;
2528: x_delete_ok := l_delete_ok;
2529:
2530: ELSE
2531:
2529:
2530: ELSE
2531:
2532: BEGIN
2533: select FND_API.G_FALSE into l_delete_ok
2534: from sys.dual
2535: where exists(
2536: select 'xyz'
2537: from pa_proj_element_versions child
2543: and tasks.project_id <> 0
2544: and tasks.object_type = 'PA_TASKS');
2545: exception
2546: when no_data_found then
2547: l_delete_ok := FND_API.G_TRUE;
2548: end;
2549: IF l_delete_ok <> FND_API.G_TRUE THEN
2550: PA_UTILS.ADD_MESSAGE(
2551: p_app_short_name => 'PA',
2545: exception
2546: when no_data_found then
2547: l_delete_ok := FND_API.G_TRUE;
2548: end;
2549: IF l_delete_ok <> FND_API.G_TRUE THEN
2550: PA_UTILS.ADD_MESSAGE(
2551: p_app_short_name => 'PA',
2552: p_msg_name => 'PA_LCYL_PHASE_TASK_USED');
2553: l_msg_data := 'PA_LCYL_PHASE_TASK_USED';
2550: PA_UTILS.ADD_MESSAGE(
2551: p_app_short_name => 'PA',
2552: p_msg_name => 'PA_LCYL_PHASE_TASK_USED');
2553: l_msg_data := 'PA_LCYL_PHASE_TASK_USED';
2554: x_return_status := FND_API.G_RET_STS_ERROR;
2555: x_delete_ok := l_delete_ok;
2556: END IF;
2557:
2558: END IF;
2569: IF l_msg_count > 0 THEN
2570: x_msg_count := l_msg_count;
2571: IF l_msg_count = 1 THEN
2572: pa_interface_utils_pub.get_messages(
2573: p_encoded => FND_API.G_TRUE ,
2574: p_msg_index => 1 ,
2575: p_msg_count => l_msg_count ,
2576: p_msg_data => l_msg_data ,
2577: p_data => l_data ,
2578: p_msg_index_out => l_msg_index_out
2579: );
2580: x_msg_data := l_data;
2581: End if;
2582: RAISE FND_API.G_EXC_ERROR;
2583: End if;
2584:
2585: x_return_status := FND_API.G_RET_STS_SUCCESS;
2586:
2581: End if;
2582: RAISE FND_API.G_EXC_ERROR;
2583: End if;
2584:
2585: x_return_status := FND_API.G_RET_STS_SUCCESS;
2586:
2587:
2588: EXCEPTION
2589:
2586:
2587:
2588: EXCEPTION
2589:
2590: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2591: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2592: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2593: p_procedure_name => 'check_delete_lcyl_phase_ok',
2594: p_error_text => SUBSTRB(SQLERRM,1,240));
2587:
2588: EXCEPTION
2589:
2590: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2591: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2592: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2593: p_procedure_name => 'check_delete_lcyl_phase_ok',
2594: p_error_text => SUBSTRB(SQLERRM,1,240));
2595:
2592: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2593: p_procedure_name => 'check_delete_lcyl_phase_ok',
2594: p_error_text => SUBSTRB(SQLERRM,1,240));
2595:
2596: WHEN FND_API.G_EXC_ERROR THEN
2597: x_return_status := FND_API.G_RET_STS_ERROR;
2598:
2599: WHEN OTHERS THEN
2600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2593: p_procedure_name => 'check_delete_lcyl_phase_ok',
2594: p_error_text => SUBSTRB(SQLERRM,1,240));
2595:
2596: WHEN FND_API.G_EXC_ERROR THEN
2597: x_return_status := FND_API.G_RET_STS_ERROR;
2598:
2599: WHEN OTHERS THEN
2600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2601: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2596: WHEN FND_API.G_EXC_ERROR THEN
2597: x_return_status := FND_API.G_RET_STS_ERROR;
2598:
2599: WHEN OTHERS THEN
2600: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2601: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_LIFECYCLES_PVT',
2602: p_procedure_name => 'check_delete_lcyl_phase_ok',
2603: p_error_text => SUBSTRB(SQLERRM,1,240));
2604: raise;