368: SAVEPOINT PROCESS_SINGLE_LOAN;
369: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Established savepoint');
370:
371: -- Standard call to check for call compatibility
372: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
373: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
374: END IF;
375:
376: -- Initialize message list if p_init_msg_list is set to TRUE
369: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Established savepoint');
370:
371: -- Standard call to check for call compatibility
372: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
373: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
374: END IF;
375:
376: -- Initialize message list if p_init_msg_list is set to TRUE
377: IF FND_API.To_Boolean(p_init_msg_list) THEN
373: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
374: END IF;
375:
376: -- Initialize message list if p_init_msg_list is set to TRUE
377: IF FND_API.To_Boolean(p_init_msg_list) THEN
378: FND_MSG_PUB.initialize;
379: END IF;
380:
381: -- Initialize API return status to success
378: FND_MSG_PUB.initialize;
379: END IF;
380:
381: -- Initialize API return status to success
382: x_return_status := FND_API.G_RET_STS_SUCCESS;
383:
384: -- START OF BODY OF API
385:
386: -- init
822: l_merged_rates_tbl(k).ACTION );
823:
824: end loop;
825:
826: if P_COMMIT = FND_API.G_TRUE then
827: COMMIT WORK;
828: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
829: end if;
830:
828: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
829: end if;
830:
831: -- END OF BODY OF API
832: x_return_status := FND_API.G_RET_STS_SUCCESS;
833:
834: -- Standard call to get message count and if count is 1, get message info
835: FND_MSG_PUB.Count_And_Get(
836: p_encoded => FND_API.G_FALSE,
832: x_return_status := FND_API.G_RET_STS_SUCCESS;
833:
834: -- Standard call to get message count and if count is 1, get message info
835: FND_MSG_PUB.Count_And_Get(
836: p_encoded => FND_API.G_FALSE,
837: p_count => x_msg_count,
838: p_data => x_msg_data);
839:
840: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully processed loan ' || P_LOAN_REC.LOAN_NUMBER);
840: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully processed loan ' || P_LOAN_REC.LOAN_NUMBER);
841: LogMessage(FND_LOG.LEVEL_PROCEDURE, l_api_name || ' -');
842:
843: EXCEPTION
844: WHEN FND_API.G_EXC_ERROR THEN
845: ROLLBACK TO PROCESS_SINGLE_LOAN;
846: x_return_status := FND_API.G_RET_STS_ERROR;
847: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
848: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
842:
843: EXCEPTION
844: WHEN FND_API.G_EXC_ERROR THEN
845: ROLLBACK TO PROCESS_SINGLE_LOAN;
846: x_return_status := FND_API.G_RET_STS_ERROR;
847: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
848: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
849: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || P_LOAN_REC.LOAN_NUMBER);
850:
847: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
848: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
849: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || P_LOAN_REC.LOAN_NUMBER);
850:
851: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
852: ROLLBACK TO PROCESS_SINGLE_LOAN;
853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
854: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
855: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
849: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || P_LOAN_REC.LOAN_NUMBER);
850:
851: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
852: ROLLBACK TO PROCESS_SINGLE_LOAN;
853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
854: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
855: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
856: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || P_LOAN_REC.LOAN_NUMBER);
857:
856: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || P_LOAN_REC.LOAN_NUMBER);
857:
858: WHEN OTHERS THEN
859: ROLLBACK TO PROCESS_SINGLE_LOAN;
860: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
861: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
862: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
863: END IF;
864: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1038: l_Count := l_Count + 1;
1039:
1040: PROCESS_SINGLE_LOAN(
1041: P_API_VERSION => 1.0,
1042: P_INIT_MSG_LIST => FND_API.G_FALSE,
1043: P_COMMIT => FND_API.G_TRUE,
1044: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1045: P_LOAN_REC => l_LOAN_REC,
1046: P_RATE_LINES_TBL => l_RATE_LINES_TBL,
1039:
1040: PROCESS_SINGLE_LOAN(
1041: P_API_VERSION => 1.0,
1042: P_INIT_MSG_LIST => FND_API.G_FALSE,
1043: P_COMMIT => FND_API.G_TRUE,
1044: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1045: P_LOAN_REC => l_LOAN_REC,
1046: P_RATE_LINES_TBL => l_RATE_LINES_TBL,
1047: x_return_status => l_return_status,
1040: PROCESS_SINGLE_LOAN(
1041: P_API_VERSION => 1.0,
1042: P_INIT_MSG_LIST => FND_API.G_FALSE,
1043: P_COMMIT => FND_API.G_TRUE,
1044: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1045: P_LOAN_REC => l_LOAN_REC,
1046: P_RATE_LINES_TBL => l_RATE_LINES_TBL,
1047: x_return_status => l_return_status,
1048: x_msg_count => l_msg_count,
1065: LogMessage(FND_LOG.level_unexpected, 'Total Processed: ' || l_Count || ' loan(s)');
1066: LogMessage(FND_LOG.level_unexpected, 'Failed: ' || l_failure_count || ' loan(s)');
1067: LogMessage(FND_LOG.level_unexpected, 'Succeeded: ' || l_success_count || ' loan(s)');
1068:
1069: RETCODE := FND_API.G_RET_STS_SUCCESS;
1070: if l_Count = 0 then
1071: ERRBUF := 'No floating rate loans were found.';
1072: l_return := FND_CONCURRENT.SET_COMPLETION_STATUS(
1073: status => 'WARNING',
1088: ERRBUF := 'Update of floating rate loans has failed. Please review log file.';
1089: l_return := FND_CONCURRENT.SET_COMPLETION_STATUS(
1090: status => 'ERROR',
1091: message => ERRBUF);
1092: RETCODE := FND_API.G_RET_STS_ERROR;
1093: LogMessage(FND_LOG.level_unexpected, ERRBUF);
1094:
1095: END UPDATE_FLOATING_RATE_LOANS;
1096:
1168: SAVEPOINT UPDATE_LOAN_FLOATING_RATE;
1169: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Established savepoint');
1170:
1171: -- Standard call to check for call compatibility
1172: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1173: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1174: END IF;
1175:
1176: -- Initialize message list if p_init_msg_list is set to TRUE
1169: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Established savepoint');
1170:
1171: -- Standard call to check for call compatibility
1172: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1173: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1174: END IF;
1175:
1176: -- Initialize message list if p_init_msg_list is set to TRUE
1177: IF FND_API.To_Boolean(p_init_msg_list) THEN
1173: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1174: END IF;
1175:
1176: -- Initialize message list if p_init_msg_list is set to TRUE
1177: IF FND_API.To_Boolean(p_init_msg_list) THEN
1178: FND_MSG_PUB.initialize;
1179: END IF;
1180:
1181: -- Initialize API return status to success
1178: FND_MSG_PUB.initialize;
1179: END IF;
1180:
1181: -- Initialize API return status to success
1182: x_return_status := FND_API.G_RET_STS_SUCCESS;
1183:
1184: -- START OF BODY OF API
1185:
1186: LogMessage(FND_LOG.level_unexpected, 'Input Parameters:');
1224: close c_get_int_lines;
1225:
1226: PROCESS_SINGLE_LOAN(
1227: P_API_VERSION => 1.0,
1228: P_INIT_MSG_LIST => FND_API.G_FALSE,
1229: P_COMMIT => FND_API.G_FALSE,
1230: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1231: P_LOAN_REC => l_LOAN_REC,
1232: P_RATE_LINES_TBL => l_RATE_LINES_TBL,
1225:
1226: PROCESS_SINGLE_LOAN(
1227: P_API_VERSION => 1.0,
1228: P_INIT_MSG_LIST => FND_API.G_FALSE,
1229: P_COMMIT => FND_API.G_FALSE,
1230: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1231: P_LOAN_REC => l_LOAN_REC,
1232: P_RATE_LINES_TBL => l_RATE_LINES_TBL,
1233: x_return_status => l_return_status,
1226: PROCESS_SINGLE_LOAN(
1227: P_API_VERSION => 1.0,
1228: P_INIT_MSG_LIST => FND_API.G_FALSE,
1229: P_COMMIT => FND_API.G_FALSE,
1230: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1231: P_LOAN_REC => l_LOAN_REC,
1232: P_RATE_LINES_TBL => l_RATE_LINES_TBL,
1233: x_return_status => l_return_status,
1234: x_msg_count => l_msg_count,
1234: x_msg_count => l_msg_count,
1235: x_msg_data => l_msg_data);
1236:
1237: if l_return_status <> 'S' then
1238: RAISE FND_API.G_EXC_ERROR;
1239: end if;
1240:
1241: if P_COMMIT = FND_API.G_TRUE then
1242: COMMIT WORK;
1237: if l_return_status <> 'S' then
1238: RAISE FND_API.G_EXC_ERROR;
1239: end if;
1240:
1241: if P_COMMIT = FND_API.G_TRUE then
1242: COMMIT WORK;
1243: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1244: end if;
1245:
1243: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1244: end if;
1245:
1246: -- END OF BODY OF API
1247: x_return_status := FND_API.G_RET_STS_SUCCESS;
1248:
1249: -- Standard call to get message count and if count is 1, get message info
1250: FND_MSG_PUB.Count_And_Get(
1251: p_encoded => FND_API.G_FALSE,
1247: x_return_status := FND_API.G_RET_STS_SUCCESS;
1248:
1249: -- Standard call to get message count and if count is 1, get message info
1250: FND_MSG_PUB.Count_And_Get(
1251: p_encoded => FND_API.G_FALSE,
1252: p_count => x_msg_count,
1253: p_data => x_msg_data);
1254:
1255: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully processed loan ' || l_LOAN_REC.LOAN_NUMBER);
1255: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully processed loan ' || l_LOAN_REC.LOAN_NUMBER);
1256: LogMessage(FND_LOG.LEVEL_PROCEDURE, l_api_name || ' -');
1257:
1258: EXCEPTION
1259: WHEN FND_API.G_EXC_ERROR THEN
1260: ROLLBACK TO UPDATE_LOAN_FLOATING_RATE;
1261: x_return_status := FND_API.G_RET_STS_ERROR;
1262: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1263: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
1257:
1258: EXCEPTION
1259: WHEN FND_API.G_EXC_ERROR THEN
1260: ROLLBACK TO UPDATE_LOAN_FLOATING_RATE;
1261: x_return_status := FND_API.G_RET_STS_ERROR;
1262: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1263: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
1264: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || l_LOAN_REC.LOAN_NUMBER);
1265:
1262: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1263: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
1264: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || l_LOAN_REC.LOAN_NUMBER);
1265:
1266: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1267: ROLLBACK TO UPDATE_LOAN_FLOATING_RATE;
1268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1269: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1270: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
1264: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || l_LOAN_REC.LOAN_NUMBER);
1265:
1266: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1267: ROLLBACK TO UPDATE_LOAN_FLOATING_RATE;
1268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1269: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1270: LogMessage(FND_LOG.LEVEL_ERROR, 'Rollbacked');
1271: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || l_LOAN_REC.LOAN_NUMBER);
1272:
1271: LogMessage(FND_LOG.LEVEL_ERROR, 'Failed to process loan ' || l_LOAN_REC.LOAN_NUMBER);
1272:
1273: WHEN OTHERS THEN
1274: ROLLBACK TO UPDATE_LOAN_FLOATING_RATE;
1275: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1276: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
1277: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1278: END IF;
1279: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);