343:
344:
345: BEGIN
346:
347: x_return_status := FND_API.G_RET_STS_SUCCESS;
348:
349: IF fnd_api.to_boolean (p_init_msg_list)
350: THEN
351: fnd_msg_pub.initialize;
345: BEGIN
346:
347: x_return_status := FND_API.G_RET_STS_SUCCESS;
348:
349: IF fnd_api.to_boolean (p_init_msg_list)
350: THEN
351: fnd_msg_pub.initialize;
352: END IF;
353:
362:
363:
364: /* Roopa - Begin - fix for bug 3335668 */
365: /* Changed the initialized value from 'null' to 0 or ' ' value */
366: IF (l_incident_type_id = FND_API.G_MISS_NUM) THEN
367: l_incident_type_id := 0;
368: END IF;
369: IF (l_category_id = FND_API.G_MISS_NUM) THEN
370: l_category_id := 0;
365: /* Changed the initialized value from 'null' to 0 or ' ' value */
366: IF (l_incident_type_id = FND_API.G_MISS_NUM) THEN
367: l_incident_type_id := 0;
368: END IF;
369: IF (l_category_id = FND_API.G_MISS_NUM) THEN
370: l_category_id := 0;
371: END IF;
372: IF (l_inventory_item_id = FND_API.G_MISS_NUM) THEN
373: l_inventory_item_id := 0;
368: END IF;
369: IF (l_category_id = FND_API.G_MISS_NUM) THEN
370: l_category_id := 0;
371: END IF;
372: IF (l_inventory_item_id = FND_API.G_MISS_NUM) THEN
373: l_inventory_item_id := 0;
374: END IF;
375: IF (l_organization_id = FND_API.G_MISS_NUM) THEN
376: l_organization_id := 0;
371: END IF;
372: IF (l_inventory_item_id = FND_API.G_MISS_NUM) THEN
373: l_inventory_item_id := 0;
374: END IF;
375: IF (l_organization_id = FND_API.G_MISS_NUM) THEN
376: l_organization_id := 0;
377: END IF;
378: IF (l_problem_code = FND_API.G_MISS_CHAR) THEN
379: l_problem_code := ' ';
374: END IF;
375: IF (l_organization_id = FND_API.G_MISS_NUM) THEN
376: l_organization_id := 0;
377: END IF;
378: IF (l_problem_code = FND_API.G_MISS_CHAR) THEN
379: l_problem_code := ' ';
380: END IF;
381: IF (l_category_set_id = FND_API.G_MISS_NUM) THEN
382: l_category_set_id := 0;
377: END IF;
378: IF (l_problem_code = FND_API.G_MISS_CHAR) THEN
379: l_problem_code := ' ';
380: END IF;
381: IF (l_category_set_id = FND_API.G_MISS_NUM) THEN
382: l_category_set_id := 0;
383: END IF;
384: IF (l_resolution_code = FND_API.G_MISS_CHAR) THEN
385: RAISE FND_API.G_EXC_ERROR;
380: END IF;
381: IF (l_category_set_id = FND_API.G_MISS_NUM) THEN
382: l_category_set_id := 0;
383: END IF;
384: IF (l_resolution_code = FND_API.G_MISS_CHAR) THEN
385: RAISE FND_API.G_EXC_ERROR;
386: END IF;
387: /* Roopa - End - fix for bug 3335668 */
388:
381: IF (l_category_set_id = FND_API.G_MISS_NUM) THEN
382: l_category_set_id := 0;
383: END IF;
384: IF (l_resolution_code = FND_API.G_MISS_CHAR) THEN
385: RAISE FND_API.G_EXC_ERROR;
386: END IF;
387: /* Roopa - End - fix for bug 3335668 */
388:
389: IF (l_inventory_item_id <> 0 and l_organization_id = 0) THEN
433: /* Validation Check #10 */
434: OPEN cs_sr_active_rc_csr;
435: FETCH cs_sr_active_rc_csr into l_resolution_code_meaning;
436: IF (cs_sr_active_rc_csr%NOTFOUND) THEN
437: RAISE FND_API.G_EXC_ERROR;
438: END IF;
439:
440:
441: /* Validation Check #1 */
476: /* Replaced the following IF for the commented IF condition */
477: IF (l_category_id <> 0) THEN
478: /*
479: IF (l_category_id is not null OR
480: l_category_id <> FND_API.G_MISS_NUM) THEN
481: */
482: /* Roopa - End - fix for bug 3335668 */
483:
484: /* Validation Check #2 */
498: /* Validation Check #5 */
499: OPEN cs_sr_rc_catset_probc;
500: FETCH cs_sr_rc_catset_probc into l_resolution_code_meaning;
501: IF (cs_sr_rc_catset_probc%NOTFOUND) THEN
502: RAISE FND_API.G_EXC_ERROR;
503: END IF;
504: END IF;
505: END IF;
506: END IF;
523: /* Validation Check #9 */
524: OPEN cs_sr_rc_catset_probc;
525: FETCH cs_sr_rc_catset_probc into l_resolution_code_meaning;
526: IF (cs_sr_rc_catset_probc%NOTFOUND) THEN
527: RAISE FND_API.G_EXC_ERROR;
528: END IF;
529: END IF;
530: END IF;
531: END IF;
555: END IF;
556:
557:
558: EXCEPTION
559: WHEN FND_API.G_EXC_ERROR THEN
560: IF cs_sr_unmapped_rc_csr%isopen THEN
561: CLOSE cs_sr_unmapped_rc_csr;
562: END IF;
563: IF cs_sr_rc_cat_srtype%isopen THEN
578: IF cs_sr_rc_catset_prodcat%isopen THEN
579: CLOSE cs_sr_rc_catset_prodcat;
580: END IF;
581:
582: x_return_status := FND_API.G_RET_STS_ERROR;
583: FND_MSG_PUB.Count_And_Get
584: ( p_count => x_msg_count,
585: p_data => x_msg_data
586: );
583: FND_MSG_PUB.Count_And_Get
584: ( p_count => x_msg_count,
585: p_data => x_msg_data
586: );
587: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
588: IF cs_sr_unmapped_rc_csr%isopen THEN
589: CLOSE cs_sr_unmapped_rc_csr;
590: END IF;
591: IF cs_sr_rc_cat_srtype%isopen THEN
606: IF cs_sr_rc_catset_prodcat%isopen THEN
607: CLOSE cs_sr_rc_catset_prodcat;
608: END IF;
609:
610: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
611: FND_MSG_PUB.Count_And_Get
612: ( p_count => x_msg_count,
613: p_data => x_msg_data
614: );
634: IF cs_sr_rc_catset_prodcat%isopen THEN
635: CLOSE cs_sr_rc_catset_prodcat;
636: END IF;
637:
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
640: FND_MSG_PUB.Add_Exc_Msg('CS_SR_RES_CODE_MAPPING_PKG', l_api_name);
641: END IF;
642: FND_MSG_PUB.Count_And_Get
648:
649:
650: PROCEDURE CREATE_MAPPING_RULES
651: ( p_api_version IN NUMBER,
652: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
653: p_commit IN VARCHAR2 := FND_API.G_FALSE,
654: p_rescode_map_criteria_rec IN rescode_map_criteria_rec,
655: p_resolution_codes_tbl IN resolution_codes_tbl_type,
656: x_return_status OUT NOCOPY VARCHAR2,
649:
650: PROCEDURE CREATE_MAPPING_RULES
651: ( p_api_version IN NUMBER,
652: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
653: p_commit IN VARCHAR2 := FND_API.G_FALSE,
654: p_rescode_map_criteria_rec IN rescode_map_criteria_rec,
655: p_resolution_codes_tbl IN resolution_codes_tbl_type,
656: x_return_status OUT NOCOPY VARCHAR2,
657: x_msg_count OUT NOCOPY NUMBER,
726:
727: BEGIN
728:
729: SAVEPOINT create_mapping_rules;
730: x_return_status := fnd_api.g_ret_sts_success;
731:
732: IF fnd_api.to_boolean (p_init_msg_list)
733: THEN
734: fnd_msg_pub.initialize;
728:
729: SAVEPOINT create_mapping_rules;
730: x_return_status := fnd_api.g_ret_sts_success;
731:
732: IF fnd_api.to_boolean (p_init_msg_list)
733: THEN
734: fnd_msg_pub.initialize;
735: END IF;
736:
749:
750: /* Validation check #1 */
751: IF ( p_rescode_map_criteria_rec.product_category_id is not null and
752: p_rescode_map_criteria_rec.inventory_item_id is not null) THEN
753: RAISE fnd_api.g_exc_unexpected_error;
754: END IF;
755:
756: /* Validation check #2 */
757: IF (p_rescode_map_criteria_rec.product_category_id is null and
757: IF (p_rescode_map_criteria_rec.product_category_id is null and
758: p_rescode_map_criteria_rec.inventory_item_id is null and
759: p_rescode_map_criteria_rec.service_request_type_id is null and
760: p_rescode_map_criteria_rec.problem_code is null) THEN
761: RAISE fnd_api.g_exc_unexpected_error;
762: END IF;
763:
764: /* Validation check #3 */
765: IF (p_rescode_map_criteria_rec.inventory_item_id is not null and
763:
764: /* Validation check #3 */
765: IF (p_rescode_map_criteria_rec.inventory_item_id is not null and
766: p_rescode_map_criteria_rec.organization_id is null) THEN
767: RAISE fnd_api.g_exc_unexpected_error;
768: END IF;
769:
770:
771: l_start_date_active := nvl(p_rescode_map_criteria_rec.start_date_active, sysdate);
780: /* Validation check #4 */
781: OPEN c_sr_criteria_exists_csr;
782: FETCH c_sr_criteria_exists_csr into c_sr_criteria_exists_rec;
783: IF (c_sr_criteria_exists_csr%FOUND) THEN
784: RAISE fnd_api.g_exc_unexpected_error;
785: END IF;
786: CLOSE c_sr_criteria_exists_csr;
787:
788: /* Validation check #5 */
792: l_product_category_set := FND_PROFILE.Value('CS_SR_DEFAULT_CATEGORY_SET');
793: OPEN c_sr_prod_cat_valid_csr;
794: FETCH c_sr_prod_cat_valid_csr into l_temp;
795: IF (c_sr_prod_cat_valid_csr%NOTFOUND) THEN
796: RAISE fnd_api.g_exc_unexpected_error;
797: END IF;
798: CLOSE c_sr_prod_cat_valid_csr;
799: END IF;
800:
802: /* Validation check #6 */
803: /* start date cannot be greater then end date */
804: IF(l_start_date_active is not null AND l_end_date_active is not null AND
805: l_start_date_active >= l_end_date_active) THEN
806: RAISE fnd_api.g_exc_unexpected_error;
807: END IF;
808:
809: /* All validations have passed for the search criteria. Hence we can create a search criteria record in
810: cs_sr_res_code_MAPPING table */
842: X_RETURN_STATUS => l_return_status,
843: X_MSG_COUNT => l_msg_count,
844: X_MSG_DATA => l_errmsg
845: );
846: IF(l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
847: RAISE fnd_api.g_exc_unexpected_error;
848: END IF;
849:
850: /* Now, we need to create the actual resolution code -> search criteria mapping details in
843: X_MSG_COUNT => l_msg_count,
844: X_MSG_DATA => l_errmsg
845: );
846: IF(l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
847: RAISE fnd_api.g_exc_unexpected_error;
848: END IF;
849:
850: /* Now, we need to create the actual resolution code -> search criteria mapping details in
851: CS_SR_RES_CODE_MAPPING_DETAIL table */
859: l_res_code_index := p_resolution_codes_tbl.FIRST;
860: WHILE l_res_code_index IS NOT NULL LOOP
861:
862: IF ((p_resolution_codes_tbl(l_res_code_index).resolution_code IS NOT NULL) AND
863: (p_resolution_codes_tbl(l_res_code_index).resolution_code <> FND_API.G_MISS_CHAR)) THEN
864:
865: l_resolution_code := p_resolution_codes_tbl(l_res_code_index).resolution_code;
866: l_start_date_active := p_resolution_codes_tbl(l_res_code_index).start_date_active;
867: l_end_date_active := p_resolution_codes_tbl(l_res_code_index).end_date_active;
869: /* Validation check #1 */
870: OPEN c_sr_resolution_code_valid_csr;
871: FETCH c_sr_resolution_code_valid_csr INTO l_resolution_code;
872: IF(c_sr_resolution_code_valid_csr%NOTFOUND) THEN
873: RAISE fnd_api.g_exc_unexpected_error;
874: END IF;
875: CLOSE c_sr_resolution_code_valid_csr;
876:
877:
878: /* Validation check #2 */
879: OPEN c_sr_res_code_map_exists_csr;
880: FETCH c_sr_res_code_map_exists_csr into c_sr_res_code_map_exists_rec;
881: IF(c_sr_res_code_map_exists_csr%FOUND) THEN
882: RAISE fnd_api.g_exc_unexpected_error;
883: END IF;
884: CLOSE c_sr_res_code_map_exists_csr;
885:
886: /* Validation check #3 */
886: /* Validation check #3 */
887: /* start date cannot be greater then end date */
888: IF(l_start_date_active is not null AND l_end_date_active is not null AND
889: l_start_date_active >= l_end_date_active) THEN
890: RAISE fnd_api.g_exc_unexpected_error;
891: END IF;
892:
893: /* We can create the resolution code mapping in cs_sr_res_code_MAPPING_DETAIL table now */
894: CS_SR_RES_CODE_MAP_DETAIL_PKG.INSERT_ROW (
938: x_resolution_map_id := l_resolution_map_id;
939:
940:
941: EXCEPTION
942: WHEN FND_API.G_EXC_ERROR THEN
943: IF c_sr_criteria_exists_csr%isopen THEN
944: CLOSE c_sr_criteria_exists_csr;
945: END IF;
946: IF c_sr_prod_cat_valid_csr%isopen THEN
953: CLOSE c_sr_res_code_map_exists_csr;
954: END IF;
955:
956: ROLLBACK TO create_mapping_rules;
957: x_return_status := FND_API.G_RET_STS_ERROR;
958: FND_MSG_PUB.Count_And_Get
959: ( p_count => x_msg_count,
960: p_data => x_msg_data
961: );
958: FND_MSG_PUB.Count_And_Get
959: ( p_count => x_msg_count,
960: p_data => x_msg_data
961: );
962: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
963: IF c_sr_criteria_exists_csr%isopen THEN
964: CLOSE c_sr_criteria_exists_csr;
965: END IF;
966: IF c_sr_prod_cat_valid_csr%isopen THEN
973: CLOSE c_sr_res_code_map_exists_csr;
974: END IF;
975:
976: ROLLBACK TO create_mapping_rules;
977: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
978: FND_MSG_PUB.Count_And_Get
979: ( p_count => x_msg_count,
980: p_data => x_msg_data
981: );
993: CLOSE c_sr_res_code_map_exists_csr;
994: END IF;
995:
996: ROLLBACK TO create_mapping_rules;
997: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
998: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
999: FND_MSG_PUB.Add_Exc_Msg('CS_SR_RES_CODE_MAPPING_PKG', l_api_name);
1000: END IF;
1001: FND_MSG_PUB.Count_And_Get
1009:
1010:
1011: PROCEDURE UPDATE_MAPPING_RULES
1012: ( p_api_version IN NUMBER,
1013: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1014: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1015: p_rescode_map_criteria_rec IN rescode_map_criteria_rec,
1016: p_resolution_codes_tbl IN resolution_codes_tbl_type,
1017: x_return_status OUT NOCOPY VARCHAR2,
1010:
1011: PROCEDURE UPDATE_MAPPING_RULES
1012: ( p_api_version IN NUMBER,
1013: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1014: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1015: p_rescode_map_criteria_rec IN rescode_map_criteria_rec,
1016: p_resolution_codes_tbl IN resolution_codes_tbl_type,
1017: x_return_status OUT NOCOPY VARCHAR2,
1018: x_msg_count OUT NOCOPY NUMBER,
1098:
1099: BEGIN
1100:
1101: SAVEPOINT update_mapping_rules;
1102: x_return_status := fnd_api.g_ret_sts_success;
1103:
1104: IF fnd_api.to_boolean (p_init_msg_list) THEN
1105: fnd_msg_pub.initialize;
1106: END IF;
1100:
1101: SAVEPOINT update_mapping_rules;
1102: x_return_status := fnd_api.g_ret_sts_success;
1103:
1104: IF fnd_api.to_boolean (p_init_msg_list) THEN
1105: fnd_msg_pub.initialize;
1106: END IF;
1107:
1108: l_resolution_map_id := p_rescode_map_criteria_rec.resolution_map_id;
1126:
1127:
1128: /* Validation check #1 */
1129: IF (l_resolution_map_id is null) THEN
1130: RAISE fnd_api.g_exc_unexpected_error;
1131: END IF;
1132:
1133:
1134: /* Validation check #2 */
1134: /* Validation check #2 */
1135: IF (l_service_request_type_id = 0 AND
1136: l_product_category_id = 0 AND
1137: l_inventory_item_id = 0) THEN
1138: RAISE fnd_api.g_exc_unexpected_error;
1139: END IF;
1140:
1141: /* Validation check #3 */
1142: IF (l_product_category_id <> 0 AND
1140:
1141: /* Validation check #3 */
1142: IF (l_product_category_id <> 0 AND
1143: l_inventory_item_id <> 0) THEN
1144: RAISE fnd_api.g_exc_unexpected_error;
1145: END IF;
1146:
1147:
1148: /* Validation check #4 */
1148: /* Validation check #4 */
1149: IF (l_start_date_active is not null AND
1150: l_end_date_active is not null AND
1151: l_start_date_active >= l_end_date_active) THEN
1152: RAISE fnd_api.g_exc_unexpected_error;
1153: END IF;
1154:
1155: /* Validation check #5 */
1156: OPEN cs_sr_resmapid_exists_csr;
1154:
1155: /* Validation check #5 */
1156: OPEN cs_sr_resmapid_exists_csr;
1157: IF(cs_sr_resmapid_exists_csr%FOUND) THEN
1158: RAISE fnd_api.g_exc_unexpected_error;
1159: END IF;
1160: CLOSE cs_sr_resmapid_exists_csr;
1161:
1162:
1163: l_res_code_index := p_resolution_codes_tbl.FIRST;
1164: WHILE l_res_code_index IS NOT NULL LOOP
1165:
1166: IF ((p_resolution_codes_tbl(l_res_code_index).resolution_code IS NOT NULL) AND
1167: (p_resolution_codes_tbl(l_res_code_index).resolution_code <> FND_API.G_MISS_CHAR)) THEN
1168:
1169: l_resolution_code := p_resolution_codes_tbl(l_res_code_index).resolution_code;
1170: l_start_date_active := p_resolution_codes_tbl(l_res_code_index).start_date_active;
1171: l_end_date_active := p_resolution_codes_tbl(l_res_code_index).end_date_active;
1174:
1175: /* Validation check #6 */
1176: OPEN cs_sr_res_code_valid_csr;
1177: IF(cs_sr_res_code_valid_csr%NOTFOUND) THEN
1178: RAISE fnd_api.g_exc_unexpected_error;
1179: END IF;
1180: CLOSE cs_sr_res_code_valid_csr;
1181:
1182: /* Validation check #7 */
1182: /* Validation check #7 */
1183: OPEN cs_sr_rescode_mapped_csr;
1184: FETCH cs_sr_rescode_mapped_csr into cs_sr_rescode_mapped_rec;
1185: IF(cs_sr_rescode_mapped_csr%FOUND) THEN
1186: RAISE fnd_api.g_exc_unexpected_error;
1187: END IF;
1188: CLOSE cs_sr_rescode_mapped_csr;
1189:
1190: END IF;
1270: X_MSG_COUNT => l_msg_count,
1271: X_MSG_DATA => l_errmsg
1272: );
1273: END IF;
1274: IF(l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1275: RAISE fnd_api.g_exc_unexpected_error;
1276: END IF;
1277:
1278: l_res_code_index := p_resolution_codes_tbl.NEXT(l_res_code_index);
1271: X_MSG_DATA => l_errmsg
1272: );
1273: END IF;
1274: IF(l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1275: RAISE fnd_api.g_exc_unexpected_error;
1276: END IF;
1277:
1278: l_res_code_index := p_resolution_codes_tbl.NEXT(l_res_code_index);
1279: END LOOP;
1278: l_res_code_index := p_resolution_codes_tbl.NEXT(l_res_code_index);
1279: END LOOP;
1280:
1281: EXCEPTION
1282: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1283: IF cs_sr_resmapid_exists_csr%isopen THEN
1284: CLOSE cs_sr_resmapid_exists_csr;
1285: END IF;
1286: IF cs_sr_res_code_valid_csr%isopen THEN
1289: IF cs_sr_rescode_mapped_csr%isopen THEN
1290: CLOSE cs_sr_rescode_mapped_csr;
1291: END IF;
1292: ROLLBACK TO update_mapping_rules;
1293: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1294: FND_MSG_PUB.Count_And_Get
1295: ( p_count => x_msg_count,
1296: p_data => x_msg_data
1297: );
1305: IF cs_sr_rescode_mapped_csr%isopen THEN
1306: CLOSE cs_sr_rescode_mapped_csr;
1307: END IF;
1308: ROLLBACK TO update_mapping_rules;
1309: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1310: FND_MSG_PUB.Count_And_Get
1311: ( p_count => x_msg_count,
1312: p_data => x_msg_data
1313: );
1316:
1317:
1318: PROCEDURE PROPAGATE_MAP_CRITERIA_DATES
1319: ( p_api_version IN NUMBER,
1320: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1321: x_return_status OUT NOCOPY VARCHAR2,
1322: x_msg_count OUT NOCOPY NUMBER,
1323: x_msg_data OUT NOCOPY VARCHAR2
1324: ) IS
1370:
1371:
1372: BEGIN
1373: SAVEPOINT propagate_map_criteria_dates;
1374: x_return_status := fnd_api.g_ret_sts_success;
1375:
1376: IF fnd_api.to_boolean (p_init_msg_list) THEN
1377: fnd_msg_pub.initialize;
1378: END IF;
1372: BEGIN
1373: SAVEPOINT propagate_map_criteria_dates;
1374: x_return_status := fnd_api.g_ret_sts_success;
1375:
1376: IF fnd_api.to_boolean (p_init_msg_list) THEN
1377: fnd_msg_pub.initialize;
1378: END IF;
1379:
1380: OPEN cs_sr_resmapid_crit_csr;
1446: X_MSG_COUNT => l_msg_count,
1447: X_MSG_DATA => l_errmsg
1448: );
1449:
1450: IF(l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1451: RAISE fnd_api.g_exc_unexpected_error;
1452: END IF;
1453: */
1454: END IF;
1447: X_MSG_DATA => l_errmsg
1448: );
1449:
1450: IF(l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1451: RAISE fnd_api.g_exc_unexpected_error;
1452: END IF;
1453: */
1454: END IF;
1455: END LOOP;
1456: CLOSE cs_sr_resmapid_crit_csr;
1457: commit;
1458:
1459: EXCEPTION
1460: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1461: IF cs_sr_resmapid_crit_csr%isopen THEN
1462: CLOSE cs_sr_resmapid_crit_csr;
1463: END IF;
1464: IF cs_sr_resmapid_rules_csr%isopen THEN
1464: IF cs_sr_resmapid_rules_csr%isopen THEN
1465: CLOSE cs_sr_resmapid_rules_csr;
1466: END IF;
1467: ROLLBACK TO propagate_map_criteria_dates;
1468: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1469: FND_MSG_PUB.Count_And_Get
1470: ( p_count => x_msg_count,
1471: p_data => x_msg_data
1472: );
1477: IF cs_sr_resmapid_rules_csr%isopen THEN
1478: CLOSE cs_sr_resmapid_rules_csr;
1479: END IF;
1480: ROLLBACK TO propagate_map_criteria_dates;
1481: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1482: FND_MSG_PUB.Count_And_Get
1483: ( p_count => x_msg_count,
1484: p_data => x_msg_data
1485: );