89:
90: end if;
91: exception
92: when others then
93: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
94: Fnd_Msg_Pub.Add_Exc_Msg(
95: p_pkg_name => G_package_name,
96: p_procedure_name => l_api_name);
97: RAISE Fnd_Api.G_Exc_Unexpected_Error;
93: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
94: Fnd_Msg_Pub.Add_Exc_Msg(
95: p_pkg_name => G_package_name,
96: p_procedure_name => l_api_name);
97: RAISE Fnd_Api.G_Exc_Unexpected_Error;
98: end;
99: ---------------------------------------------------------------------------------------
100:
101: PROCEDURE copy_budget(p_proposal_id IN NUMBER
508: end if;
509: END LOOP;
510:
511: EXCEPTION
512: when FND_API.G_EXC_ERROR then
513: x_return_status := 'E';
514: x_msg_data := l_msg_data;
515: fnd_msg_pub.count_and_get(p_count => x_msg_count,
516: p_data => x_msg_data);
553: where proposal_id = p_proposal_id
554: and final_version_flag = 'Y';
555: exception
556: when no_data_found then
557: x_return_status := Fnd_Api.G_Ret_Sts_Error;
558: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_NO_FINAL_VERSION');
559: Fnd_Msg_Pub.Add;
560: RAISE FND_API.G_EXC_ERROR;
561: end;
556: when no_data_found then
557: x_return_status := Fnd_Api.G_Ret_Sts_Error;
558: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_NO_FINAL_VERSION');
559: Fnd_Msg_Pub.Add;
560: RAISE FND_API.G_EXC_ERROR;
561: end;
562:
563:
564: begin
581: ,x_msg_count => l_msg_count);
582:
583: if l_return_status <> 'S' then
584: x_return_status := 'E';
585: RAISE FND_API.G_EXC_ERROR;
586: end if;
587: end if;
588: end if;
589:
590: --following commit needed as it is called before rendering a screen
591: COMMIT;
592:
593: EXCEPTION
594: WHEN FND_API.G_EXC_ERROR THEN
595: x_return_status := 'E';
596: fnd_msg_pub.count_and_get(p_count => x_msg_count
597: ,p_data => x_msg_data);
598: rollback;
596: fnd_msg_pub.count_and_get(p_count => x_msg_count
597: ,p_data => x_msg_data);
598: rollback;
599: when others then
600: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
601: Fnd_Msg_Pub.Add_Exc_Msg(
602: p_pkg_name => G_package_name,
603: p_procedure_name => l_api_name);
604: fnd_msg_pub.count_and_get(p_count => x_msg_count
603: p_procedure_name => l_api_name);
604: fnd_msg_pub.count_and_get(p_count => x_msg_count
605: ,p_data => x_msg_data);
606: rollback;
607: RAISE Fnd_Api.G_Exc_Unexpected_Error;
608: END;
609: -----------------------------------------------------------------------------------------
610: procedure get_rate_class_id(p_rate_class_name IN VARCHAR2
611: , x_rate_class_id OUT NOCOPY NUMBER
620: where description = p_rate_class_name;
621:
622: exception
623: when no_data_found OR too_many_rows then
624: x_return_status := Fnd_Api.G_Ret_Sts_Error;
625: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_RATE_CLASS_INV');
626: Fnd_Msg_Pub.Add;
627: when others then
628: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
624: x_return_status := Fnd_Api.G_Ret_Sts_Error;
625: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_RATE_CLASS_INV');
626: Fnd_Msg_Pub.Add;
627: when others then
628: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
629: Fnd_Msg_Pub.Add_Exc_Msg(
630: p_pkg_name => G_package_name,
631: p_procedure_name => l_api_name);
632: RAISE Fnd_Api.G_Exc_Unexpected_Error;
628: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
629: Fnd_Msg_Pub.Add_Exc_Msg(
630: p_pkg_name => G_package_name,
631: p_procedure_name => l_api_name);
632: RAISE Fnd_Api.G_Exc_Unexpected_Error;
633: end; --get_rate_class_id
634: ------------------------------------------------------------------------------------------------
635:
636: procedure check_final_version(p_proposal_id IN NUMBER
650: and version_id <> nvl(p_version_id,0)
651: and final_version_flag = 'Y';
652:
653: if l_final_version_flag = 'Y' then
654: x_return_status := Fnd_Api.G_Ret_Sts_Error;
655: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_DUP_FINAL_VERSION');
656: Fnd_Msg_Pub.Add;
657: end if;
658:
659: exception
660: when no_data_found then
661: null;
662: when others then
663: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
664: Fnd_Msg_Pub.Add_Exc_Msg(
665: p_pkg_name => G_package_name,
666: p_procedure_name => l_api_name);
667: RAISE Fnd_Api.G_Exc_Unexpected_Error;
663: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
664: Fnd_Msg_Pub.Add_Exc_Msg(
665: p_pkg_name => G_package_name,
666: p_procedure_name => l_api_name);
667: RAISE Fnd_Api.G_Exc_Unexpected_Error;
668: end; --get_rate_class_id
669: ---------------------------------------------------------------------------------------
670: procedure validate_budget_entry(p_proposal_id IN NUMBER
671: ,p_version_id IN NUMBER
685: open c_budget_lines;
686: fetch c_budget_lines into l_line_item_id;
687: close c_budget_lines;
688: if l_line_item_id is not null then
689: x_return_status := Fnd_Api.G_Ret_Sts_Error;
690: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_LINES_EXIST');
691: Fnd_Msg_Pub.Add;
692: end if;
693:
692: end if;
693:
694: exception
695: when others then
696: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
697: Fnd_Msg_Pub.Add_Exc_Msg(
698: p_pkg_name => G_package_name,
699: p_procedure_name => l_api_name);
700: RAISE Fnd_Api.G_Exc_Unexpected_Error;
696: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
697: Fnd_Msg_Pub.Add_Exc_Msg(
698: p_pkg_name => G_package_name,
699: p_procedure_name => l_api_name);
700: RAISE Fnd_Api.G_Exc_Unexpected_Error;
701: end; --validate_budget_entry
702: --------------------------------------------------------------------------------
703:
704: procedure validate_sponsor_hierarchy(p_proposal_form_number IN VARCHAR2
712: from igw_report_seed_header_v
713: where proposal_form_number = p_proposal_form_number;
714: exception
715: when no_data_found OR too_many_rows then
716: x_return_status := Fnd_Api.G_Ret_Sts_Error;
717: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_SPONSOR_HIERAR_INV');
718: Fnd_Msg_Pub.Add;
719: when others then
720: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
716: x_return_status := Fnd_Api.G_Ret_Sts_Error;
717: Fnd_Message.Set_Name('IGW','IGW_SS_BUD_SPONSOR_HIERAR_INV');
718: Fnd_Msg_Pub.Add;
719: when others then
720: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
721: Fnd_Msg_Pub.Add_Exc_Msg(
722: p_pkg_name => G_package_name,
723: p_procedure_name => l_api_name);
724: RAISE Fnd_Api.G_Exc_Unexpected_Error;
720: x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
721: Fnd_Msg_Pub.Add_Exc_Msg(
722: p_pkg_name => G_package_name,
723: p_procedure_name => l_api_name);
724: RAISE Fnd_Api.G_Exc_Unexpected_Error;
725: end; --get_rate_class_id
726:
727: ----------------------------------------------------------------------------------
728: procedure create_budget_version
725: end; --get_rate_class_id
726:
727: ----------------------------------------------------------------------------------
728: procedure create_budget_version
729: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
730: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
731: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
732: ,p_proposal_id NUMBER
733: ,p_version_id NUMBER
726:
727: ----------------------------------------------------------------------------------
728: procedure create_budget_version
729: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
730: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
731: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
732: ,p_proposal_id NUMBER
733: ,p_version_id NUMBER
734: ,p_start_date DATE := null
727: ----------------------------------------------------------------------------------
728: procedure create_budget_version
729: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
730: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
731: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
732: ,p_proposal_id NUMBER
733: ,p_version_id NUMBER
734: ,p_start_date DATE := null
735: ,p_end_date DATE := null
785: l_data VARCHAR2(250);
786: l_msg_index_out NUMBER;
787:
788: BEGIN
789: IF p_commit = FND_API.G_TRUE THEN
790: SAVEPOINT create_budget_version;
791: END IF;
792:
793: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
789: IF p_commit = FND_API.G_TRUE THEN
790: SAVEPOINT create_budget_version;
791: END IF;
792:
793: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
794: fnd_msg_pub.initialize;
795: end if;
796:
797: --checking for duplicate final version
796:
797: --checking for duplicate final version
798: if p_final_version_flag = 'Y' then
799: check_final_version(p_proposal_id, l_version_id, l_return_status);
800: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
801: x_return_status := 'E';
802: END IF;
803: end if;
804:
813: get_rate_class_id(p_rate_class_name => p_oh_rate_class_name
814: ,x_rate_class_id => l_rate_class_id
815: ,x_return_status => l_return_status);
816:
817: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
818: x_return_status := 'E';
819: END IF;
820: END IF;
821: */
824: validate_sponsor_hierarchy(p_proposal_form_number
825: ,l_proposal_form_number
826: ,x_return_status );
827:
828: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
829: x_return_status := 'E';
830: END IF;
831:
832: l_msg_count := FND_MSG_PUB.count_msg;
833: If l_msg_count > 0 THEN
834: x_msg_count := l_msg_count;
835: If l_msg_count = 1 THEN
836: fnd_msg_pub.get
837: (p_encoded => FND_API.G_TRUE ,
838: p_msg_index => 1,
839: p_data => l_data,
840: p_msg_index_out => l_msg_index_out );
841:
840: p_msg_index_out => l_msg_index_out );
841:
842: x_msg_data := l_data;
843: End if;
844: RAISE FND_API.G_EXC_ERROR;
845: End if;
846:
847: x_return_status := 'S';
848:
845: End if;
846:
847: x_return_status := 'S';
848:
849: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
850:
851: begin
852: select proposal_start_date, proposal_end_date
853: into l_start_date, l_end_date
973: If l_msg_count > 0 THEN
974: x_msg_count := l_msg_count;
975: If l_msg_count = 1 THEN
976: fnd_msg_pub.get
977: (p_encoded => FND_API.G_TRUE ,
978: p_msg_index => 1,
979: p_data => l_data,
980: p_msg_index_out => l_msg_index_out );
981:
980: p_msg_index_out => l_msg_index_out );
981:
982: x_msg_data := l_data;
983: End if;
984: RAISE FND_API.G_EXC_ERROR;
985: End if;
986:
987: x_return_status := FND_API.G_RET_STS_SUCCESS;
988:
983: End if;
984: RAISE FND_API.G_EXC_ERROR;
985: End if;
986:
987: x_return_status := FND_API.G_RET_STS_SUCCESS;
988:
989: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
990: IF p_commit = FND_API.G_TRUE THEN
991: ROLLBACK TO create_budget_version;
985: End if;
986:
987: x_return_status := FND_API.G_RET_STS_SUCCESS;
988:
989: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
990: IF p_commit = FND_API.G_TRUE THEN
991: ROLLBACK TO create_budget_version;
992: END IF;
993: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
986:
987: x_return_status := FND_API.G_RET_STS_SUCCESS;
988:
989: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
990: IF p_commit = FND_API.G_TRUE THEN
991: ROLLBACK TO create_budget_version;
992: END IF;
993: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
994: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
989: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
990: IF p_commit = FND_API.G_TRUE THEN
991: ROLLBACK TO create_budget_version;
992: END IF;
993: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
994: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
995: p_procedure_name => l_api_name,
996: p_error_text => SUBSTRB(SQLERRM,1,240));
997: fnd_msg_pub.count_and_get(p_count => x_msg_count
995: p_procedure_name => l_api_name,
996: p_error_text => SUBSTRB(SQLERRM,1,240));
997: fnd_msg_pub.count_and_get(p_count => x_msg_count
998: ,p_data => x_msg_data);
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1000:
1001: WHEN FND_API.G_EXC_ERROR THEN
1002: IF p_commit = FND_API.G_TRUE THEN
1003: ROLLBACK TO create_budget_version;
997: fnd_msg_pub.count_and_get(p_count => x_msg_count
998: ,p_data => x_msg_data);
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1000:
1001: WHEN FND_API.G_EXC_ERROR THEN
1002: IF p_commit = FND_API.G_TRUE THEN
1003: ROLLBACK TO create_budget_version;
1004: END IF;
1005: x_return_status := 'E';
998: ,p_data => x_msg_data);
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1000:
1001: WHEN FND_API.G_EXC_ERROR THEN
1002: IF p_commit = FND_API.G_TRUE THEN
1003: ROLLBACK TO create_budget_version;
1004: END IF;
1005: x_return_status := 'E';
1006:
1004: END IF;
1005: x_return_status := 'E';
1006:
1007: WHEN OTHERS THEN
1008: IF p_commit = FND_API.G_TRUE THEN
1009: ROLLBACK TO create_budget_version;
1010: END IF;
1011: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1012: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1007: WHEN OTHERS THEN
1008: IF p_commit = FND_API.G_TRUE THEN
1009: ROLLBACK TO create_budget_version;
1010: END IF;
1011: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1012: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1013: p_procedure_name => l_api_name,
1014: p_error_text => SUBSTRB(SQLERRM,1,240));
1015: fnd_msg_pub.count_and_get(p_count => x_msg_count
1021:
1022:
1023: ------------------------------------------------------------------------------------------
1024: procedure update_budget_version
1025: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1026: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1027: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1028: ,p_proposal_id NUMBER
1029: ,p_version_id NUMBER
1022:
1023: ------------------------------------------------------------------------------------------
1024: procedure update_budget_version
1025: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1026: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1027: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1028: ,p_proposal_id NUMBER
1029: ,p_version_id NUMBER
1030: ,p_start_date DATE
1023: ------------------------------------------------------------------------------------------
1024: procedure update_budget_version
1025: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1026: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1027: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1028: ,p_proposal_id NUMBER
1029: ,p_version_id NUMBER
1030: ,p_start_date DATE
1031: ,p_end_date DATE
1084: l_dummy VARCHAR2(1);
1085:
1086:
1087: BEGIN
1088: IF p_commit = FND_API.G_TRUE THEN
1089: SAVEPOINT update_budget_version;
1090: END IF;
1091:
1092: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
1088: IF p_commit = FND_API.G_TRUE THEN
1089: SAVEPOINT update_budget_version;
1090: END IF;
1091:
1092: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
1093: fnd_msg_pub.initialize;
1094: end if;
1095:
1096: x_return_status := 'S';
1098:
1099: --checking for duplicate final version
1100: if p_final_version_flag = 'Y' then
1101: check_final_version(p_proposal_id, p_version_id, l_return_status);
1102: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1103: x_return_status := 'E';
1104: END IF;
1105: end if;
1106:
1115: get_rate_class_id(p_rate_class_name => p_oh_rate_class_name
1116: ,x_rate_class_id => l_rate_class_id
1117: ,x_return_status => l_return_status);
1118:
1119: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1120: x_return_status := 'E';
1121: END IF;
1122: END IF;
1123: */
1137: ,p_start_date => nvl(p_start_date, sysdate-1)
1138: ,p_end_date => nvl(p_end_date, sysdate+1)
1139: ,x_return_status => l_return_status);
1140:
1141: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1142: x_return_status := 'E';
1143: END IF;
1144:
1145: validate_sponsor_hierarchy(p_proposal_form_number
1145: validate_sponsor_hierarchy(p_proposal_form_number
1146: ,l_proposal_form_number
1147: ,x_return_status );
1148:
1149: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1150: x_return_status := 'E';
1151: END IF;
1152:
1153: --validate budget entry
1152:
1153: --validate budget entry
1154: if p_enter_budget_at_period_level = 'Y' then
1155: validate_budget_entry(p_proposal_id, p_version_id, l_return_status);
1156: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1157: x_return_status := 'E';
1158: END IF;
1159: end if;
1160:
1162: If l_msg_count > 0 THEN
1163: x_msg_count := l_msg_count;
1164: If l_msg_count = 1 THEN
1165: fnd_msg_pub.get
1166: (p_encoded => FND_API.G_TRUE ,
1167: p_msg_index => 1,
1168: p_data => l_data,
1169: p_msg_index_out => l_msg_index_out );
1170:
1169: p_msg_index_out => l_msg_index_out );
1170:
1171: x_msg_data := l_data;
1172: End if;
1173: RAISE FND_API.G_EXC_ERROR;
1174: End if;
1175:
1176: BEGIN
1177: SELECT 'x' INTO l_dummy
1193: x_msg_count := l_msg_count;
1194: x_return_status := 'E';
1195: If l_msg_count = 1 THEN
1196: fnd_msg_pub.get
1197: (p_encoded => FND_API.G_TRUE ,
1198: p_msg_index => 1,
1199: p_data => l_data,
1200: p_msg_index_out => l_msg_index_out );
1201:
1200: p_msg_index_out => l_msg_index_out );
1201:
1202: x_msg_data := l_data;
1203: End if;
1204: RAISE FND_API.G_EXC_ERROR;
1205: END IF;
1206:
1207: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
1208:
1203: End if;
1204: RAISE FND_API.G_EXC_ERROR;
1205: END IF;
1206:
1207: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
1208:
1209: igw_budgets_tbh.update_row(
1210: p_rowid => p_rowid
1211: ,p_proposal_id => p_proposal_id
1276: If l_msg_count > 0 THEN
1277: x_msg_count := l_msg_count;
1278: If l_msg_count = 1 THEN
1279: fnd_msg_pub.get
1280: (p_encoded => FND_API.G_TRUE ,
1281: p_msg_index => 1,
1282: p_data => l_data,
1283: p_msg_index_out => l_msg_index_out );
1284:
1283: p_msg_index_out => l_msg_index_out );
1284:
1285: x_msg_data := l_data;
1286: End if;
1287: RAISE FND_API.G_EXC_ERROR;
1288: End if;
1289:
1290: x_return_status := FND_API.G_RET_STS_SUCCESS;
1291:
1286: End if;
1287: RAISE FND_API.G_EXC_ERROR;
1288: End if;
1289:
1290: x_return_status := FND_API.G_RET_STS_SUCCESS;
1291:
1292: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1293: IF p_commit = FND_API.G_TRUE THEN
1294: ROLLBACK TO update_budget_version;
1288: End if;
1289:
1290: x_return_status := FND_API.G_RET_STS_SUCCESS;
1291:
1292: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1293: IF p_commit = FND_API.G_TRUE THEN
1294: ROLLBACK TO update_budget_version;
1295: END IF;
1296: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1289:
1290: x_return_status := FND_API.G_RET_STS_SUCCESS;
1291:
1292: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1293: IF p_commit = FND_API.G_TRUE THEN
1294: ROLLBACK TO update_budget_version;
1295: END IF;
1296: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1297: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1292: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1293: IF p_commit = FND_API.G_TRUE THEN
1294: ROLLBACK TO update_budget_version;
1295: END IF;
1296: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1297: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1298: p_procedure_name => l_api_name,
1299: p_error_text => SUBSTRB(SQLERRM,1,240));
1300: fnd_msg_pub.count_and_get(p_count => x_msg_count
1298: p_procedure_name => l_api_name,
1299: p_error_text => SUBSTRB(SQLERRM,1,240));
1300: fnd_msg_pub.count_and_get(p_count => x_msg_count
1301: ,p_data => x_msg_data);
1302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1303:
1304: WHEN FND_API.G_EXC_ERROR THEN
1305: IF p_commit = FND_API.G_TRUE THEN
1306: ROLLBACK TO update_budget_version;
1300: fnd_msg_pub.count_and_get(p_count => x_msg_count
1301: ,p_data => x_msg_data);
1302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1303:
1304: WHEN FND_API.G_EXC_ERROR THEN
1305: IF p_commit = FND_API.G_TRUE THEN
1306: ROLLBACK TO update_budget_version;
1307: END IF;
1308: x_return_status := 'E';
1301: ,p_data => x_msg_data);
1302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1303:
1304: WHEN FND_API.G_EXC_ERROR THEN
1305: IF p_commit = FND_API.G_TRUE THEN
1306: ROLLBACK TO update_budget_version;
1307: END IF;
1308: x_return_status := 'E';
1309:
1307: END IF;
1308: x_return_status := 'E';
1309:
1310: WHEN OTHERS THEN
1311: IF p_commit = FND_API.G_TRUE THEN
1312: ROLLBACK TO update_budget_version;
1313: END IF;
1314: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1315: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1310: WHEN OTHERS THEN
1311: IF p_commit = FND_API.G_TRUE THEN
1312: ROLLBACK TO update_budget_version;
1313: END IF;
1314: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1315: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1316: p_procedure_name => l_api_name,
1317: p_error_text => SUBSTRB(SQLERRM,1,240));
1318: fnd_msg_pub.count_and_get(p_count => x_msg_count
1323:
1324: -------------------------------------------------------------------------------------------
1325:
1326: procedure delete_budget_version
1327: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1328: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1329: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1330: ,p_proposal_id IN NUMBER
1331: ,p_version_id IN NUMBER
1324: -------------------------------------------------------------------------------------------
1325:
1326: procedure delete_budget_version
1327: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1328: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1329: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1330: ,p_proposal_id IN NUMBER
1331: ,p_version_id IN NUMBER
1332: ,p_record_version_number IN NUMBER
1325:
1326: procedure delete_budget_version
1327: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
1328: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1329: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
1330: ,p_proposal_id IN NUMBER
1331: ,p_version_id IN NUMBER
1332: ,p_record_version_number IN NUMBER
1333: ,p_rowid IN ROWID
1344:
1345:
1346:
1347: BEGIN
1348: IF p_commit = FND_API.G_TRUE THEN
1349: SAVEPOINT delete_budget_version;
1350: END IF;
1351:
1352: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
1348: IF p_commit = FND_API.G_TRUE THEN
1349: SAVEPOINT delete_budget_version;
1350: END IF;
1351:
1352: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
1353: fnd_msg_pub.initialize;
1354: end if;
1355:
1356: x_return_status := 'S';
1375: x_msg_count := l_msg_count;
1376: x_return_status := 'E';
1377: If l_msg_count = 1 THEN
1378: fnd_msg_pub.get
1379: (p_encoded => FND_API.G_TRUE ,
1380: p_msg_index => 1,
1381: p_data => l_data,
1382: p_msg_index_out => l_msg_index_out );
1383:
1382: p_msg_index_out => l_msg_index_out );
1383:
1384: x_msg_data := l_data;
1385: End if;
1386: RAISE FND_API.G_EXC_ERROR;
1387: END IF;
1388:
1389: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
1390:
1385: End if;
1386: RAISE FND_API.G_EXC_ERROR;
1387: END IF;
1388:
1389: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
1390:
1391: igw_budgets_tbh.delete_row (
1392: p_rowid => p_rowid,
1393: p_proposal_id => p_proposal_id,
1409: If l_msg_count > 0 THEN
1410: x_msg_count := l_msg_count;
1411: If l_msg_count = 1 THEN
1412: fnd_msg_pub.get
1413: (p_encoded => FND_API.G_TRUE ,
1414: p_msg_index => 1,
1415: p_data => l_data,
1416: p_msg_index_out => l_msg_index_out );
1417:
1416: p_msg_index_out => l_msg_index_out );
1417:
1418: x_msg_data := l_data;
1419: End if;
1420: RAISE FND_API.G_EXC_ERROR;
1421: End if;
1422:
1423: x_return_status := FND_API.G_RET_STS_SUCCESS;
1424:
1419: End if;
1420: RAISE FND_API.G_EXC_ERROR;
1421: End if;
1422:
1423: x_return_status := FND_API.G_RET_STS_SUCCESS;
1424:
1425: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1426: IF p_commit = FND_API.G_TRUE THEN
1427: ROLLBACK TO delete_budget_version;
1421: End if;
1422:
1423: x_return_status := FND_API.G_RET_STS_SUCCESS;
1424:
1425: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1426: IF p_commit = FND_API.G_TRUE THEN
1427: ROLLBACK TO delete_budget_version;
1428: END IF;
1429: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1422:
1423: x_return_status := FND_API.G_RET_STS_SUCCESS;
1424:
1425: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1426: IF p_commit = FND_API.G_TRUE THEN
1427: ROLLBACK TO delete_budget_version;
1428: END IF;
1429: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1430: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1425: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1426: IF p_commit = FND_API.G_TRUE THEN
1427: ROLLBACK TO delete_budget_version;
1428: END IF;
1429: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1430: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1431: p_procedure_name => l_api_name,
1432: p_error_text => SUBSTRB(SQLERRM,1,240));
1433: fnd_msg_pub.count_and_get(p_count => x_msg_count
1431: p_procedure_name => l_api_name,
1432: p_error_text => SUBSTRB(SQLERRM,1,240));
1433: fnd_msg_pub.count_and_get(p_count => x_msg_count
1434: ,p_data => x_msg_data);
1435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1436:
1437: WHEN FND_API.G_EXC_ERROR THEN
1438: IF p_commit = FND_API.G_TRUE THEN
1439: ROLLBACK TO delete_budget_version;
1433: fnd_msg_pub.count_and_get(p_count => x_msg_count
1434: ,p_data => x_msg_data);
1435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1436:
1437: WHEN FND_API.G_EXC_ERROR THEN
1438: IF p_commit = FND_API.G_TRUE THEN
1439: ROLLBACK TO delete_budget_version;
1440: END IF;
1441: x_return_status := 'E';
1434: ,p_data => x_msg_data);
1435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1436:
1437: WHEN FND_API.G_EXC_ERROR THEN
1438: IF p_commit = FND_API.G_TRUE THEN
1439: ROLLBACK TO delete_budget_version;
1440: END IF;
1441: x_return_status := 'E';
1442:
1440: END IF;
1441: x_return_status := 'E';
1442:
1443: WHEN OTHERS THEN
1444: IF p_commit = FND_API.G_TRUE THEN
1445: ROLLBACK TO delete_budget_version;
1446: END IF;
1447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1448: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1443: WHEN OTHERS THEN
1444: IF p_commit = FND_API.G_TRUE THEN
1445: ROLLBACK TO delete_budget_version;
1446: END IF;
1447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1448: fnd_msg_pub.add_exc_msg(p_pkg_name => G_package_name,
1449: p_procedure_name => l_api_name,
1450: p_error_text => SUBSTRB(SQLERRM,1,240));
1451: fnd_msg_pub.count_and_get(p_count => x_msg_count