521: SAVEPOINT INSERT_DISB_HEADER;
522: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
523:
524: -- Standard call to check for call compatibility
525: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
526: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527: END IF;
528:
529: -- Initialize message list if p_init_msg_list is set to TRUE
522: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
523:
524: -- Standard call to check for call compatibility
525: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
526: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527: END IF;
528:
529: -- Initialize message list if p_init_msg_list is set to TRUE
530: IF FND_API.To_Boolean(p_init_msg_list) THEN
526: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527: END IF;
528:
529: -- Initialize message list if p_init_msg_list is set to TRUE
530: IF FND_API.To_Boolean(p_init_msg_list) THEN
531: FND_MSG_PUB.initialize;
532: END IF;
533:
534: -- Initialize API return status to success
531: FND_MSG_PUB.initialize;
532: END IF;
533:
534: -- Initialize API return status to success
535: l_return_status := FND_API.G_RET_STS_SUCCESS;
536:
537: -- START OF BODY OF API
538:
539: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Inserting disbursement header...');
566: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
567: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'loan_id' );
568: FND_MSG_PUB.ADD;
569: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
570: RAISE FND_API.G_EXC_ERROR;
571:
572: end if;
573:
574: l_disb_number := P_DISB_HEADER_REC.DISBURSEMENT_NUMBER;
597: P_DESCRIPTION => P_DISB_HEADER_REC.DESCRIPTION);
598:
599: LogMessage(FND_LOG.LEVEL_STATEMENT, 'DISB_HEADER_ID: ' || l_pk_id);
600:
601: if P_COMMIT = FND_API.G_TRUE then
602: COMMIT WORK;
603: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
604: end if;
605:
603: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
604: end if;
605:
606: -- END OF BODY OF API
607: x_return_status := FND_API.G_RET_STS_SUCCESS;
608:
609: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted disbursement header' || l_pk_id);
610:
611: -- Standard call to get message count and if count is 1, get message info
609: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted disbursement header' || l_pk_id);
610:
611: -- Standard call to get message count and if count is 1, get message info
612: FND_MSG_PUB.Count_And_Get(
613: p_encoded => FND_API.G_FALSE,
614: p_count => x_msg_count,
615: p_data => x_msg_data);
616:
617: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
616:
617: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
618:
619: EXCEPTION
620: WHEN FND_API.G_EXC_ERROR THEN
621: ROLLBACK TO INSERT_DISB_HEADER;
622: x_return_status := FND_API.G_RET_STS_ERROR;
623: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
624: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
618:
619: EXCEPTION
620: WHEN FND_API.G_EXC_ERROR THEN
621: ROLLBACK TO INSERT_DISB_HEADER;
622: x_return_status := FND_API.G_RET_STS_ERROR;
623: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
624: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
625: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
626: ROLLBACK TO INSERT_DISB_HEADER;
621: ROLLBACK TO INSERT_DISB_HEADER;
622: x_return_status := FND_API.G_RET_STS_ERROR;
623: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
624: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
625: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
626: ROLLBACK TO INSERT_DISB_HEADER;
627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
628: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
629: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
623: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
624: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
625: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
626: ROLLBACK TO INSERT_DISB_HEADER;
627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
628: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
629: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
630: WHEN OTHERS THEN
631: ROLLBACK TO INSERT_DISB_HEADER;
628: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
629: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
630: WHEN OTHERS THEN
631: ROLLBACK TO INSERT_DISB_HEADER;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
634: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
635: END IF;
636: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
717: SAVEPOINT UPDATE_DISB_HEADER;
718: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
719:
720: -- Standard call to check for call compatibility
721: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
722: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
723: END IF;
724:
725: -- Initialize message list if p_init_msg_list is set to TRUE
718: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
719:
720: -- Standard call to check for call compatibility
721: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
722: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
723: END IF;
724:
725: -- Initialize message list if p_init_msg_list is set to TRUE
726: IF FND_API.To_Boolean(p_init_msg_list) THEN
722: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
723: END IF;
724:
725: -- Initialize message list if p_init_msg_list is set to TRUE
726: IF FND_API.To_Boolean(p_init_msg_list) THEN
727: FND_MSG_PUB.initialize;
728: END IF;
729:
730: -- Initialize API return status to success
727: FND_MSG_PUB.initialize;
728: END IF;
729:
730: -- Initialize API return status to success
731: l_return_status := FND_API.G_RET_STS_SUCCESS;
732:
733: -- START OF BODY OF API
734:
735: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Updating disbursement header...');
756: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
757: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'disb_header_id' );
758: FND_MSG_PUB.ADD;
759: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
760: RAISE FND_API.G_EXC_ERROR;
761:
762: end if;
763:
764: -- getting disbursement header info from db
772: FND_MESSAGE.SET_TOKEN('RECORD', 'disbursement header');
773: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(P_DISB_HEADER_REC.DISB_HEADER_ID), 'null'));
774: FND_MSG_PUB.ADD;
775: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
776: RAISE FND_API.G_EXC_ERROR;
777:
778: end if;
779:
780: close disb_head_cur;
785: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_RECORD_CHANGED');
786: FND_MESSAGE.SET_TOKEN('TABLE', 'LNS_DISB_HEADERS');
787: FND_MSG_PUB.ADD;
788: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
789: RAISE FND_API.G_EXC_ERROR;
790:
791: end if;
792:
793: l_disb_header_version := nvl(l_disb_header_version, 1) + 1;
807: P_AUTOFUNDING_FLAG => P_DISB_HEADER_REC.AUTOFUNDING_FLAG,
808: P_PHASE => P_DISB_HEADER_REC.PHASE,
809: P_DESCRIPTION => P_DISB_HEADER_REC.DESCRIPTION);
810:
811: if P_COMMIT = FND_API.G_TRUE then
812: COMMIT WORK;
813: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
814: end if;
815:
813: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
814: end if;
815:
816: -- END OF BODY OF API
817: x_return_status := FND_API.G_RET_STS_SUCCESS;
818:
819: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully updated disbursement header ' || P_DISB_HEADER_REC.DISB_HEADER_ID);
820:
821: -- Standard call to get message count and if count is 1, get message info
819: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully updated disbursement header ' || P_DISB_HEADER_REC.DISB_HEADER_ID);
820:
821: -- Standard call to get message count and if count is 1, get message info
822: FND_MSG_PUB.Count_And_Get(
823: p_encoded => FND_API.G_FALSE,
824: p_count => x_msg_count,
825: p_data => x_msg_data);
826:
827: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
826:
827: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
828:
829: EXCEPTION
830: WHEN FND_API.G_EXC_ERROR THEN
831: ROLLBACK TO UPDATE_DISB_HEADER;
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
834: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
828:
829: EXCEPTION
830: WHEN FND_API.G_EXC_ERROR THEN
831: ROLLBACK TO UPDATE_DISB_HEADER;
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
834: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
835: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
836: ROLLBACK TO UPDATE_DISB_HEADER;
831: ROLLBACK TO UPDATE_DISB_HEADER;
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
834: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
835: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
836: ROLLBACK TO UPDATE_DISB_HEADER;
837: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
838: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
839: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
833: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
834: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
835: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
836: ROLLBACK TO UPDATE_DISB_HEADER;
837: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
838: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
839: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
840: WHEN OTHERS THEN
841: ROLLBACK TO UPDATE_DISB_HEADER;
838: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
839: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
840: WHEN OTHERS THEN
841: ROLLBACK TO UPDATE_DISB_HEADER;
842: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
843: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
844: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
845: END IF;
846: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
934: SAVEPOINT DELETE_DISB_HEADER;
935: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
936:
937: -- Standard call to check for call compatibility
938: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
939: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
940: END IF;
941:
942: -- Initialize message list if p_init_msg_list is set to TRUE
935: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
936:
937: -- Standard call to check for call compatibility
938: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
939: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
940: END IF;
941:
942: -- Initialize message list if p_init_msg_list is set to TRUE
943: IF FND_API.To_Boolean(p_init_msg_list) THEN
939: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
940: END IF;
941:
942: -- Initialize message list if p_init_msg_list is set to TRUE
943: IF FND_API.To_Boolean(p_init_msg_list) THEN
944: FND_MSG_PUB.initialize;
945: END IF;
946:
947: -- Initialize API return status to success
944: FND_MSG_PUB.initialize;
945: END IF;
946:
947: -- Initialize API return status to success
948: l_return_status := FND_API.G_RET_STS_SUCCESS;
949:
950: -- START OF BODY OF API
951:
952: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Deleting disbursement header...');
960: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
961: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'disb_header_id' );
962: FND_MSG_PUB.ADD;
963: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
964: RAISE FND_API.G_EXC_ERROR;
965:
966: end if;
967:
968: -- getting disbursement header info from db
976: FND_MESSAGE.SET_TOKEN('RECORD', 'disbursement header');
977: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(P_DISB_HEADER_ID), 'null'));
978: FND_MSG_PUB.ADD;
979: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
980: RAISE FND_API.G_EXC_ERROR;
981:
982: end if;
983:
984: close disb_head_cur;
988: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Cannot delete disbursement header. It has already been processed.');
989: FND_MESSAGE.SET_NAME('LNS', 'LNS_CANT_DEL_DISB_HDR');
990: FND_MSG_PUB.ADD;
991: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
992: RAISE FND_API.G_EXC_ERROR;
993:
994: end if;
995:
996: open disb_line_cur(P_DISB_HEADER_ID);
1000: exit when disb_line_cur%NOTFOUND;
1001:
1002: DELETE_DISB_LINE(
1003: P_API_VERSION => 1.0,
1004: P_INIT_MSG_LIST => FND_API.G_TRUE,
1005: P_COMMIT => FND_API.G_FALSE,
1006: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1007: P_DISB_LINE_ID => l_disb_line_id,
1008: X_RETURN_STATUS => l_return_status,
1001:
1002: DELETE_DISB_LINE(
1003: P_API_VERSION => 1.0,
1004: P_INIT_MSG_LIST => FND_API.G_TRUE,
1005: P_COMMIT => FND_API.G_FALSE,
1006: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1007: P_DISB_LINE_ID => l_disb_line_id,
1008: X_RETURN_STATUS => l_return_status,
1009: X_MSG_COUNT => l_msg_count,
1002: DELETE_DISB_LINE(
1003: P_API_VERSION => 1.0,
1004: P_INIT_MSG_LIST => FND_API.G_TRUE,
1005: P_COMMIT => FND_API.G_FALSE,
1006: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
1007: P_DISB_LINE_ID => l_disb_line_id,
1008: X_RETURN_STATUS => l_return_status,
1009: X_MSG_COUNT => l_msg_count,
1010: X_MSG_DATA => l_msg_data);
1010: X_MSG_DATA => l_msg_data);
1011:
1012: IF l_return_status <> 'S' THEN
1013: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Call to DELETE_DISB_LINE failed');
1014: RAISE FND_API.G_EXC_ERROR;
1015: END IF;
1016:
1017: END LOOP;
1018: close disb_line_cur;
1025:
1026: -- calling table handler api
1027: LNS_DISB_HEADERS_PKG.Delete_Row(P_DISB_HEADER_ID);
1028:
1029: if P_COMMIT = FND_API.G_TRUE then
1030: COMMIT WORK;
1031: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1032: end if;
1033:
1031: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1032: end if;
1033:
1034: -- END OF BODY OF API
1035: x_return_status := FND_API.G_RET_STS_SUCCESS;
1036:
1037: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully deleted disbursement header ' || P_DISB_HEADER_ID);
1038:
1039: -- Standard call to get message count and if count is 1, get message info
1037: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully deleted disbursement header ' || P_DISB_HEADER_ID);
1038:
1039: -- Standard call to get message count and if count is 1, get message info
1040: FND_MSG_PUB.Count_And_Get(
1041: p_encoded => FND_API.G_FALSE,
1042: p_count => x_msg_count,
1043: p_data => x_msg_data);
1044:
1045: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1044:
1045: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1046:
1047: EXCEPTION
1048: WHEN FND_API.G_EXC_ERROR THEN
1049: ROLLBACK TO DELETE_DISB_HEADER;
1050: x_return_status := FND_API.G_RET_STS_ERROR;
1051: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1052: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1046:
1047: EXCEPTION
1048: WHEN FND_API.G_EXC_ERROR THEN
1049: ROLLBACK TO DELETE_DISB_HEADER;
1050: x_return_status := FND_API.G_RET_STS_ERROR;
1051: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1052: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1053: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1054: ROLLBACK TO DELETE_DISB_HEADER;
1049: ROLLBACK TO DELETE_DISB_HEADER;
1050: x_return_status := FND_API.G_RET_STS_ERROR;
1051: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1052: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1053: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1054: ROLLBACK TO DELETE_DISB_HEADER;
1055: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1056: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1057: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1051: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1052: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1053: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1054: ROLLBACK TO DELETE_DISB_HEADER;
1055: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1056: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1057: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1058: WHEN OTHERS THEN
1059: ROLLBACK TO DELETE_DISB_HEADER;
1056: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1057: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1058: WHEN OTHERS THEN
1059: ROLLBACK TO DELETE_DISB_HEADER;
1060: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1061: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
1062: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1063: END IF;
1064: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1138: SAVEPOINT INSERT_DISB_LINE;
1139: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
1140:
1141: -- Standard call to check for call compatibility
1142: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1143: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1144: END IF;
1145:
1146: -- Initialize message list if p_init_msg_list is set to TRUE
1139: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
1140:
1141: -- Standard call to check for call compatibility
1142: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1143: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1144: END IF;
1145:
1146: -- Initialize message list if p_init_msg_list is set to TRUE
1147: IF FND_API.To_Boolean(p_init_msg_list) THEN
1143: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1144: END IF;
1145:
1146: -- Initialize message list if p_init_msg_list is set to TRUE
1147: IF FND_API.To_Boolean(p_init_msg_list) THEN
1148: FND_MSG_PUB.initialize;
1149: END IF;
1150:
1151: -- Initialize API return status to success
1148: FND_MSG_PUB.initialize;
1149: END IF;
1150:
1151: -- Initialize API return status to success
1152: l_return_status := FND_API.G_RET_STS_SUCCESS;
1153:
1154: -- START OF BODY OF API
1155:
1156: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Inserting disbursement line...');
1180: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
1181: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'disb_header_id' );
1182: FND_MSG_PUB.ADD;
1183: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1184: RAISE FND_API.G_EXC_ERROR;
1185:
1186: end if;
1187:
1188: if P_DISB_LINE_REC.LINE_PERCENT is null then
1190: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Line percent is missing');
1191: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAYEE_PERC');
1192: FND_MSG_PUB.ADD;
1193: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1194: RAISE FND_API.G_EXC_ERROR;
1195:
1196: end if;
1197:
1198: if P_DISB_LINE_REC.PAYEE_PARTY_ID is null then
1200: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Payee party ID is missing');
1201: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAYEE' );
1202: FND_MSG_PUB.ADD;
1203: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1204: RAISE FND_API.G_EXC_ERROR;
1205:
1206: end if;
1207:
1208: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_DISB_LINES_PKG.Insert_Row');
1228: P_TYPE_1099 => P_DISB_LINE_REC.TYPE_1099);
1229:
1230: LogMessage(FND_LOG.LEVEL_STATEMENT, 'P_DISB_LINE_REC.DISB_LINE_ID: ' || l_pk_id);
1231:
1232: if P_COMMIT = FND_API.G_TRUE then
1233: COMMIT WORK;
1234: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1235: end if;
1236:
1234: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1235: end if;
1236:
1237: -- END OF BODY OF API
1238: x_return_status := FND_API.G_RET_STS_SUCCESS;
1239:
1240: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted disbursement line ' || l_pk_id);
1241:
1242: -- Standard call to get message count and if count is 1, get message info
1240: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted disbursement line ' || l_pk_id);
1241:
1242: -- Standard call to get message count and if count is 1, get message info
1243: FND_MSG_PUB.Count_And_Get(
1244: p_encoded => FND_API.G_FALSE,
1245: p_count => x_msg_count,
1246: p_data => x_msg_data);
1247:
1248: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1247:
1248: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1249:
1250: EXCEPTION
1251: WHEN FND_API.G_EXC_ERROR THEN
1252: ROLLBACK TO INSERT_DISB_LINE;
1253: x_return_status := FND_API.G_RET_STS_ERROR;
1254: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1255: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1249:
1250: EXCEPTION
1251: WHEN FND_API.G_EXC_ERROR THEN
1252: ROLLBACK TO INSERT_DISB_LINE;
1253: x_return_status := FND_API.G_RET_STS_ERROR;
1254: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1255: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1256: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1257: ROLLBACK TO INSERT_DISB_LINE;
1252: ROLLBACK TO INSERT_DISB_LINE;
1253: x_return_status := FND_API.G_RET_STS_ERROR;
1254: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1255: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1256: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1257: ROLLBACK TO INSERT_DISB_LINE;
1258: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1259: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1260: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1254: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1255: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1256: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1257: ROLLBACK TO INSERT_DISB_LINE;
1258: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1259: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1260: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1261: WHEN OTHERS THEN
1262: ROLLBACK TO INSERT_DISB_LINE;
1259: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1260: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1261: WHEN OTHERS THEN
1262: ROLLBACK TO INSERT_DISB_LINE;
1263: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1264: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
1265: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1266: END IF;
1267: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1348: SAVEPOINT UPDATE_DISB_LINE;
1349: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
1350:
1351: -- Standard call to check for call compatibility
1352: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1354: END IF;
1355:
1356: -- Initialize message list if p_init_msg_list is set to TRUE
1349: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
1350:
1351: -- Standard call to check for call compatibility
1352: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1354: END IF;
1355:
1356: -- Initialize message list if p_init_msg_list is set to TRUE
1357: IF FND_API.To_Boolean(p_init_msg_list) THEN
1353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1354: END IF;
1355:
1356: -- Initialize message list if p_init_msg_list is set to TRUE
1357: IF FND_API.To_Boolean(p_init_msg_list) THEN
1358: FND_MSG_PUB.initialize;
1359: END IF;
1360:
1361: -- Initialize API return status to success
1358: FND_MSG_PUB.initialize;
1359: END IF;
1360:
1361: -- Initialize API return status to success
1362: l_return_status := FND_API.G_RET_STS_SUCCESS;
1363:
1364: -- START OF BODY OF API
1365:
1366: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Updating disbursement line...');
1390: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
1391: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'disb_line_id' );
1392: FND_MSG_PUB.ADD;
1393: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1394: RAISE FND_API.G_EXC_ERROR;
1395:
1396: end if;
1397:
1398: -- getting disbursement line info from db
1406: FND_MESSAGE.SET_TOKEN('RECORD', 'disbursement line');
1407: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(P_DISB_LINE_REC.DISB_LINE_ID), 'null'));
1408: FND_MSG_PUB.ADD;
1409: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1410: RAISE FND_API.G_EXC_ERROR;
1411:
1412: end if;
1413:
1414: close disb_line_cur;
1419: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_RECORD_CHANGED');
1420: FND_MESSAGE.SET_TOKEN('TABLE', 'LNS_DISB_LINES');
1421: FND_MSG_PUB.ADD;
1422: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1423: RAISE FND_API.G_EXC_ERROR;
1424:
1425: end if;
1426:
1427: l_disb_line_version := nvl(l_disb_line_version, 1) + 1;
1445: P_PARTY_SITE_ID => P_DISB_LINE_REC.PARTY_SITE_ID,
1446: P_INCOME_TAX_REGION => P_DISB_LINE_REC.INCOME_TAX_REGION,
1447: P_TYPE_1099 => P_DISB_LINE_REC.TYPE_1099);
1448:
1449: if P_COMMIT = FND_API.G_TRUE then
1450: COMMIT WORK;
1451: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1452: end if;
1453:
1451: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1452: end if;
1453:
1454: -- END OF BODY OF API
1455: x_return_status := FND_API.G_RET_STS_SUCCESS;
1456:
1457: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully updated disbursement line ' || P_DISB_LINE_REC.DISB_LINE_ID);
1458:
1459: -- Standard call to get message count and if count is 1, get message info
1457: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully updated disbursement line ' || P_DISB_LINE_REC.DISB_LINE_ID);
1458:
1459: -- Standard call to get message count and if count is 1, get message info
1460: FND_MSG_PUB.Count_And_Get(
1461: p_encoded => FND_API.G_FALSE,
1462: p_count => x_msg_count,
1463: p_data => x_msg_data);
1464:
1465: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1464:
1465: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1466:
1467: EXCEPTION
1468: WHEN FND_API.G_EXC_ERROR THEN
1469: ROLLBACK TO UPDATE_DISB_LINE;
1470: x_return_status := FND_API.G_RET_STS_ERROR;
1471: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1472: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1466:
1467: EXCEPTION
1468: WHEN FND_API.G_EXC_ERROR THEN
1469: ROLLBACK TO UPDATE_DISB_LINE;
1470: x_return_status := FND_API.G_RET_STS_ERROR;
1471: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1472: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1473: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1474: ROLLBACK TO UPDATE_DISB_LINE;
1469: ROLLBACK TO UPDATE_DISB_LINE;
1470: x_return_status := FND_API.G_RET_STS_ERROR;
1471: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1472: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1473: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1474: ROLLBACK TO UPDATE_DISB_LINE;
1475: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1476: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1477: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1471: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1472: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1473: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1474: ROLLBACK TO UPDATE_DISB_LINE;
1475: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1476: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1477: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1478: WHEN OTHERS THEN
1479: ROLLBACK TO UPDATE_DISB_LINE;
1476: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1477: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1478: WHEN OTHERS THEN
1479: ROLLBACK TO UPDATE_DISB_LINE;
1480: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1481: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
1482: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1483: END IF;
1484: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1566: SAVEPOINT DELETE_DISB_LINE;
1567: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
1568:
1569: -- Standard call to check for call compatibility
1570: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1571: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1572: END IF;
1573:
1574: -- Initialize message list if p_init_msg_list is set to TRUE
1567: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
1568:
1569: -- Standard call to check for call compatibility
1570: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1571: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1572: END IF;
1573:
1574: -- Initialize message list if p_init_msg_list is set to TRUE
1575: IF FND_API.To_Boolean(p_init_msg_list) THEN
1571: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1572: END IF;
1573:
1574: -- Initialize message list if p_init_msg_list is set to TRUE
1575: IF FND_API.To_Boolean(p_init_msg_list) THEN
1576: FND_MSG_PUB.initialize;
1577: END IF;
1578:
1579: -- Initialize API return status to success
1576: FND_MSG_PUB.initialize;
1577: END IF;
1578:
1579: -- Initialize API return status to success
1580: l_return_status := FND_API.G_RET_STS_SUCCESS;
1581:
1582: -- START OF BODY OF API
1583:
1584: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Deleting disbursement line...');
1593: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
1594: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'disb_line_id' );
1595: FND_MSG_PUB.ADD;
1596: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1597: RAISE FND_API.G_EXC_ERROR;
1598:
1599: end if;
1600:
1601: -- getting disbursement header and line info from db
1609: FND_MESSAGE.SET_TOKEN('RECORD', 'disbursement line');
1610: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(P_DISB_LINE_ID), 'null'));
1611: FND_MSG_PUB.ADD;
1612: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1613: RAISE FND_API.G_EXC_ERROR;
1614:
1615: end if;
1616:
1617: close disb_head_cur;
1621: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Cannot delete disbursement line. It has already been processed.');
1622: FND_MESSAGE.SET_NAME('LNS', 'LNS_CANT_DEL_DISB_LN');
1623: FND_MSG_PUB.ADD;
1624: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
1625: RAISE FND_API.G_EXC_ERROR;
1626:
1627: end if;
1628:
1629: -- calling table handler api
1628:
1629: -- calling table handler api
1630: LNS_DISB_LINES_PKG.Delete_Row(P_DISB_LINE_ID);
1631:
1632: if P_COMMIT = FND_API.G_TRUE then
1633: COMMIT WORK;
1634: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1635: end if;
1636:
1634: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
1635: end if;
1636:
1637: -- END OF BODY OF API
1638: x_return_status := FND_API.G_RET_STS_SUCCESS;
1639:
1640: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully deleted disbursement line ' || P_DISB_LINE_ID);
1641:
1642: -- Standard call to get message count and if count is 1, get message info
1640: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully deleted disbursement line ' || P_DISB_LINE_ID);
1641:
1642: -- Standard call to get message count and if count is 1, get message info
1643: FND_MSG_PUB.Count_And_Get(
1644: p_encoded => FND_API.G_FALSE,
1645: p_count => x_msg_count,
1646: p_data => x_msg_data);
1647:
1648: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1647:
1648: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
1649:
1650: EXCEPTION
1651: WHEN FND_API.G_EXC_ERROR THEN
1652: ROLLBACK TO DELETE_DISB_LINE;
1653: x_return_status := FND_API.G_RET_STS_ERROR;
1654: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1655: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1649:
1650: EXCEPTION
1651: WHEN FND_API.G_EXC_ERROR THEN
1652: ROLLBACK TO DELETE_DISB_LINE;
1653: x_return_status := FND_API.G_RET_STS_ERROR;
1654: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1655: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1656: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1657: ROLLBACK TO DELETE_DISB_LINE;
1652: ROLLBACK TO DELETE_DISB_LINE;
1653: x_return_status := FND_API.G_RET_STS_ERROR;
1654: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1655: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1656: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1657: ROLLBACK TO DELETE_DISB_LINE;
1658: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1659: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1660: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1654: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1655: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1656: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1657: ROLLBACK TO DELETE_DISB_LINE;
1658: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1659: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1660: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1661: WHEN OTHERS THEN
1662: ROLLBACK TO DELETE_DISB_LINE;
1659: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1660: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
1661: WHEN OTHERS THEN
1662: ROLLBACK TO DELETE_DISB_LINE;
1663: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1664: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
1665: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1666: END IF;
1667: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1780:
1781: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling IBY_DISBURSEMENT_SETUP_PUB.Create_External_Payee...');
1782: IBY_DISBURSEMENT_SETUP_PUB.Create_External_Payee (
1783: p_api_version => 1.0,
1784: p_init_msg_list => FND_API.G_TRUE,
1785: p_ext_payee_tab => l_External_Payee_Tab,
1786: x_return_status => l_return_status,
1787: x_msg_count => l_msg_count,
1788: x_msg_data => l_msg_data,
1803: if (l_Ext_Payee_Create_Tab(l_Count).Payee_Creation_Status = 'E') then
1804: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
1805: FND_MESSAGE.SET_TOKEN('ERROR' ,'Failed API call: IBY_DISBURSEMENT_SETUP_PUB.Create_External_Payee' || ' Payee_Creation_Msg: ' || l_Ext_Payee_Create_Tab(l_Count).Payee_Creation_Msg);
1806: FND_MSG_PUB.ADD;
1807: RAISE FND_API.G_EXC_ERROR;
1808: end if;
1809: END LOOP;
1810:
1811: if l_return_status = 'E' then
1811: if l_return_status = 'E' then
1812: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
1813: FND_MESSAGE.SET_TOKEN('ERROR' ,'Failed API call: IBY_DISBURSEMENT_SETUP_PUB.Create_External_Payee');
1814: FND_MSG_PUB.ADD;
1815: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1816: p_count => l_msg_count,
1817: p_data => l_msg_data);
1818: RAISE FND_API.G_EXC_ERROR;
1819: end if;
1814: FND_MSG_PUB.ADD;
1815: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1816: p_count => l_msg_count,
1817: p_data => l_msg_data);
1818: RAISE FND_API.G_EXC_ERROR;
1819: end if;
1820:
1821: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully created external iby payees');
1822:
1962: LogMessage(FND_LOG.LEVEL_PROCEDURE, ' ');
1963: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
1964:
1965: -- Standard call to check for call compatibility
1966: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1967: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1968: END IF;
1969:
1970: -- Initialize message list if p_init_msg_list is set to TRUE
1963: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
1964:
1965: -- Standard call to check for call compatibility
1966: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1967: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1968: END IF;
1969:
1970: -- Initialize message list if p_init_msg_list is set to TRUE
1971: IF FND_API.To_Boolean(p_init_msg_list) THEN
1967: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1968: END IF;
1969:
1970: -- Initialize message list if p_init_msg_list is set to TRUE
1971: IF FND_API.To_Boolean(p_init_msg_list) THEN
1972: FND_MSG_PUB.initialize;
1973: END IF;
1974:
1975: -- Initialize API return status to success
1972: FND_MSG_PUB.initialize;
1973: END IF;
1974:
1975: -- Initialize API return status to success
1976: l_return_status := FND_API.G_RET_STS_SUCCESS;
1977:
1978: -- START OF BODY OF API
1979:
1980: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Input:');
1985: close loan_info_cur;
1986: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Current phase: ' || l_current_phase);
1987:
1988: if l_current_phase = 'TERM' then
1989: x_return_status := FND_API.G_RET_STS_SUCCESS;
1990: return;
1991: end if;
1992:
1993: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Validating disbursement schedule...');
2023: -- LogMessage(FND_LOG.LEVEL_STATEMENT, 'ERROR: Disbursement schedule is not found');
2024: FND_MESSAGE.SET_NAME('LNS', 'LNS_CREATE_DISB_SCHED');
2025: FND_MSG_PUB.ADD;
2026: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2027: RAISE FND_API.G_EXC_ERROR;
2028:
2029: elsif disb_headers_cur%NOTFOUND and l_count > 0 then
2030: exit;
2031: end if;
2057: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
2058: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'loan id' );
2059: FND_MSG_PUB.ADD;
2060: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2061: RAISE FND_API.G_EXC_ERROR;
2062:
2063: end if;
2064:
2065: if l_DISB_HEADER_REC.ACTIVITY_CODE is null then
2071: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Activity code is missing');
2072: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_DISB_ACTIV' );
2073: FND_MSG_PUB.ADD;
2074: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2075: RAISE FND_API.G_EXC_ERROR;
2076:
2077: end if;
2078:
2079: if l_DISB_HEADER_REC.HEADER_PERCENT is null or l_DISB_HEADER_REC.HEADER_AMOUNT is null then
2085: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Disbursement percent is missing');
2086: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_DISB_PERC' );
2087: FND_MSG_PUB.ADD;
2088: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2089: RAISE FND_API.G_EXC_ERROR;
2090:
2091: end if;
2092:
2093: if l_DISB_HEADER_REC.TARGET_DATE is null then
2099: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Target date is missing');
2100: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_TARGET_DATE' );
2101: FND_MSG_PUB.ADD;
2102: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2103: RAISE FND_API.G_EXC_ERROR;
2104:
2105: end if;
2106:
2107: if trunc(l_DISB_HEADER_REC.TARGET_DATE) < trunc(l_loan_start_date) then
2109: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Target date must be later that start date');
2110: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_DISB_TARGET_DATE_ERR' );
2111: FND_MSG_PUB.ADD;
2112: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2113: RAISE FND_API.G_EXC_ERROR;
2114:
2115: end if;
2116:
2117: l_sum_percent := l_sum_percent + l_DISB_HEADER_REC.HEADER_PERCENT;
2145: FND_MESSAGE.SET_TOKEN('RECORD', 'disbursement line record');
2146: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(l_DISB_HEADER_REC.DISB_HEADER_ID), 'null'));
2147: FND_MSG_PUB.ADD;
2148: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2149: RAISE FND_API.G_EXC_ERROR;
2150:
2151: elsif disb_lines_cur%NOTFOUND and l_count1 > 0 then
2152: exit;
2153: end if;
2176: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
2177: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'disb_header_id' );
2178: FND_MSG_PUB.ADD;
2179: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2180: RAISE FND_API.G_EXC_ERROR;
2181:
2182: end if;
2183:
2184: if l_DISB_LINE_REC.LINE_PERCENT is null or l_DISB_LINE_REC.LINE_AMOUNT is null then
2190: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Line percent is missing');
2191: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAYEE_PERC' );
2192: FND_MSG_PUB.ADD;
2193: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2194: RAISE FND_API.G_EXC_ERROR;
2195:
2196: end if;
2197:
2198: if l_DISB_LINE_REC.PAYEE_PARTY_ID is null then
2204: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Payee party ID is missing');
2205: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAYEE' );
2206: FND_MSG_PUB.ADD;
2207: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2208: RAISE FND_API.G_EXC_ERROR;
2209:
2210: end if;
2211:
2212: -- validate party_site for the party
2223: -- LogMessage(FND_LOG.LEVEL_STATEMENT, 'ERROR: No site exist for the party');
2224: FND_MESSAGE.SET_NAME('LNS', 'LNS_CREATE_PARTY_SITE');
2225: FND_MSG_PUB.ADD;
2226: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2227: RAISE FND_API.G_EXC_ERROR;
2228:
2229: end if;
2230: close party_site_cur;
2231:
2248: FND_MESSAGE.SET_NAME('LNS', 'LNS_DISB_LN_PERC_INVALID');
2249: FND_MESSAGE.SET_TOKEN('DISB_NUM', l_DISB_HEADER_REC.DISBURSEMENT_NUMBER);
2250: FND_MSG_PUB.ADD;
2251: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2252: RAISE FND_API.G_EXC_ERROR;
2253: end if;
2254:
2255: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Disbursement header ' || l_count || ' is OK');
2256:
2267: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Total percentage of all disbursements: ' || l_sum_percent);
2268: FND_MESSAGE.SET_NAME('LNS', 'LNS_DISB_HDR_PERC_INVALID');
2269: FND_MSG_PUB.ADD;
2270: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2271: RAISE FND_API.G_EXC_ERROR;
2272: end if;
2273:
2274: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated disbursement schedule');
2275:
2273:
2274: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated disbursement schedule');
2275:
2276: -- END OF BODY OF API
2277: x_return_status := FND_API.G_RET_STS_SUCCESS;
2278:
2279: -- Standard call to get message count and if count is 1, get message info
2280: FND_MSG_PUB.Count_And_Get(
2281: p_encoded => FND_API.G_FALSE,
2277: x_return_status := FND_API.G_RET_STS_SUCCESS;
2278:
2279: -- Standard call to get message count and if count is 1, get message info
2280: FND_MSG_PUB.Count_And_Get(
2281: p_encoded => FND_API.G_FALSE,
2282: p_count => x_msg_count,
2283: p_data => x_msg_data);
2284:
2285: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2284:
2285: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2286:
2287: EXCEPTION
2288: WHEN FND_API.G_EXC_ERROR THEN
2289: x_return_status := FND_API.G_RET_STS_ERROR;
2290: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2291: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2292: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2285: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2286:
2287: EXCEPTION
2288: WHEN FND_API.G_EXC_ERROR THEN
2289: x_return_status := FND_API.G_RET_STS_ERROR;
2290: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2291: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2292: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2293: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2287: EXCEPTION
2288: WHEN FND_API.G_EXC_ERROR THEN
2289: x_return_status := FND_API.G_RET_STS_ERROR;
2290: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2291: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2292: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2293: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2294: WHEN OTHERS THEN
2295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2288: WHEN FND_API.G_EXC_ERROR THEN
2289: x_return_status := FND_API.G_RET_STS_ERROR;
2290: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2291: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2292: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2293: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2294: WHEN OTHERS THEN
2295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2296: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
2291: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2292: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2293: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2294: WHEN OTHERS THEN
2295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2296: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
2297: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2298: END IF;
2299: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2389: LogMessage(FND_LOG.LEVEL_PROCEDURE, ' ');
2390: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
2391:
2392: -- Standard call to check for call compatibility
2393: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2394: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2395: END IF;
2396:
2397: -- Initialize message list if p_init_msg_list is set to TRUE
2390: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
2391:
2392: -- Standard call to check for call compatibility
2393: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2394: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2395: END IF;
2396:
2397: -- Initialize message list if p_init_msg_list is set to TRUE
2398: IF FND_API.To_Boolean(p_init_msg_list) THEN
2394: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2395: END IF;
2396:
2397: -- Initialize message list if p_init_msg_list is set to TRUE
2398: IF FND_API.To_Boolean(p_init_msg_list) THEN
2399: FND_MSG_PUB.initialize;
2400: END IF;
2401:
2402: -- Initialize API return status to success
2399: FND_MSG_PUB.initialize;
2400: END IF;
2401:
2402: -- Initialize API return status to success
2403: l_return_status := FND_API.G_RET_STS_SUCCESS;
2404:
2405: -- START OF BODY OF API
2406:
2407: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Validating disbursement header for payment request submition...');
2434: FND_MESSAGE.SET_TOKEN('RECORD', 'disbursement header record');
2435: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(P_DISB_HEADER_ID), 'null'));
2436: FND_MSG_PUB.ADD;
2437: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2438: RAISE FND_API.G_EXC_ERROR;
2439:
2440: end if;
2441:
2442: close validate_cur;
2446: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Activity code is missing');
2447: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_DISB_ACTIV' );
2448: FND_MSG_PUB.ADD;
2449: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2450: RAISE FND_API.G_EXC_ERROR;
2451:
2452: end if;
2453:
2454: if l_DISB_HEADER_REC.HEADER_AMOUNT is null then
2456: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Disbursement percent is missing');
2457: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_DISB_PERC' );
2458: FND_MSG_PUB.ADD;
2459: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2460: RAISE FND_API.G_EXC_ERROR;
2461:
2462: end if;
2463:
2464: -- validate Payment request date
2467: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Payment request date is missing');
2468: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAY_REQ_DATE' );
2469: FND_MSG_PUB.ADD;
2470: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2471: RAISE FND_API.G_EXC_ERROR;
2472: end if;
2473:
2474: if trunc(l_DISB_HEADER_REC.PAYMENT_REQUEST_DATE) < trunc(l_open_start_date) then
2475:
2476: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Payment request date must be greater than open start date');
2477: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_PAY_REQ_DT_INVALID' );
2478: FND_MSG_PUB.ADD;
2479: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2480: RAISE FND_API.G_EXC_ERROR;
2481:
2482: end if;
2483:
2484: -- validate that no lines without payment method
2487: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'There are disb lines without payment method');
2488: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAY_METHOD' );
2489: FND_MSG_PUB.ADD;
2490: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2491: RAISE FND_API.G_EXC_ERROR;
2492: end if;
2493:
2494: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated disbursement header for payment request submition');
2495:
2493:
2494: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated disbursement header for payment request submition');
2495:
2496: -- END OF BODY OF API
2497: x_return_status := FND_API.G_RET_STS_SUCCESS;
2498:
2499: -- Standard call to get message count and if count is 1, get message info
2500: FND_MSG_PUB.Count_And_Get(
2501: p_encoded => FND_API.G_FALSE,
2497: x_return_status := FND_API.G_RET_STS_SUCCESS;
2498:
2499: -- Standard call to get message count and if count is 1, get message info
2500: FND_MSG_PUB.Count_And_Get(
2501: p_encoded => FND_API.G_FALSE,
2502: p_count => x_msg_count,
2503: p_data => x_msg_data);
2504:
2505: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2504:
2505: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2506:
2507: EXCEPTION
2508: WHEN FND_API.G_EXC_ERROR THEN
2509: x_return_status := FND_API.G_RET_STS_ERROR;
2510: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2511: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2505: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2506:
2507: EXCEPTION
2508: WHEN FND_API.G_EXC_ERROR THEN
2509: x_return_status := FND_API.G_RET_STS_ERROR;
2510: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2511: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2513: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2507: EXCEPTION
2508: WHEN FND_API.G_EXC_ERROR THEN
2509: x_return_status := FND_API.G_RET_STS_ERROR;
2510: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2511: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2513: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2514: WHEN OTHERS THEN
2515: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2508: WHEN FND_API.G_EXC_ERROR THEN
2509: x_return_status := FND_API.G_RET_STS_ERROR;
2510: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2511: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2513: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2514: WHEN OTHERS THEN
2515: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2516: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
2511: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2513: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2514: WHEN OTHERS THEN
2515: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2516: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
2517: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2518: END IF;
2519: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2649: SAVEPOINT VALIDATE_DISB_LINES;
2650: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
2651:
2652: -- Standard call to check for call compatibility
2653: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2655: END IF;
2656:
2657: -- Initialize message list if p_init_msg_list is set to TRUE
2650: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
2651:
2652: -- Standard call to check for call compatibility
2653: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2655: END IF;
2656:
2657: -- Initialize message list if p_init_msg_list is set to TRUE
2658: IF FND_API.To_Boolean(p_init_msg_list) THEN
2654: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2655: END IF;
2656:
2657: -- Initialize message list if p_init_msg_list is set to TRUE
2658: IF FND_API.To_Boolean(p_init_msg_list) THEN
2659: FND_MSG_PUB.initialize;
2660: END IF;
2661:
2662: -- Initialize API return status to success
2659: FND_MSG_PUB.initialize;
2660: END IF;
2661:
2662: -- Initialize API return status to success
2663: l_return_status := FND_API.G_RET_STS_SUCCESS;
2664:
2665: -- START OF BODY OF API
2666:
2667: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Validating disbursement lines for header ' || P_DISB_HEADER_ID || '...');
2727: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
2728: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'disb_header_id' );
2729: FND_MSG_PUB.ADD;
2730: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2731: RAISE FND_API.G_EXC_ERROR;
2732:
2733: end if;
2734:
2735: if l_DISB_LINE_REC.LINE_PERCENT is null then
2737: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Line percent is missing');
2738: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAYEE_PERC' );
2739: FND_MSG_PUB.ADD;
2740: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2741: RAISE FND_API.G_EXC_ERROR;
2742:
2743: end if;
2744:
2745: if l_DISB_LINE_REC.PAYEE_PARTY_ID is null then
2747: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Payee party ID is missing');
2748: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_PAYEE' );
2749: FND_MSG_PUB.ADD;
2750: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2751: RAISE FND_API.G_EXC_ERROR;
2752:
2753: end if;
2754:
2755: /* -- disabled below validation as part of fix for bug 9709380
2763: -- LogMessage(FND_LOG.LEVEL_STATEMENT, 'ERROR: No site exist for the party');
2764: FND_MESSAGE.SET_NAME('LNS', 'LNS_CREATE_PARTY_SITE');
2765: FND_MSG_PUB.ADD;
2766: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2767: RAISE FND_API.G_EXC_ERROR;
2768:
2769: end if;
2770: close party_site_cur;
2771: */
2814: FND_MESSAGE.SET_NAME('LNS', 'LNS_DISB_LN_PERC_INVALID');
2815: FND_MESSAGE.SET_TOKEN('DISB_NUM', l_disb_number);
2816: FND_MSG_PUB.ADD;
2817: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
2818: RAISE FND_API.G_EXC_ERROR;
2819: end if;
2820:
2821: -- loop thru table and update disb lines table
2822: FOR l_Count1 IN 1..l_DISB_LINES_TBL.COUNT LOOP
2822: FOR l_Count1 IN 1..l_DISB_LINES_TBL.COUNT LOOP
2823:
2824: UPDATE_DISB_LINE(
2825: P_API_VERSION => 1.0,
2826: P_INIT_MSG_LIST => FND_API.G_TRUE,
2827: P_COMMIT => FND_API.G_FALSE,
2828: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
2829: P_DISB_LINE_REC => l_DISB_LINES_TBL(l_Count1),
2830: X_RETURN_STATUS => l_return_status,
2823:
2824: UPDATE_DISB_LINE(
2825: P_API_VERSION => 1.0,
2826: P_INIT_MSG_LIST => FND_API.G_TRUE,
2827: P_COMMIT => FND_API.G_FALSE,
2828: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
2829: P_DISB_LINE_REC => l_DISB_LINES_TBL(l_Count1),
2830: X_RETURN_STATUS => l_return_status,
2831: X_MSG_COUNT => l_msg_count,
2824: UPDATE_DISB_LINE(
2825: P_API_VERSION => 1.0,
2826: P_INIT_MSG_LIST => FND_API.G_TRUE,
2827: P_COMMIT => FND_API.G_FALSE,
2828: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
2829: P_DISB_LINE_REC => l_DISB_LINES_TBL(l_Count1),
2830: X_RETURN_STATUS => l_return_status,
2831: X_MSG_COUNT => l_msg_count,
2832: X_MSG_DATA => l_msg_data);
2832: X_MSG_DATA => l_msg_data);
2833:
2834: IF l_return_status <> 'S' THEN
2835: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Call to UPDATE_DISB_LINE failed');
2836: RAISE FND_API.G_EXC_ERROR;
2837: END IF;
2838:
2839: END LOOP;
2840:
2837: END IF;
2838:
2839: END LOOP;
2840:
2841: if P_COMMIT = FND_API.G_TRUE then
2842: COMMIT WORK;
2843: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
2844: end if;
2845:
2845:
2846: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated disbursement lines for header ' || P_DISB_HEADER_ID);
2847:
2848: -- END OF BODY OF API
2849: x_return_status := FND_API.G_RET_STS_SUCCESS;
2850:
2851: -- Standard call to get message count and if count is 1, get message info
2852: FND_MSG_PUB.Count_And_Get(
2853: p_encoded => FND_API.G_FALSE,
2849: x_return_status := FND_API.G_RET_STS_SUCCESS;
2850:
2851: -- Standard call to get message count and if count is 1, get message info
2852: FND_MSG_PUB.Count_And_Get(
2853: p_encoded => FND_API.G_FALSE,
2854: p_count => x_msg_count,
2855: p_data => x_msg_data);
2856:
2857: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2856:
2857: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
2858:
2859: EXCEPTION
2860: WHEN FND_API.G_EXC_ERROR THEN
2861: ROLLBACK TO VALIDATE_DISB_LINES;
2862: x_return_status := FND_API.G_RET_STS_ERROR;
2863: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2864: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
2858:
2859: EXCEPTION
2860: WHEN FND_API.G_EXC_ERROR THEN
2861: ROLLBACK TO VALIDATE_DISB_LINES;
2862: x_return_status := FND_API.G_RET_STS_ERROR;
2863: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2864: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
2865: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2866: ROLLBACK TO VALIDATE_DISB_LINES;
2861: ROLLBACK TO VALIDATE_DISB_LINES;
2862: x_return_status := FND_API.G_RET_STS_ERROR;
2863: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2864: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
2865: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2866: ROLLBACK TO VALIDATE_DISB_LINES;
2867: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2868: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2869: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
2863: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2864: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
2865: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2866: ROLLBACK TO VALIDATE_DISB_LINES;
2867: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2868: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2869: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
2870: WHEN OTHERS THEN
2871: ROLLBACK TO VALIDATE_DISB_LINES;
2868: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2869: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
2870: WHEN OTHERS THEN
2871: ROLLBACK TO VALIDATE_DISB_LINES;
2872: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2873: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
2874: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2875: END IF;
2876: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3010: SAVEPOINT VALIDATE_DISB_HEADERS;
3011: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
3012:
3013: -- Standard call to check for call compatibility
3014: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
3015: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3016: END IF;
3017:
3018: -- Initialize message list if p_init_msg_list is set to TRUE
3011: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
3012:
3013: -- Standard call to check for call compatibility
3014: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
3015: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3016: END IF;
3017:
3018: -- Initialize message list if p_init_msg_list is set to TRUE
3019: IF FND_API.To_Boolean(p_init_msg_list) THEN
3015: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3016: END IF;
3017:
3018: -- Initialize message list if p_init_msg_list is set to TRUE
3019: IF FND_API.To_Boolean(p_init_msg_list) THEN
3020: FND_MSG_PUB.initialize;
3021: END IF;
3022:
3023: -- Initialize API return status to success
3020: FND_MSG_PUB.initialize;
3021: END IF;
3022:
3023: -- Initialize API return status to success
3024: l_return_status := FND_API.G_RET_STS_SUCCESS;
3025:
3026: -- START OF BODY OF API
3027:
3028: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Validating all disbursement headers...');
3086: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
3087: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'loan id' );
3088: FND_MSG_PUB.ADD;
3089: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3090: RAISE FND_API.G_EXC_ERROR;
3091:
3092: end if;
3093:
3094: if l_DISB_HEADER_REC.ACTIVITY_CODE is null and l_DISB_HEADER_REC.DESCRIPTION is null then
3096: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Activity code is missing');
3097: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_DISB_ACTIV' );
3098: FND_MSG_PUB.ADD;
3099: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3100: RAISE FND_API.G_EXC_ERROR;
3101:
3102: end if;
3103:
3104: if l_DISB_HEADER_REC.HEADER_PERCENT is null and l_DISB_HEADER_REC.HEADER_AMOUNT is null then
3106: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Disbursement percent is missing');
3107: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_DISB_PERC' );
3108: FND_MSG_PUB.ADD;
3109: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3110: RAISE FND_API.G_EXC_ERROR;
3111:
3112: end if;
3113:
3114: if l_DISB_HEADER_REC.TARGET_DATE is null and l_DISB_HEADER_REC.PHASE = 'OPEN' then
3116: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Target date is missing');
3117: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_ENTER_TARGET_DATE' );
3118: FND_MSG_PUB.ADD;
3119: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3120: RAISE FND_API.G_EXC_ERROR;
3121:
3122: end if;
3123: /*
3124: --karamach --Bug5295091
3128: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Payment Request date is less than today');
3129: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_DISB_REQ_DATE_ERR' );
3130: FND_MSG_PUB.ADD;
3131: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3132: RAISE FND_API.G_EXC_ERROR;
3133:
3134: end if;
3135: */
3136: if l_loan_status = 'INCOMPLETE' then
3139: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Target date must be later that start date');
3140: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_DISB_TARGET_DATE_ERR' );
3141: FND_MSG_PUB.ADD;
3142: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3143: RAISE FND_API.G_EXC_ERROR;
3144:
3145: end if;
3146: else
3147: if trunc(l_DISB_HEADER_REC.PAYMENT_REQUEST_DATE) < trunc(l_loan_start_date) then
3148: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Target date must be later that start date');
3149: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_DISB_TARGET_DATE_ERR' );
3150: FND_MSG_PUB.ADD;
3151: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3152: RAISE FND_API.G_EXC_ERROR;
3153:
3154: end if;
3155: end if;
3156: end if;
3213: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Total percentage of all disbursements: ' || l_sum_percent);
3214: FND_MESSAGE.SET_NAME('LNS', 'LNS_DISB_HDR_PERC_INVALID');
3215: FND_MSG_PUB.ADD;
3216: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
3217: RAISE FND_API.G_EXC_ERROR;
3218: end if;
3219:
3220: end if;
3221:
3223: FOR l_Count1 IN 1..l_DISB_HEADERS_TBL.COUNT LOOP
3224:
3225: UPDATE_DISB_HEADER(
3226: P_API_VERSION => 1.0,
3227: P_INIT_MSG_LIST => FND_API.G_TRUE,
3228: P_COMMIT => FND_API.G_FALSE,
3229: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3230: P_DISB_HEADER_REC => l_DISB_HEADERS_TBL(l_Count1),
3231: X_RETURN_STATUS => l_return_status,
3224:
3225: UPDATE_DISB_HEADER(
3226: P_API_VERSION => 1.0,
3227: P_INIT_MSG_LIST => FND_API.G_TRUE,
3228: P_COMMIT => FND_API.G_FALSE,
3229: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3230: P_DISB_HEADER_REC => l_DISB_HEADERS_TBL(l_Count1),
3231: X_RETURN_STATUS => l_return_status,
3232: X_MSG_COUNT => l_msg_count,
3225: UPDATE_DISB_HEADER(
3226: P_API_VERSION => 1.0,
3227: P_INIT_MSG_LIST => FND_API.G_TRUE,
3228: P_COMMIT => FND_API.G_FALSE,
3229: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3230: P_DISB_HEADER_REC => l_DISB_HEADERS_TBL(l_Count1),
3231: X_RETURN_STATUS => l_return_status,
3232: X_MSG_COUNT => l_msg_count,
3233: X_MSG_DATA => l_msg_data);
3233: X_MSG_DATA => l_msg_data);
3234:
3235: IF l_return_status <> 'S' THEN
3236: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_HEADER failed');
3237: RAISE FND_API.G_EXC_ERROR;
3238: END IF;
3239:
3240: VALIDATE_DISB_LINES(
3241: P_API_VERSION => 1.0,
3238: END IF;
3239:
3240: VALIDATE_DISB_LINES(
3241: P_API_VERSION => 1.0,
3242: P_INIT_MSG_LIST => FND_API.G_TRUE,
3243: P_COMMIT => FND_API.G_FALSE,
3244: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3245: P_DISB_HEADER_ID => l_DISB_HEADERS_TBL(l_Count1).DISB_HEADER_ID,
3246: X_RETURN_STATUS => l_return_status,
3239:
3240: VALIDATE_DISB_LINES(
3241: P_API_VERSION => 1.0,
3242: P_INIT_MSG_LIST => FND_API.G_TRUE,
3243: P_COMMIT => FND_API.G_FALSE,
3244: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3245: P_DISB_HEADER_ID => l_DISB_HEADERS_TBL(l_Count1).DISB_HEADER_ID,
3246: X_RETURN_STATUS => l_return_status,
3247: X_MSG_COUNT => l_msg_count,
3240: VALIDATE_DISB_LINES(
3241: P_API_VERSION => 1.0,
3242: P_INIT_MSG_LIST => FND_API.G_TRUE,
3243: P_COMMIT => FND_API.G_FALSE,
3244: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3245: P_DISB_HEADER_ID => l_DISB_HEADERS_TBL(l_Count1).DISB_HEADER_ID,
3246: X_RETURN_STATUS => l_return_status,
3247: X_MSG_COUNT => l_msg_count,
3248: X_MSG_DATA => l_msg_data);
3248: X_MSG_DATA => l_msg_data);
3249:
3250: IF l_return_status <> 'S' THEN
3251: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to VALIDATE_DISB_LINES failed');
3252: RAISE FND_API.G_EXC_ERROR;
3253: END IF;
3254:
3255: END LOOP;
3256: /*
3262: if l_move_maturity_date = -1 then
3263:
3264: lns_financials.shiftLoan(
3265: p_loan_id => P_LOAN_ID
3266: ,p_init_msg_list => FND_API.G_TRUE
3267: ,p_commit => FND_API.G_FALSE
3268: ,x_return_status => l_return_status
3269: ,x_msg_count => l_msg_count
3270: ,x_msg_data => l_msg_data);
3263:
3264: lns_financials.shiftLoan(
3265: p_loan_id => P_LOAN_ID
3266: ,p_init_msg_list => FND_API.G_TRUE
3267: ,p_commit => FND_API.G_FALSE
3268: ,x_return_status => l_return_status
3269: ,x_msg_count => l_msg_count
3270: ,x_msg_data => l_msg_data);
3271:
3270: ,x_msg_data => l_msg_data);
3271:
3272: IF l_return_status <> 'S' THEN
3273: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to lns_financials.shiftLoan failed');
3274: RAISE FND_API.G_EXC_ERROR;
3275: END IF;
3276:
3277: end if;
3278: */
3275: END IF;
3276:
3277: end if;
3278: */
3279: if P_COMMIT = FND_API.G_TRUE then
3280: COMMIT WORK;
3281: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
3282: end if;
3283:
3283:
3284: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated all disbursement headers');
3285:
3286: -- END OF BODY OF API
3287: x_return_status := FND_API.G_RET_STS_SUCCESS;
3288:
3289: -- Standard call to get message count and if count is 1, get message info
3290: FND_MSG_PUB.Count_And_Get(
3291: p_encoded => FND_API.G_FALSE,
3287: x_return_status := FND_API.G_RET_STS_SUCCESS;
3288:
3289: -- Standard call to get message count and if count is 1, get message info
3290: FND_MSG_PUB.Count_And_Get(
3291: p_encoded => FND_API.G_FALSE,
3292: p_count => x_msg_count,
3293: p_data => x_msg_data);
3294:
3295: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
3294:
3295: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
3296:
3297: EXCEPTION
3298: WHEN FND_API.G_EXC_ERROR THEN
3299: ROLLBACK TO VALIDATE_DISB_HEADERS;
3300: x_return_status := FND_API.G_RET_STS_ERROR;
3301: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3302: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3296:
3297: EXCEPTION
3298: WHEN FND_API.G_EXC_ERROR THEN
3299: ROLLBACK TO VALIDATE_DISB_HEADERS;
3300: x_return_status := FND_API.G_RET_STS_ERROR;
3301: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3302: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3303: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3304: ROLLBACK TO VALIDATE_DISB_HEADERS;
3299: ROLLBACK TO VALIDATE_DISB_HEADERS;
3300: x_return_status := FND_API.G_RET_STS_ERROR;
3301: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3302: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3303: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3304: ROLLBACK TO VALIDATE_DISB_HEADERS;
3305: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3306: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3307: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3301: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3302: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3303: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3304: ROLLBACK TO VALIDATE_DISB_HEADERS;
3305: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3306: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3307: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3308: WHEN OTHERS THEN
3309: ROLLBACK TO VALIDATE_DISB_HEADERS;
3306: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3307: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3308: WHEN OTHERS THEN
3309: ROLLBACK TO VALIDATE_DISB_HEADERS;
3310: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3311: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
3312: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3313: END IF;
3314: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3393: SAVEPOINT Get_Default_Payment_Attr;
3394: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
3395:
3396: -- Standard call to check for call compatibility
3397: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
3398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3399: END IF;
3400:
3401: -- Initialize message list if p_init_msg_list is set to TRUE
3394: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
3395:
3396: -- Standard call to check for call compatibility
3397: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
3398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3399: END IF;
3400:
3401: -- Initialize message list if p_init_msg_list is set to TRUE
3402: IF FND_API.To_Boolean(p_init_msg_list) THEN
3398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3399: END IF;
3400:
3401: -- Initialize message list if p_init_msg_list is set to TRUE
3402: IF FND_API.To_Boolean(p_init_msg_list) THEN
3403: FND_MSG_PUB.initialize;
3404: END IF;
3405:
3406: -- Initialize API return status to success
3403: FND_MSG_PUB.initialize;
3404: END IF;
3405:
3406: -- Initialize API return status to success
3407: l_return_status := FND_API.G_RET_STS_SUCCESS;
3408:
3409: -- START OF BODY OF API
3410:
3411: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Input data:');
3440:
3441: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling IBY_DISBURSEMENT_COMP_PUB.Get_Default_Payment_Attributes...');
3442: IBY_DISBURSEMENT_COMP_PUB.Get_Default_Payment_Attributes(
3443: p_api_version => 1.0,
3444: p_init_msg_list => FND_API.G_TRUE,
3445: p_ignore_payee_pref => null,
3446: p_trxn_attributes_rec => l_Trxn_Attributes_Rec,
3447: x_return_status => l_return_status,
3448: x_msg_count => l_msg_count,
3450: x_default_pmt_attrs_rec => l_Default_Pmt_Attrs_Rec);
3451:
3452: IF l_return_status <> 'S' THEN
3453: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to IBY_DISBURSEMENT_COMP_PUB.Get_Default_Payment_Attributes has failed');
3454: RAISE FND_API.G_EXC_ERROR;
3455: END IF;
3456:
3457: X_default_pmt_attrs_rec.Payment_Method_Name := l_Default_Pmt_Attrs_Rec.Payment_Method.Payment_Method_Name;
3458: X_default_pmt_attrs_rec.Payment_Method_Code := l_Default_Pmt_Attrs_Rec.Payment_Method.Payment_Method_Code;
3470: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Payee_BankAccount_Number: ' || X_default_pmt_attrs_rec.Payee_BankAccount_Number);
3471: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Payee_BankAccount_Name: ' || X_default_pmt_attrs_rec.Payee_BankAccount_Name);
3472:
3473: -- END OF BODY OF API
3474: x_return_status := FND_API.G_RET_STS_SUCCESS;
3475:
3476: -- Standard call to get message count and if count is 1, get message info
3477: FND_MSG_PUB.Count_And_Get(
3478: p_encoded => FND_API.G_FALSE,
3474: x_return_status := FND_API.G_RET_STS_SUCCESS;
3475:
3476: -- Standard call to get message count and if count is 1, get message info
3477: FND_MSG_PUB.Count_And_Get(
3478: p_encoded => FND_API.G_FALSE,
3479: p_count => x_msg_count,
3480: p_data => x_msg_data);
3481:
3482: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
3481:
3482: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
3483:
3484: EXCEPTION
3485: WHEN FND_API.G_EXC_ERROR THEN
3486: ROLLBACK TO Get_Default_Payment_Attr;
3487: x_return_status := FND_API.G_RET_STS_ERROR;
3488: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3489: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3483:
3484: EXCEPTION
3485: WHEN FND_API.G_EXC_ERROR THEN
3486: ROLLBACK TO Get_Default_Payment_Attr;
3487: x_return_status := FND_API.G_RET_STS_ERROR;
3488: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3489: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3490: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3491: ROLLBACK TO Get_Default_Payment_Attr;
3486: ROLLBACK TO Get_Default_Payment_Attr;
3487: x_return_status := FND_API.G_RET_STS_ERROR;
3488: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3489: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3490: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3491: ROLLBACK TO Get_Default_Payment_Attr;
3492: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3493: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3494: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3488: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3489: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3490: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3491: ROLLBACK TO Get_Default_Payment_Attr;
3492: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3493: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3494: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3495: WHEN OTHERS THEN
3496: ROLLBACK TO Get_Default_Payment_Attr;
3493: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3494: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
3495: WHEN OTHERS THEN
3496: ROLLBACK TO Get_Default_Payment_Attr;
3497: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3498: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
3499: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3500: END IF;
3501: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
3569: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'LOAN ID is missing');
3570: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
3571: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'p_loan_id' );
3572: FND_MSG_PUB.ADD;
3573: RAISE FND_API.G_EXC_ERROR;
3574: END IF;
3575:
3576: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Querying loan info...');
3577: SELECT llh.primary_borrower_id
3607:
3608: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling IBY_DISBURSEMENT_COMP_PUB.Get_Default_Payment_Attributes...');
3609: IBY_DISBURSEMENT_COMP_PUB.Get_Default_Payment_Attributes(
3610: p_api_version => 1.0,
3611: p_init_msg_list => FND_API.G_TRUE,
3612: p_ignore_payee_pref => null,
3613: p_trxn_attributes_rec => l_Trxn_Attributes_Rec,
3614: x_return_status => l_return_status,
3615: x_msg_count => l_msg_count,
3700:
3701: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
3702:
3703: EXCEPTION
3704: WHEN FND_API.G_EXC_ERROR THEN
3705: ROLLBACK TO DEFAULT_PROD_DISBURSEMENTS;
3706: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Changes Rolled back in '
3707: || G_PKG_NAME || '.' || l_api_name);
3708:
3955: LogMessage(FND_LOG.LEVEL_PROCEDURE, ' ');
3956: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
3957:
3958: -- Standard call to check for call compatibility
3959: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
3960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3961: END IF;
3962:
3963: -- Initialize message list if p_init_msg_list is set to TRUE
3956: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
3957:
3958: -- Standard call to check for call compatibility
3959: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
3960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3961: END IF;
3962:
3963: -- Initialize message list if p_init_msg_list is set to TRUE
3964: IF FND_API.To_Boolean(p_init_msg_list) THEN
3960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3961: END IF;
3962:
3963: -- Initialize message list if p_init_msg_list is set to TRUE
3964: IF FND_API.To_Boolean(p_init_msg_list) THEN
3965: FND_MSG_PUB.initialize;
3966: END IF;
3967:
3968: -- Initialize API return status to success
3965: FND_MSG_PUB.initialize;
3966: END IF;
3967:
3968: -- Initialize API return status to success
3969: l_return_status := FND_API.G_RET_STS_SUCCESS;
3970:
3971: -- START OF BODY OF API
3972:
3973: LogMessage(FND_LOG.LEVEL_STATEMENT, ' ');
4070: -- create disbursement distribution records in lns_distributions
4071: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling create_DisbursementDistribs...');
4072: LNS_DISTRIBUTIONS_PUB.create_DisbursementDistribs(
4073: p_api_version => 1.0,
4074: p_init_msg_list => FND_API.G_FALSE,
4075: p_commit => FND_API.G_FALSE,
4076: p_loan_id => l_DISB_HEADER_REC.LOAN_ID,
4077: p_disb_header_id => l_DISB_LINE_REC.DISB_HEADER_ID,
4078: p_activity_type => 'DISBURSEMENT',
4071: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling create_DisbursementDistribs...');
4072: LNS_DISTRIBUTIONS_PUB.create_DisbursementDistribs(
4073: p_api_version => 1.0,
4074: p_init_msg_list => FND_API.G_FALSE,
4075: p_commit => FND_API.G_FALSE,
4076: p_loan_id => l_DISB_HEADER_REC.LOAN_ID,
4077: p_disb_header_id => l_DISB_LINE_REC.DISB_HEADER_ID,
4078: p_activity_type => 'DISBURSEMENT',
4079: x_return_status => l_return_status,
4082:
4083: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Return status: ' || l_return_status);
4084: IF l_return_status <> 'S' THEN
4085: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to LNS_DISTRIBUTIONS_PUB.create_DisbursementDistribs failed');
4086: RAISE FND_API.G_EXC_ERROR;
4087: END IF;
4088:
4089: -- query liability distribution info
4090: open liability_distr_cur(l_DISB_HEADER_REC.LOAN_ID);
4419: FND_MESSAGE.SET_NAME('LNS', 'LNS_FAIL_UPD_AP_INV');
4420: FND_MSG_PUB.Add;
4421: end if;
4422:
4423: RAISE FND_API.G_EXC_ERROR;
4424: END;
4425:
4426: -- Deleting invoice interface lines
4427: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Deleting invoice interface lines...');
4667: ROLLBACK TO SUBMIT_SINGLE_PAY_REQ;
4668:
4669: FND_MESSAGE.SET_NAME('LNS', 'LNS_FAIL_INS_AP_INV_LN');
4670: FND_MSG_PUB.Add;
4671: RAISE FND_API.G_EXC_ERROR;
4672: END;
4673:
4674: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted new invoice line.');
4675:
4741: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted new history record with DISB_HISTORY_ID: ' || l_hist_id);
4742:
4743: UPDATE_DISB_LINE(
4744: P_API_VERSION => 1.0,
4745: P_INIT_MSG_LIST => FND_API.G_FALSE,
4746: P_COMMIT => FND_API.G_TRUE,
4747: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4748: P_DISB_LINE_REC => l_DISB_LINE_REC,
4749: X_RETURN_STATUS => l_return_status,
4742:
4743: UPDATE_DISB_LINE(
4744: P_API_VERSION => 1.0,
4745: P_INIT_MSG_LIST => FND_API.G_FALSE,
4746: P_COMMIT => FND_API.G_TRUE,
4747: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4748: P_DISB_LINE_REC => l_DISB_LINE_REC,
4749: X_RETURN_STATUS => l_return_status,
4750: X_MSG_COUNT => l_msg_count,
4743: UPDATE_DISB_LINE(
4744: P_API_VERSION => 1.0,
4745: P_INIT_MSG_LIST => FND_API.G_FALSE,
4746: P_COMMIT => FND_API.G_TRUE,
4747: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4748: P_DISB_LINE_REC => l_DISB_LINE_REC,
4749: X_RETURN_STATUS => l_return_status,
4750: X_MSG_COUNT => l_msg_count,
4751: X_MSG_DATA => l_msg_data);
4801: else
4802: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'No rejections have been returned');
4803: end if;
4804:
4805: RAISE FND_API.G_EXC_ERROR;
4806:
4807: ELSE
4808:
4809: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Submit payment request return status: ' || l_return_status);
4806:
4807: ELSE
4808:
4809: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Submit payment request return status: ' || l_return_status);
4810: RAISE FND_API.G_EXC_ERROR;
4811:
4812: END IF;
4813:
4814: COMMIT WORK;
4813:
4814: COMMIT WORK;
4815:
4816: -- END OF BODY OF API
4817: x_return_status := FND_API.G_RET_STS_SUCCESS;
4818:
4819: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully submitted single payment request');
4820:
4821: -- Standard call to get message count and if count is 1, get message info
4819: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully submitted single payment request');
4820:
4821: -- Standard call to get message count and if count is 1, get message info
4822: FND_MSG_PUB.Count_And_Get(
4823: p_encoded => FND_API.G_FALSE,
4824: p_count => x_msg_count,
4825: p_data => x_msg_data);
4826:
4827: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
4848:
4849: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted new history record with DISB_HISTORY_ID: ' || l_hist_id);
4850:
4851: UPDATE_DISB_LINE(P_API_VERSION => 1.0,
4852: P_INIT_MSG_LIST => FND_API.G_FALSE,
4853: P_COMMIT => FND_API.G_TRUE,
4854: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4855: P_DISB_LINE_REC => l_DISB_LINE_REC,
4856: X_RETURN_STATUS => l_return_status,
4849: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully inserted new history record with DISB_HISTORY_ID: ' || l_hist_id);
4850:
4851: UPDATE_DISB_LINE(P_API_VERSION => 1.0,
4852: P_INIT_MSG_LIST => FND_API.G_FALSE,
4853: P_COMMIT => FND_API.G_TRUE,
4854: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4855: P_DISB_LINE_REC => l_DISB_LINE_REC,
4856: X_RETURN_STATUS => l_return_status,
4857: X_MSG_COUNT => l_msg_count,
4850:
4851: UPDATE_DISB_LINE(P_API_VERSION => 1.0,
4852: P_INIT_MSG_LIST => FND_API.G_FALSE,
4853: P_COMMIT => FND_API.G_TRUE,
4854: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4855: P_DISB_LINE_REC => l_DISB_LINE_REC,
4856: X_RETURN_STATUS => l_return_status,
4857: X_MSG_COUNT => l_msg_count,
4858: X_MSG_DATA => l_msg_data);
4862: END IF;
4863:
4864: COMMIT WORK;
4865:
4866: x_return_status := FND_API.G_RET_STS_ERROR;
4867: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
4868: END;
4869:
4870:
4944:
4945: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
4946:
4947: -- Standard call to check for call compatibility
4948: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4949: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4950: END IF;
4951:
4952: -- Initialize message list if p_init_msg_list is set to TRUE
4945: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
4946:
4947: -- Standard call to check for call compatibility
4948: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4949: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4950: END IF;
4951:
4952: -- Initialize message list if p_init_msg_list is set to TRUE
4953: IF FND_API.To_Boolean(p_init_msg_list) THEN
4949: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4950: END IF;
4951:
4952: -- Initialize message list if p_init_msg_list is set to TRUE
4953: IF FND_API.To_Boolean(p_init_msg_list) THEN
4954: FND_MSG_PUB.initialize;
4955: END IF;
4956:
4957: -- Initialize API return status to success
4954: FND_MSG_PUB.initialize;
4955: END IF;
4956:
4957: -- Initialize API return status to success
4958: l_return_status := FND_API.G_RET_STS_SUCCESS;
4959:
4960: -- START OF BODY OF API
4961:
4962: -- getting disbursement header info
4966:
4967: if l_autofunding_flag = 'Y' then
4968: LNS_COND_ASSIGNMENT_PUB.VALIDATE_CUSTOM_CONDITIONS(
4969: P_API_VERSION => 1.0,
4970: P_INIT_MSG_LIST => FND_API.G_FALSE,
4971: P_COMMIT => FND_API.G_FALSE,
4972: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4973: P_OWNER_OBJECT_ID => l_disb_header_id,
4974: P_CONDITION_TYPE => 'DISBURSEMENT',
4967: if l_autofunding_flag = 'Y' then
4968: LNS_COND_ASSIGNMENT_PUB.VALIDATE_CUSTOM_CONDITIONS(
4969: P_API_VERSION => 1.0,
4970: P_INIT_MSG_LIST => FND_API.G_FALSE,
4971: P_COMMIT => FND_API.G_FALSE,
4972: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4973: P_OWNER_OBJECT_ID => l_disb_header_id,
4974: P_CONDITION_TYPE => 'DISBURSEMENT',
4975: P_COMPLETE_FLAG => 'Y',
4968: LNS_COND_ASSIGNMENT_PUB.VALIDATE_CUSTOM_CONDITIONS(
4969: P_API_VERSION => 1.0,
4970: P_INIT_MSG_LIST => FND_API.G_FALSE,
4971: P_COMMIT => FND_API.G_FALSE,
4972: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4973: P_OWNER_OBJECT_ID => l_disb_header_id,
4974: P_CONDITION_TYPE => 'DISBURSEMENT',
4975: P_COMPLETE_FLAG => 'Y',
4976: X_RETURN_STATUS => l_return_status,
4977: X_MSG_COUNT => l_msg_count,
4978: X_MSG_DATA => l_msg_data);
4979:
4980: IF l_return_status <> 'S' THEN
4981: RAISE FND_API.G_EXC_ERROR;
4982: end if;
4983:
4984: SUBMIT_DISBURSEMENT(P_API_VERSION => 1.0,
4985: P_INIT_MSG_LIST => FND_API.G_FALSE,
4981: RAISE FND_API.G_EXC_ERROR;
4982: end if;
4983:
4984: SUBMIT_DISBURSEMENT(P_API_VERSION => 1.0,
4985: P_INIT_MSG_LIST => FND_API.G_FALSE,
4986: P_COMMIT => FND_API.G_FALSE,
4987: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4988: P_DISB_HEADER_ID => l_disb_header_id,
4989: X_RETURN_STATUS => l_return_status,
4982: end if;
4983:
4984: SUBMIT_DISBURSEMENT(P_API_VERSION => 1.0,
4985: P_INIT_MSG_LIST => FND_API.G_FALSE,
4986: P_COMMIT => FND_API.G_FALSE,
4987: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4988: P_DISB_HEADER_ID => l_disb_header_id,
4989: X_RETURN_STATUS => l_return_status,
4990: X_MSG_COUNT => l_msg_count,
4983:
4984: SUBMIT_DISBURSEMENT(P_API_VERSION => 1.0,
4985: P_INIT_MSG_LIST => FND_API.G_FALSE,
4986: P_COMMIT => FND_API.G_FALSE,
4987: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4988: P_DISB_HEADER_ID => l_disb_header_id,
4989: X_RETURN_STATUS => l_return_status,
4990: X_MSG_COUNT => l_msg_count,
4991: X_MSG_DATA => l_msg_data);
4991: X_MSG_DATA => l_msg_data);
4992:
4993: x_return_status := l_return_status;
4994: else
4995: x_return_status := FND_API.G_RET_STS_SUCCESS;
4996: return;
4997: end if;
4998:
4999: COMMIT WORK;
5003: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
5004:
5005: -- Standard call to get message count and if count is 1, get message info
5006: FND_MSG_PUB.Count_And_Get(
5007: p_encoded => FND_API.G_FALSE,
5008: p_count => x_msg_count,
5009: p_data => x_msg_data);
5010:
5011: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
5010:
5011: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
5012:
5013: EXCEPTION
5014: WHEN FND_API.G_EXC_ERROR THEN
5015: x_return_status := FND_API.G_RET_STS_ERROR;
5016: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5017: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5011: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
5012:
5013: EXCEPTION
5014: WHEN FND_API.G_EXC_ERROR THEN
5015: x_return_status := FND_API.G_RET_STS_ERROR;
5016: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5017: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5019: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5013: EXCEPTION
5014: WHEN FND_API.G_EXC_ERROR THEN
5015: x_return_status := FND_API.G_RET_STS_ERROR;
5016: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5017: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5019: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5020: WHEN OTHERS THEN
5021: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5014: WHEN FND_API.G_EXC_ERROR THEN
5015: x_return_status := FND_API.G_RET_STS_ERROR;
5016: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5017: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5019: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5020: WHEN OTHERS THEN
5021: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5022: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
5017: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5019: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5020: WHEN OTHERS THEN
5021: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5022: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
5023: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
5024: END IF;
5025: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5156: LogMessage(FND_LOG.LEVEL_PROCEDURE, ' ');
5157: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
5158:
5159: -- Standard call to check for call compatibility
5160: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
5161: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5162: END IF;
5163:
5164: -- Initialize message list if p_init_msg_list is set to TRUE
5157: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
5158:
5159: -- Standard call to check for call compatibility
5160: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
5161: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5162: END IF;
5163:
5164: -- Initialize message list if p_init_msg_list is set to TRUE
5165: IF FND_API.To_Boolean(p_init_msg_list) THEN
5161: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5162: END IF;
5163:
5164: -- Initialize message list if p_init_msg_list is set to TRUE
5165: IF FND_API.To_Boolean(p_init_msg_list) THEN
5166: FND_MSG_PUB.initialize;
5167: END IF;
5168:
5169: -- Initialize API return status to success
5166: FND_MSG_PUB.initialize;
5167: END IF;
5168:
5169: -- Initialize API return status to success
5170: l_return_status := FND_API.G_RET_STS_SUCCESS;
5171:
5172: -- START OF BODY OF API
5173:
5174: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Submitting disbursement header ' || P_DISB_HEADER_ID || '...');
5190: FND_MESSAGE.SET_TOKEN('RECORD', 'loan header');
5191: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(P_DISB_HEADER_ID), 'null'));
5192: FND_MSG_PUB.ADD;
5193: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
5194: RAISE FND_API.G_EXC_ERROR;
5195:
5196: end if;
5197:
5198: close loan_detail_cur;
5206:
5207: LogMessage(FND_LOG.LEVEL_PROCEDURE, 'Calling lns_distributions_pub.budgetary_control...');
5208:
5209: BEGIN
5210: lns_distributions_pub.budgetary_control(p_init_msg_list => FND_API.G_FALSE
5211: ,p_commit => FND_API.G_FALSE
5212: ,p_loan_id => l_loan_id
5213: ,p_budgetary_control_mode => 'R'
5214: ,x_budgetary_status_code => l_status_code
5207: LogMessage(FND_LOG.LEVEL_PROCEDURE, 'Calling lns_distributions_pub.budgetary_control...');
5208:
5209: BEGIN
5210: lns_distributions_pub.budgetary_control(p_init_msg_list => FND_API.G_FALSE
5211: ,p_commit => FND_API.G_FALSE
5212: ,p_loan_id => l_loan_id
5213: ,p_budgetary_control_mode => 'R'
5214: ,x_budgetary_status_code => l_status_code
5215: ,x_return_status => l_return_status
5217: ,x_msg_data => l_msg_data);
5218: EXCEPTION
5219: WHEN OTHERS THEN
5220: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'lns_distributions_pub.budgetary_control throws exception');
5221: RAISE FND_API.G_EXC_ERROR;
5222: END;
5223:
5224: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'The l_status_code is '||l_status_code);
5225: IF l_return_status <> 'S' THEN
5223:
5224: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'The l_status_code is '||l_status_code);
5225: IF l_return_status <> 'S' THEN
5226: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to lns_distributions_pub.budgetary_control failed');
5227: RAISE FND_API.G_EXC_ERROR;
5228: ELSE
5229: -- Bug#9964875
5230: IF (l_status_code = 'FAIL' or l_status_code = 'PARTIAL' or l_status_code = 'XLA_ERROR') THEN
5231: FND_MESSAGE.SET_NAME('LNS', 'LNS_SUBMIT_DISB_FUNDS_UNRESERV');
5230: IF (l_status_code = 'FAIL' or l_status_code = 'PARTIAL' or l_status_code = 'XLA_ERROR') THEN
5231: FND_MESSAGE.SET_NAME('LNS', 'LNS_SUBMIT_DISB_FUNDS_UNRESERV');
5232: FND_MSG_PUB.Add;
5233: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
5234: RAISE FND_API.G_EXC_ERROR;
5235: END IF;
5236: END IF;
5237:
5238: end if;
5237:
5238: end if;
5239:
5240: VALIDATE_DISB_FOR_SUBMIT(P_API_VERSION => 1.0,
5241: P_INIT_MSG_LIST => FND_API.G_TRUE,
5242: P_COMMIT => FND_API.G_FALSE,
5243: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5244: P_DISB_HEADER_ID => P_DISB_HEADER_ID,
5245: X_RETURN_STATUS => l_return_status,
5238: end if;
5239:
5240: VALIDATE_DISB_FOR_SUBMIT(P_API_VERSION => 1.0,
5241: P_INIT_MSG_LIST => FND_API.G_TRUE,
5242: P_COMMIT => FND_API.G_FALSE,
5243: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5244: P_DISB_HEADER_ID => P_DISB_HEADER_ID,
5245: X_RETURN_STATUS => l_return_status,
5246: X_MSG_COUNT => l_msg_count,
5239:
5240: VALIDATE_DISB_FOR_SUBMIT(P_API_VERSION => 1.0,
5241: P_INIT_MSG_LIST => FND_API.G_TRUE,
5242: P_COMMIT => FND_API.G_FALSE,
5243: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5244: P_DISB_HEADER_ID => P_DISB_HEADER_ID,
5245: X_RETURN_STATUS => l_return_status,
5246: X_MSG_COUNT => l_msg_count,
5247: X_MSG_DATA => l_msg_data);
5247: X_MSG_DATA => l_msg_data);
5248:
5249: IF l_return_status <> 'S' THEN
5250: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to VALIDATE_DISB_FOR_SUBMIT failed');
5251: RAISE FND_API.G_EXC_ERROR;
5252: END IF;
5253:
5254: -- checking for conditions
5255: open conditions_cur(P_DISB_HEADER_ID);
5258:
5259: if l_cond_count > 0 then
5260: FND_MESSAGE.SET_NAME('LNS', 'LNS_NOT_ALL_COND_MET');
5261: FND_MSG_PUB.Add;
5262: RAISE FND_API.G_EXC_ERROR;
5263: end if;
5264:
5265: -- create iby external payee
5266: CREATE_EXT_IBY_PAYEE(P_DISB_HEADER_ID);
5293: l_count := l_count + 1;
5294: l_DISB_LINES_TBL(l_count) := l_DISB_LINE_REC;
5295:
5296: SUBMIT_SINGLE_PAY_REQ(P_API_VERSION => 1.0,
5297: P_INIT_MSG_LIST => FND_API.G_FALSE,
5298: P_COMMIT => FND_API.G_FALSE,
5299: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5300: P_DISB_LINE_ID => l_DISB_LINES_TBL(l_count).DISB_LINE_ID,
5301: X_RETURN_STATUS => l_return_status,
5294: l_DISB_LINES_TBL(l_count) := l_DISB_LINE_REC;
5295:
5296: SUBMIT_SINGLE_PAY_REQ(P_API_VERSION => 1.0,
5297: P_INIT_MSG_LIST => FND_API.G_FALSE,
5298: P_COMMIT => FND_API.G_FALSE,
5299: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5300: P_DISB_LINE_ID => l_DISB_LINES_TBL(l_count).DISB_LINE_ID,
5301: X_RETURN_STATUS => l_return_status,
5302: X_MSG_COUNT => l_msg_count,
5295:
5296: SUBMIT_SINGLE_PAY_REQ(P_API_VERSION => 1.0,
5297: P_INIT_MSG_LIST => FND_API.G_FALSE,
5298: P_COMMIT => FND_API.G_FALSE,
5299: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5300: P_DISB_LINE_ID => l_DISB_LINES_TBL(l_count).DISB_LINE_ID,
5301: X_RETURN_STATUS => l_return_status,
5302: X_MSG_COUNT => l_msg_count,
5303: X_MSG_DATA => l_msg_data);
5329:
5330: l_DISB_HEADER_REC.DISB_HEADER_ID := l_DISB_LINE_REC.DISB_HEADER_ID;
5331: UPDATE_DISB_HEADER(
5332: P_API_VERSION => 1.0,
5333: P_INIT_MSG_LIST => FND_API.G_FALSE,
5334: P_COMMIT => FND_API.G_FALSE,
5335: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5336: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
5337: X_RETURN_STATUS => l_return_status,
5330: l_DISB_HEADER_REC.DISB_HEADER_ID := l_DISB_LINE_REC.DISB_HEADER_ID;
5331: UPDATE_DISB_HEADER(
5332: P_API_VERSION => 1.0,
5333: P_INIT_MSG_LIST => FND_API.G_FALSE,
5334: P_COMMIT => FND_API.G_FALSE,
5335: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5336: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
5337: X_RETURN_STATUS => l_return_status,
5338: X_MSG_COUNT => l_msg_count,
5331: UPDATE_DISB_HEADER(
5332: P_API_VERSION => 1.0,
5333: P_INIT_MSG_LIST => FND_API.G_FALSE,
5334: P_COMMIT => FND_API.G_FALSE,
5335: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5336: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
5337: X_RETURN_STATUS => l_return_status,
5338: X_MSG_COUNT => l_msg_count,
5339: X_MSG_DATA => l_msg_data);
5353: LogMessage(FND_LOG.LEVEL_STATEMENT, 'secondary status: ' || l_loan_header_rec.SECONDARY_STATUS);
5354:
5355: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
5356: P_LOAN_HEADER_REC => l_loan_header_rec,
5357: P_INIT_MSG_LIST => FND_API.G_FALSE,
5358: X_RETURN_STATUS => l_return_status,
5359: X_MSG_COUNT => l_msg_count,
5360: X_MSG_DATA => l_msg_data);
5361:
5366: ELSE
5367: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
5368: FND_MSG_PUB.Add;
5369: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
5370: -- RAISE FND_API.G_EXC_ERROR;
5371: END IF;
5372:
5373: -- Only for Federal Direct Loans whose budget is reserved
5374: -- Dont submit_disbursement_bc if the disbursement is failed
5374: -- Dont submit_disbursement_bc if the disbursement is failed
5375: IF ((lns_utility_pub.IS_FED_FIN_ENABLED = 'Y') AND (l_funds_reserved_flag = 'Y') AND (l_DISB_HEADER_REC.STATUS <> 'FUNDING_ERROR')) THEN
5376: LogMessage(FND_LOG.LEVEL_STATEMENT, 'calling lns_distributions_pub.submit_disbursement_bc');
5377: -- Submit budgetary disbursement distributions if needed
5378: lns_distributions_pub.submit_disbursement_bc(p_init_msg_list => FND_API.G_FALSE
5379: ,p_commit => FND_API.G_FALSE
5380: ,p_loan_id => l_loan_header_rec.LOAN_ID
5381: ,p_disb_header_id => l_DISB_HEADER_REC.DISB_HEADER_ID
5382: ,p_activity => 'LNS_SUBMIT_DISBURSEMENT'
5375: IF ((lns_utility_pub.IS_FED_FIN_ENABLED = 'Y') AND (l_funds_reserved_flag = 'Y') AND (l_DISB_HEADER_REC.STATUS <> 'FUNDING_ERROR')) THEN
5376: LogMessage(FND_LOG.LEVEL_STATEMENT, 'calling lns_distributions_pub.submit_disbursement_bc');
5377: -- Submit budgetary disbursement distributions if needed
5378: lns_distributions_pub.submit_disbursement_bc(p_init_msg_list => FND_API.G_FALSE
5379: ,p_commit => FND_API.G_FALSE
5380: ,p_loan_id => l_loan_header_rec.LOAN_ID
5381: ,p_disb_header_id => l_DISB_HEADER_REC.DISB_HEADER_ID
5382: ,p_activity => 'LNS_SUBMIT_DISBURSEMENT'
5383: ,X_RETURN_STATUS => l_return_status
5389: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
5390: FND_MESSAGE.SET_TOKEN('ERROR' ,'Call to lns_distributions_pub.submit_disbursement_bc failed for acitivity = LNS_SUBMIT_DISBURSEMENT');
5391: FND_MSG_PUB.ADD;
5392: logMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
5393: RAISE FND_API.G_EXC_ERROR;
5394: END IF;
5395: END IF;
5396:
5397:
5400: COMMIT WORK;
5401: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
5402:
5403: if l_count1 > 0 then
5404: RAISE FND_API.G_EXC_ERROR;
5405: end if;
5406:
5407: -- END OF BODY OF API
5408: x_return_status := FND_API.G_RET_STS_SUCCESS;
5404: RAISE FND_API.G_EXC_ERROR;
5405: end if;
5406:
5407: -- END OF BODY OF API
5408: x_return_status := FND_API.G_RET_STS_SUCCESS;
5409: LogMessage(FND_LOG.LEVEL_STATEMENT, 'SUBMIT_DISBURSEMENT returned status: ' || x_return_status);
5410:
5411: -- Standard call to get message count and if count is 1, get message info
5412: FND_MSG_PUB.Count_And_Get(
5409: LogMessage(FND_LOG.LEVEL_STATEMENT, 'SUBMIT_DISBURSEMENT returned status: ' || x_return_status);
5410:
5411: -- Standard call to get message count and if count is 1, get message info
5412: FND_MSG_PUB.Count_And_Get(
5413: p_encoded => FND_API.G_FALSE,
5414: p_count => x_msg_count,
5415: p_data => x_msg_data);
5416:
5417: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
5417: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
5418:
5419: EXCEPTION
5420: WHEN OTHERS THEN
5421: x_return_status := FND_API.G_RET_STS_ERROR;
5422: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
5423:
5424: if x_msg_count = 0 then
5425: FND_MESSAGE.SET_NAME('LNS', 'LNS_SUBMIT_DISB_FAILED');
5654: SAVEPOINT PAY_SINGLE_INVOICE;
5655: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
5656:
5657: -- Initialize API return status to success
5658: l_return_status := FND_API.G_RET_STS_SUCCESS;
5659:
5660: -- START OF BODY OF API
5661:
5662: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Processing payment...');
5731:
5732: -- updating disb line
5733: UPDATE_DISB_LINE(
5734: P_API_VERSION => 1.0,
5735: P_INIT_MSG_LIST => FND_API.G_TRUE,
5736: P_COMMIT => FND_API.G_FALSE,
5737: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5738: P_DISB_LINE_REC => l_DISB_LINE_REC,
5739: X_RETURN_STATUS => l_return_status,
5732: -- updating disb line
5733: UPDATE_DISB_LINE(
5734: P_API_VERSION => 1.0,
5735: P_INIT_MSG_LIST => FND_API.G_TRUE,
5736: P_COMMIT => FND_API.G_FALSE,
5737: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5738: P_DISB_LINE_REC => l_DISB_LINE_REC,
5739: X_RETURN_STATUS => l_return_status,
5740: X_MSG_COUNT => l_msg_count,
5733: UPDATE_DISB_LINE(
5734: P_API_VERSION => 1.0,
5735: P_INIT_MSG_LIST => FND_API.G_TRUE,
5736: P_COMMIT => FND_API.G_FALSE,
5737: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5738: P_DISB_LINE_REC => l_DISB_LINE_REC,
5739: X_RETURN_STATUS => l_return_status,
5740: X_MSG_COUNT => l_msg_count,
5741: X_MSG_DATA => l_msg_data);
5741: X_MSG_DATA => l_msg_data);
5742:
5743: IF l_return_status <> 'S' THEN
5744: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_LINE failed');
5745: RAISE FND_API.G_EXC_ERROR;
5746: END IF;
5747:
5748: -- getting diff between total lines count and fully funded lines
5749: open funded_count_cur(l_DISB_HEADER_REC.DISB_HEADER_ID);
5758:
5759: -- updating disb header
5760: UPDATE_DISB_HEADER(
5761: P_API_VERSION => 1.0,
5762: P_INIT_MSG_LIST => FND_API.G_TRUE,
5763: P_COMMIT => FND_API.G_FALSE,
5764: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5765: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
5766: X_RETURN_STATUS => l_return_status,
5759: -- updating disb header
5760: UPDATE_DISB_HEADER(
5761: P_API_VERSION => 1.0,
5762: P_INIT_MSG_LIST => FND_API.G_TRUE,
5763: P_COMMIT => FND_API.G_FALSE,
5764: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5765: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
5766: X_RETURN_STATUS => l_return_status,
5767: X_MSG_COUNT => l_msg_count,
5760: UPDATE_DISB_HEADER(
5761: P_API_VERSION => 1.0,
5762: P_INIT_MSG_LIST => FND_API.G_TRUE,
5763: P_COMMIT => FND_API.G_FALSE,
5764: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
5765: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
5766: X_RETURN_STATUS => l_return_status,
5767: X_MSG_COUNT => l_msg_count,
5768: X_MSG_DATA => l_msg_data);
5768: X_MSG_DATA => l_msg_data);
5769:
5770: IF l_return_status <> 'S' THEN
5771: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_HEADER failed');
5772: RAISE FND_API.G_EXC_ERROR;
5773: END IF;
5774:
5775: -- getting last history record to update status
5776: open last_hist_rec_cur(l_DISB_LINE_REC.DISB_LINE_ID);
5806: /*
5807: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling to lns_fee_engine.processDisbursementFees...');
5808: -- processing disbursement fees
5809: lns_fee_engine.processDisbursementFees(
5810: p_init_msg_list => FND_API.G_TRUE,
5811: p_commit => FND_API.G_FALSE,
5812: p_phase => l_DISB_HEADER_REC.phase, --'OPEN',
5813: p_loan_id => l_loan_header_rec.loan_id,
5814: p_disb_head_id => l_DISB_HEADER_REC.DISB_HEADER_ID,
5807: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling to lns_fee_engine.processDisbursementFees...');
5808: -- processing disbursement fees
5809: lns_fee_engine.processDisbursementFees(
5810: p_init_msg_list => FND_API.G_TRUE,
5811: p_commit => FND_API.G_FALSE,
5812: p_phase => l_DISB_HEADER_REC.phase, --'OPEN',
5813: p_loan_id => l_loan_header_rec.loan_id,
5814: p_disb_head_id => l_DISB_HEADER_REC.DISB_HEADER_ID,
5815: x_return_status => l_return_status,
5818:
5819: LogMessage(FND_LOG.LEVEL_STATEMENT, 'return of lns_fee_engine.processDisbursementFees: ' || l_return_status);
5820: IF l_return_status <> 'S' THEN
5821: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to lns_fee_engine.processDisbursementFees failed');
5822: -- RAISE FND_API.G_EXC_ERROR;
5823: END IF;
5824: */
5825: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling to LNS_DISTRIBUTIONS_PUB.create_event...');
5826: -- creating accounting event
5831: l_event_table(1).DISB_HEADER_ID := l_DISB_HEADER_REC.DISB_HEADER_ID;
5832:
5833: LNS_DISTRIBUTIONS_PUB.create_event(
5834: p_acc_event_tbl => l_event_table,
5835: p_init_msg_list => FND_API.G_TRUE,
5836: p_commit => FND_API.G_FALSE,
5837: x_return_status => l_return_status,
5838: x_msg_count => l_msg_count,
5839: x_msg_data => l_msg_data);
5832:
5833: LNS_DISTRIBUTIONS_PUB.create_event(
5834: p_acc_event_tbl => l_event_table,
5835: p_init_msg_list => FND_API.G_TRUE,
5836: p_commit => FND_API.G_FALSE,
5837: x_return_status => l_return_status,
5838: x_msg_count => l_msg_count,
5839: x_msg_data => l_msg_data);
5840:
5840:
5841: LogMessage(FND_LOG.LEVEL_STATEMENT, 'return of LNS_DISTRIBUTIONS_PUB.create_event: ' || l_return_status);
5842: IF l_return_status <> 'S' THEN
5843: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to LNS_DISTRIBUTIONS_PUB.create_event failed');
5844: -- RAISE FND_API.G_EXC_ERROR;
5845: END IF;
5846:
5847: end if;
5848:
5882: ,x_msg_data => l_msg_data);
5883:
5884: IF l_return_status <> 'S' THEN
5885: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
5886: RAISE FND_API.G_EXC_ERROR;
5887: END IF;
5888:
5889: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'New open start date: ' || l_loan_details.loan_start_date);
5890: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'New open first payment date: ' || l_loan_details.first_payment_Date);
5924: ,x_msg_data => l_msg_data);
5925:
5926: IF l_return_status <> 'S' THEN
5927: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
5928: RAISE FND_API.G_EXC_ERROR;
5929: END IF;
5930:
5931: l_term_rec.FIRST_PAYMENT_DATE := l_loan_details.first_payment_Date;
5932: l_term_rec.PRIN_FIRST_PAY_DATE := l_loan_details.PRIN_FIRST_PAY_DATE; -- fix for bug 6938095
5958: LogMessage(FND_LOG.LEVEL_STATEMENT, 'PRIN_FIRST_PAY_DATE: ' || l_term_rec.PRIN_FIRST_PAY_DATE);
5959: LogMessage(FND_LOG.LEVEL_STATEMENT, 'NEXT_PAYMENT_DUE_DATE: ' || l_term_rec.NEXT_PAYMENT_DUE_DATE);
5960:
5961: LNS_TERMS_PUB.update_term(P_OBJECT_VERSION_NUMBER => l_TERM_VERSION_NUMBER,
5962: p_init_msg_list => FND_API.G_FALSE,
5963: p_loan_term_rec => l_term_rec,
5964: X_RETURN_STATUS => l_return_status,
5965: X_MSG_COUNT => l_msg_count,
5966: X_MSG_DATA => l_msg_data);
5973: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'ERROR: LNS_TERMS_PUB.update_term returned error: ' || substr(l_msg_data,1,225));
5974: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_TERM_FAIL');
5975: FND_MSG_PUB.Add;
5976: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
5977: RAISE FND_API.G_EXC_ERROR;
5978: END IF;
5979:
5980: end if;
5981:
6012:
6013: IF l_return_status <> 'S' THEN
6014: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to LNS_FINANCIALS.shiftLoanDates failed');
6015: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6016: RAISE FND_API.G_EXC_ERROR;
6017: END IF;
6018:
6019: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'New loan_start_date: ' || l_loan_details.loan_start_date);
6020: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'New first_payment_Date: ' || l_loan_details.first_payment_Date);
6055: LogMessage(FND_LOG.LEVEL_STATEMENT, 'PRIN_FIRST_PAY_DATE: ' || l_term_rec.PRIN_FIRST_PAY_DATE);
6056: LogMessage(FND_LOG.LEVEL_STATEMENT, 'NEXT_PAYMENT_DUE_DATE: ' || l_term_rec.NEXT_PAYMENT_DUE_DATE);
6057:
6058: LNS_TERMS_PUB.update_term(P_OBJECT_VERSION_NUMBER => l_TERM_VERSION_NUMBER,
6059: p_init_msg_list => FND_API.G_FALSE,
6060: p_loan_term_rec => l_term_rec,
6061: X_RETURN_STATUS => l_return_status,
6062: X_MSG_COUNT => l_msg_count,
6063: X_MSG_DATA => l_msg_data);
6070: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'ERROR: LNS_TERMS_PUB.update_term returned error: ' || substr(l_msg_data,1,225));
6071: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_TERM_FAIL');
6072: FND_MSG_PUB.Add;
6073: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6074: RAISE FND_API.G_EXC_ERROR;
6075: END IF;
6076:
6077: -- setting data for future loan update
6078:
6078:
6079: l_loan_header_rec.LOAN_START_DATE := l_loan_details.loan_start_date;
6080: l_loan_header_rec.LOAN_MATURITY_DATE := l_loan_details.maturity_date;
6081: l_loan_header_rec.current_phase := 'TERM';
6082: l_loan_header_rec.LAST_PAYMENT_NUMBER := FND_API.G_MISS_NUM;
6083: l_loan_header_rec.LAST_AMORTIZATION_ID := FND_API.G_MISS_NUM;
6084: l_loan_header_rec.secondary_status := 'CONVERTED_TO_TERM_PHASE';
6085: l_do_conversion_bill := 'Y';
6086:
6079: l_loan_header_rec.LOAN_START_DATE := l_loan_details.loan_start_date;
6080: l_loan_header_rec.LOAN_MATURITY_DATE := l_loan_details.maturity_date;
6081: l_loan_header_rec.current_phase := 'TERM';
6082: l_loan_header_rec.LAST_PAYMENT_NUMBER := FND_API.G_MISS_NUM;
6083: l_loan_header_rec.LAST_AMORTIZATION_ID := FND_API.G_MISS_NUM;
6084: l_loan_header_rec.secondary_status := 'CONVERTED_TO_TERM_PHASE';
6085: l_do_conversion_bill := 'Y';
6086:
6087: end if;
6098: LogMessage(FND_LOG.LEVEL_STATEMENT, 'secondary_status: ' || l_loan_header_rec.secondary_status);
6099:
6100: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
6101: P_LOAN_HEADER_REC => l_loan_header_rec,
6102: P_INIT_MSG_LIST => FND_API.G_FALSE,
6103: X_RETURN_STATUS => l_return_status,
6104: X_MSG_COUNT => l_msg_count,
6105: X_MSG_DATA => l_msg_data);
6106:
6111: ELSE
6112: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
6113: FND_MSG_PUB.Add;
6114: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6115: RAISE FND_API.G_EXC_ERROR;
6116: END IF;
6117:
6118: /* No need to call this now, as the below method inserts records of conversionFees into feeSchds table
6119: However, now the conversionFees insert into feeScheds when this fee is assigned to the loan
6117:
6118: /* No need to call this now, as the below method inserts records of conversionFees into feeSchds table
6119: However, now the conversionFees insert into feeScheds when this fee is assigned to the loan
6120: lns_fee_engine.processDisbursementFees(
6121: p_init_msg_list => FND_API.G_TRUE,
6122: p_commit => FND_API.G_FALSE,
6123: p_phase => 'TERM',
6124: p_loan_id => l_loan_header_rec.loan_id,
6125: p_disb_head_id => null,
6118: /* No need to call this now, as the below method inserts records of conversionFees into feeSchds table
6119: However, now the conversionFees insert into feeScheds when this fee is assigned to the loan
6120: lns_fee_engine.processDisbursementFees(
6121: p_init_msg_list => FND_API.G_TRUE,
6122: p_commit => FND_API.G_FALSE,
6123: p_phase => 'TERM',
6124: p_loan_id => l_loan_header_rec.loan_id,
6125: p_disb_head_id => null,
6126: x_return_status => l_return_status,
6140: LogMessage(FND_LOG.LEVEL_STATEMENT, 'secondary_status: ' || l_loan_header_rec.secondary_status);
6141:
6142: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
6143: P_LOAN_HEADER_REC => l_loan_header_rec,
6144: P_INIT_MSG_LIST => FND_API.G_FALSE,
6145: X_RETURN_STATUS => l_return_status,
6146: X_MSG_COUNT => l_msg_count,
6147: X_MSG_DATA => l_msg_data);
6148:
6153: ELSE
6154: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
6155: FND_MSG_PUB.Add;
6156: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6157: RAISE FND_API.G_EXC_ERROR;
6158: END IF;
6159:
6160: end if;
6161:
6176: ,x_msg_data => l_msg_data);
6177:
6178: IF l_return_status <> 'S' THEN
6179: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6180: RAISE FND_API.G_EXC_ERROR;
6181: END IF;
6182:
6183: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'New start date: ' || l_loan_details.loan_start_date);
6184: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'New first payment date: ' || l_loan_details.first_payment_Date);
6213: FND_MSG_PUB.DELETE_MSG(FND_MSG_PUB.COUNT_MSG);
6214: end if;
6215:
6216: LNS_TERMS_PUB.update_term(P_OBJECT_VERSION_NUMBER => l_TERM_VERSION_NUMBER,
6217: p_init_msg_list => FND_API.G_FALSE,
6218: p_loan_term_rec => l_term_rec,
6219: X_RETURN_STATUS => l_return_status,
6220: X_MSG_COUNT => l_msg_count,
6221: X_MSG_DATA => l_msg_data);
6228: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'ERROR: LNS_TERMS_PUB.update_term returned error: ' || substr(l_msg_data,1,225));
6229: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_TERM_FAIL');
6230: FND_MSG_PUB.Add;
6231: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6232: RAISE FND_API.G_EXC_ERROR;
6233: END IF;
6234:
6235: -- setting loan data for loan update
6236: l_loan_header_rec.LOAN_START_DATE := l_loan_details.loan_start_date;
6263: LogMessage(FND_LOG.LEVEL_STATEMENT, 'secondary status: ' || l_loan_header_rec.SECONDARY_STATUS);
6264:
6265: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
6266: P_LOAN_HEADER_REC => l_loan_header_rec,
6267: P_INIT_MSG_LIST => FND_API.G_FALSE,
6268: X_RETURN_STATUS => l_return_status,
6269: X_MSG_COUNT => l_msg_count,
6270: X_MSG_DATA => l_msg_data);
6271:
6276: ELSE
6277: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
6278: FND_MSG_PUB.Add;
6279: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6280: RAISE FND_API.G_EXC_ERROR;
6281: END IF;
6282:
6283: end if;
6284:
6285: -- set fees for fully funded disbursement
6286: if l_DISB_HEADER_REC.STATUS = 'FULLY_FUNDED' then
6287:
6288: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Updating the feeInstallment for disbHdrId: '||l_DISB_HEADER_REC.DISB_HEADER_ID);
6289: LNS_FEE_ENGINE.SET_DISB_FEES_INSTALL(P_INIT_MSG_LIST => FND_API.G_FALSE
6290: ,P_DISB_HEADER_ID => l_DISB_HEADER_REC.DISB_HEADER_ID
6291: ,X_RETURN_STATUS => l_return_status
6292: ,X_MSG_COUNT => l_msg_count
6293: ,X_MSG_DATA => l_msg_data);
6292: ,X_MSG_COUNT => l_msg_count
6293: ,X_MSG_DATA => l_msg_data);
6294: IF l_return_status <> 'S' THEN
6295: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to LNS_FEE_ENGINE.SET_DISB_FEES_INSTALL failed');
6296: RAISE FND_API.G_EXC_ERROR;
6297: END IF;
6298:
6299: l_loan_details := lns_financials.getLoanDetails(p_loan_id => l_loan_header_rec.loan_id
6300: ,p_based_on_terms => 'CURRENT'
6328: open get_instal_num(l_loan_header_rec.loan_id, l_DISB_HEADER_REC.DISB_HEADER_ID);
6329: fetch get_instal_num into l_installment_number;
6330: close get_instal_num;
6331:
6332: lns_fee_engine.processFees(p_init_msg_list => FND_API.G_TRUE
6333: ,p_commit => FND_API.G_FALSE
6334: ,p_loan_id => l_loan_header_rec.loan_id
6335: ,p_installment_number => l_installment_number
6336: ,p_fee_basis_tbl => l_fee_basis_tbl
6329: fetch get_instal_num into l_installment_number;
6330: close get_instal_num;
6331:
6332: lns_fee_engine.processFees(p_init_msg_list => FND_API.G_TRUE
6333: ,p_commit => FND_API.G_FALSE
6334: ,p_loan_id => l_loan_header_rec.loan_id
6335: ,p_installment_number => l_installment_number
6336: ,p_fee_basis_tbl => l_fee_basis_tbl
6337: ,p_fee_structures => l_fee_structures
6339: ,x_return_status => l_return_status
6340: ,x_msg_count => l_msg_count
6341: ,x_msg_data => l_msg_data);
6342:
6343: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
6344: FND_MESSAGE.SET_NAME('LNS', 'LNS_PROCESS_FEE_ERROR');
6345: FND_MSG_PUB.ADD;
6346: RAISE FND_API.G_EXC_ERROR;
6347: end if;
6342:
6343: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
6344: FND_MESSAGE.SET_NAME('LNS', 'LNS_PROCESS_FEE_ERROR');
6345: FND_MSG_PUB.ADD;
6346: RAISE FND_API.G_EXC_ERROR;
6347: end if;
6348:
6349: END IF;
6350:
6401: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'ERROR: Failed to start Billing Concurrent Program.');
6402: FND_MESSAGE.SET_NAME('LNS', 'LNS_BILLING_REQUEST_FAILED');
6403: FND_MSG_PUB.Add;
6404: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6405: RAISE FND_API.G_EXC_ERROR;
6406:
6407: else
6408: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully submited Billing Concurrent Program to bill 0-th installment. Request id: ' || l_request_id);
6409: end if;
6415: -- COMMIT WORK;
6416: -- LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
6417:
6418: -- END OF BODY OF API
6419: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
6420:
6421: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully processed payment');
6422:
6423: -- Standard call to get message count and if count is 1, get message info
6421: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully processed payment');
6422:
6423: -- Standard call to get message count and if count is 1, get message info
6424: FND_MSG_PUB.Count_And_Get(
6425: p_encoded => FND_API.G_FALSE,
6426: p_count => x_msg_count,
6427: p_data => x_msg_data);
6428:
6429: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
6428:
6429: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
6430:
6431: EXCEPTION
6432: WHEN FND_API.G_EXC_ERROR THEN
6433: ROLLBACK TO PAY_SINGLE_INVOICE;
6434: x_return_status := FND_API.G_RET_STS_ERROR;
6435: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6436: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6430:
6431: EXCEPTION
6432: WHEN FND_API.G_EXC_ERROR THEN
6433: ROLLBACK TO PAY_SINGLE_INVOICE;
6434: x_return_status := FND_API.G_RET_STS_ERROR;
6435: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6436: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6437: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6438: ROLLBACK TO PAY_SINGLE_INVOICE;
6433: ROLLBACK TO PAY_SINGLE_INVOICE;
6434: x_return_status := FND_API.G_RET_STS_ERROR;
6435: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6436: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6437: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6438: ROLLBACK TO PAY_SINGLE_INVOICE;
6439: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6440: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6441: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6435: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6436: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6437: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6438: ROLLBACK TO PAY_SINGLE_INVOICE;
6439: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6440: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6441: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6442: WHEN OTHERS THEN
6443: ROLLBACK TO PAY_SINGLE_INVOICE;
6440: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6441: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6442: WHEN OTHERS THEN
6443: ROLLBACK TO PAY_SINGLE_INVOICE;
6444: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6445: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
6446: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
6447: END IF;
6448: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6521: SAVEPOINT SubscribeTo_Payment_Event;
6522: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
6523:
6524: -- Initialize API return status to success
6525: l_return_status := FND_API.G_RET_STS_SUCCESS;
6526:
6527: -- START OF BODY OF API
6528:
6529: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Processing payment event...');
6550: X_Msg_Data => l_msg_data);
6551:
6552: IF l_return_status <> 'S' THEN
6553: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to PAY_SINGLE_INVOICE failed');
6554: RAISE FND_API.G_EXC_ERROR;
6555: END IF;
6556:
6557: END LOOP;
6558: close get_invoice_cur;
6560: -- COMMIT WORK;
6561: -- LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
6562:
6563: -- END OF BODY OF API
6564: P_Return_Status := FND_API.G_RET_STS_SUCCESS;
6565:
6566: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully processed payment event');
6567:
6568: -- Standard call to get message count and if count is 1, get message info
6566: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully processed payment event');
6567:
6568: -- Standard call to get message count and if count is 1, get message info
6569: FND_MSG_PUB.Count_And_Get(
6570: p_encoded => FND_API.G_FALSE,
6571: p_count => p_msg_count,
6572: p_data => p_msg_data);
6573:
6574: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
6573:
6574: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
6575:
6576: EXCEPTION
6577: WHEN FND_API.G_EXC_ERROR THEN
6578: ROLLBACK TO SubscribeTo_Payment_Event;
6579: p_return_status := FND_API.G_RET_STS_ERROR;
6580: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6581: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6575:
6576: EXCEPTION
6577: WHEN FND_API.G_EXC_ERROR THEN
6578: ROLLBACK TO SubscribeTo_Payment_Event;
6579: p_return_status := FND_API.G_RET_STS_ERROR;
6580: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6581: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6582: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6583: ROLLBACK TO SubscribeTo_Payment_Event;
6578: ROLLBACK TO SubscribeTo_Payment_Event;
6579: p_return_status := FND_API.G_RET_STS_ERROR;
6580: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6581: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6582: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6583: ROLLBACK TO SubscribeTo_Payment_Event;
6584: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6585: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6586: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6580: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6581: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6582: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6583: ROLLBACK TO SubscribeTo_Payment_Event;
6584: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6585: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6586: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6587: WHEN OTHERS THEN
6588: ROLLBACK TO SubscribeTo_Payment_Event;
6585: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6586: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6587: WHEN OTHERS THEN
6588: ROLLBACK TO SubscribeTo_Payment_Event;
6589: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6590: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
6591: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
6592: END IF;
6593: FND_MSG_PUB.Count_And_Get(p_count => p_msg_count, p_data => p_msg_data);
6677: SAVEPOINT COMPLETE_ALL_DISB;
6678: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
6679:
6680: -- Standard call to check for call compatibility
6681: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
6682: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6683: END IF;
6684:
6685: -- Initialize message list if p_init_msg_list is set to TRUE
6678: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
6679:
6680: -- Standard call to check for call compatibility
6681: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
6682: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6683: END IF;
6684:
6685: -- Initialize message list if p_init_msg_list is set to TRUE
6686: IF FND_API.To_Boolean(p_init_msg_list) THEN
6682: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6683: END IF;
6684:
6685: -- Initialize message list if p_init_msg_list is set to TRUE
6686: IF FND_API.To_Boolean(p_init_msg_list) THEN
6687: FND_MSG_PUB.initialize;
6688: END IF;
6689:
6690: -- Initialize API return status to success
6687: FND_MSG_PUB.initialize;
6688: END IF;
6689:
6690: -- Initialize API return status to success
6691: l_return_status := FND_API.G_RET_STS_SUCCESS;
6692:
6693: -- START OF BODY OF API
6694:
6695: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Completing all disbursements...');
6711: X_Msg_Data => l_msg_data);
6712:
6713: IF l_return_status <> 'S' THEN
6714: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Call to PAY_SINGLE_INVOICE failed');
6715: -- RAISE FND_API.G_EXC_ERROR;
6716: END IF;
6717:
6718: END LOOP;
6719: close avail_disb_cur;
6717:
6718: END LOOP;
6719: close avail_disb_cur;
6720:
6721: if P_COMMIT = FND_API.G_TRUE then
6722: COMMIT WORK;
6723: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
6724: end if;
6725:
6723: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
6724: end if;
6725:
6726: -- END OF BODY OF API
6727: x_return_status := FND_API.G_RET_STS_SUCCESS;
6728:
6729: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully completed all disbursements for loan ' || P_LOAN_ID);
6730:
6731: -- Standard call to get message count and if count is 1, get message info
6729: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully completed all disbursements for loan ' || P_LOAN_ID);
6730:
6731: -- Standard call to get message count and if count is 1, get message info
6732: FND_MSG_PUB.Count_And_Get(
6733: p_encoded => FND_API.G_FALSE,
6734: p_count => x_msg_count,
6735: p_data => x_msg_data);
6736:
6737: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
6736:
6737: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
6738:
6739: EXCEPTION
6740: WHEN FND_API.G_EXC_ERROR THEN
6741: ROLLBACK TO COMPLETE_ALL_DISB;
6742: x_return_status := FND_API.G_RET_STS_ERROR;
6743: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6744: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6738:
6739: EXCEPTION
6740: WHEN FND_API.G_EXC_ERROR THEN
6741: ROLLBACK TO COMPLETE_ALL_DISB;
6742: x_return_status := FND_API.G_RET_STS_ERROR;
6743: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6744: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6745: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6746: ROLLBACK TO COMPLETE_ALL_DISB;
6741: ROLLBACK TO COMPLETE_ALL_DISB;
6742: x_return_status := FND_API.G_RET_STS_ERROR;
6743: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6744: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6745: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6746: ROLLBACK TO COMPLETE_ALL_DISB;
6747: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6748: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6749: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6743: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6744: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6745: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6746: ROLLBACK TO COMPLETE_ALL_DISB;
6747: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6748: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6749: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6750: WHEN OTHERS THEN
6751: ROLLBACK TO COMPLETE_ALL_DISB;
6748: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6749: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
6750: WHEN OTHERS THEN
6751: ROLLBACK TO COMPLETE_ALL_DISB;
6752: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6753: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
6754: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
6755: END IF;
6756: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6882: SAVEPOINT CANCEL_SINGLE_DISB;
6883: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
6884:
6885: -- Initialize message list if p_init_msg_list is set to TRUE
6886: IF FND_API.To_Boolean(p_init_msg_list) THEN
6887: FND_MSG_PUB.initialize;
6888: END IF;
6889:
6890: -- Initialize API return status to success
6887: FND_MSG_PUB.initialize;
6888: END IF;
6889:
6890: -- Initialize API return status to success
6891: l_return_status := FND_API.G_RET_STS_SUCCESS;
6892:
6893: -- START OF BODY OF API
6894:
6895: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Canceling disbursement header ' || P_DISB_HEADER_ID || ' with lines...');
6966: FND_MESSAGE.SET_NAME('SQLAP4', l_message_name);
6967: FND_MESSAGE.SET_TOKEN('ERROR', l_Token);
6968: FND_MSG_PUB.ADD;
6969: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
6970: RAISE FND_API.G_EXC_ERROR;
6971: ELSE
6972: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Successfully cancelled AP invoice');
6973: END IF;
6974:
6999:
7000: -- updating disb line
7001: UPDATE_DISB_LINE(
7002: P_API_VERSION => 1.0,
7003: P_INIT_MSG_LIST => FND_API.G_TRUE,
7004: P_COMMIT => FND_API.G_FALSE,
7005: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7006: P_DISB_LINE_REC => l_DISB_LINE_REC,
7007: X_RETURN_STATUS => l_return_status,
7000: -- updating disb line
7001: UPDATE_DISB_LINE(
7002: P_API_VERSION => 1.0,
7003: P_INIT_MSG_LIST => FND_API.G_TRUE,
7004: P_COMMIT => FND_API.G_FALSE,
7005: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7006: P_DISB_LINE_REC => l_DISB_LINE_REC,
7007: X_RETURN_STATUS => l_return_status,
7008: X_MSG_COUNT => l_msg_count,
7001: UPDATE_DISB_LINE(
7002: P_API_VERSION => 1.0,
7003: P_INIT_MSG_LIST => FND_API.G_TRUE,
7004: P_COMMIT => FND_API.G_FALSE,
7005: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7006: P_DISB_LINE_REC => l_DISB_LINE_REC,
7007: X_RETURN_STATUS => l_return_status,
7008: X_MSG_COUNT => l_msg_count,
7009: X_MSG_DATA => l_msg_data);
7009: X_MSG_DATA => l_msg_data);
7010:
7011: IF l_return_status <> 'S' THEN
7012: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_LINE failed');
7013: RAISE FND_API.G_EXC_ERROR;
7014: END IF;
7015:
7016: else
7017:
7034:
7035: -- updating disb header
7036: UPDATE_DISB_HEADER(
7037: P_API_VERSION => 1.0,
7038: P_INIT_MSG_LIST => FND_API.G_TRUE,
7039: P_COMMIT => FND_API.G_FALSE,
7040: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7041: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
7042: X_RETURN_STATUS => l_return_status,
7035: -- updating disb header
7036: UPDATE_DISB_HEADER(
7037: P_API_VERSION => 1.0,
7038: P_INIT_MSG_LIST => FND_API.G_TRUE,
7039: P_COMMIT => FND_API.G_FALSE,
7040: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7041: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
7042: X_RETURN_STATUS => l_return_status,
7043: X_MSG_COUNT => l_msg_count,
7036: UPDATE_DISB_HEADER(
7037: P_API_VERSION => 1.0,
7038: P_INIT_MSG_LIST => FND_API.G_TRUE,
7039: P_COMMIT => FND_API.G_FALSE,
7040: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7041: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
7042: X_RETURN_STATUS => l_return_status,
7043: X_MSG_COUNT => l_msg_count,
7044: X_MSG_DATA => l_msg_data);
7044: X_MSG_DATA => l_msg_data);
7045:
7046: IF l_return_status <> 'S' THEN
7047: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_HEADER failed');
7048: RAISE FND_API.G_EXC_ERROR;
7049: END IF;
7050: l_cancel_fed_disb := 'Y';
7051:
7052: end if;
7065:
7066: IF l_dist_count > 0 THEN
7067: LogMessage(FND_LOG.LEVEL_STATEMENT, 'calling lns_distributions_pub.submit_disbursement_bc');
7068: -- Submit budgetary disbursement distributions if needed
7069: lns_distributions_pub.submit_disbursement_bc(p_init_msg_list => FND_API.G_FALSE
7070: ,p_commit => FND_API.G_FALSE
7071: ,p_loan_id => l_DISB_HEADER_REC.LOAN_ID
7072: ,p_disb_header_id => l_DISB_HEADER_REC.DISB_HEADER_ID
7073: ,p_activity => 'LNS_SUBMITTED_DISB_CANCEL'
7066: IF l_dist_count > 0 THEN
7067: LogMessage(FND_LOG.LEVEL_STATEMENT, 'calling lns_distributions_pub.submit_disbursement_bc');
7068: -- Submit budgetary disbursement distributions if needed
7069: lns_distributions_pub.submit_disbursement_bc(p_init_msg_list => FND_API.G_FALSE
7070: ,p_commit => FND_API.G_FALSE
7071: ,p_loan_id => l_DISB_HEADER_REC.LOAN_ID
7072: ,p_disb_header_id => l_DISB_HEADER_REC.DISB_HEADER_ID
7073: ,p_activity => 'LNS_SUBMITTED_DISB_CANCEL'
7074: ,X_RETURN_STATUS => l_return_status
7080: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
7081: FND_MESSAGE.SET_TOKEN('ERROR' ,'Call to lns_distributions_pub.submit_disbursement_bc failed for acitivity = LNS_SUBMITTED_DISB_CANCEL');
7082: FND_MSG_PUB.ADD;
7083: logMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
7084: RAISE FND_API.G_EXC_ERROR;
7085: END IF;
7086: END IF;
7087: END IF;
7088:
7087: END IF;
7088:
7089:
7090:
7091: if P_COMMIT = FND_API.G_TRUE then
7092: COMMIT WORK;
7093: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7094: end if;
7095:
7093: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7094: end if;
7095:
7096: -- END OF BODY OF API
7097: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
7098:
7099: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully cancelled disbursement header with lines');
7100:
7101: -- Standard call to get message count and if count is 1, get message info
7099: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully cancelled disbursement header with lines');
7100:
7101: -- Standard call to get message count and if count is 1, get message info
7102: FND_MSG_PUB.Count_And_Get(
7103: p_encoded => FND_API.G_FALSE,
7104: p_count => x_msg_count,
7105: p_data => x_msg_data);
7106:
7107: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7106:
7107: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7108:
7109: EXCEPTION
7110: WHEN FND_API.G_EXC_ERROR THEN
7111: ROLLBACK TO CANCEL_SINGLE_DISB;
7112: x_return_status := FND_API.G_RET_STS_ERROR;
7113: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7114: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7108:
7109: EXCEPTION
7110: WHEN FND_API.G_EXC_ERROR THEN
7111: ROLLBACK TO CANCEL_SINGLE_DISB;
7112: x_return_status := FND_API.G_RET_STS_ERROR;
7113: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7114: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7115: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7116: ROLLBACK TO CANCEL_SINGLE_DISB;
7111: ROLLBACK TO CANCEL_SINGLE_DISB;
7112: x_return_status := FND_API.G_RET_STS_ERROR;
7113: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7114: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7115: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7116: ROLLBACK TO CANCEL_SINGLE_DISB;
7117: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7118: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7119: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7113: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7114: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7115: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7116: ROLLBACK TO CANCEL_SINGLE_DISB;
7117: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7118: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7119: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7120: WHEN OTHERS THEN
7121: ROLLBACK TO CANCEL_SINGLE_DISB;
7118: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7119: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7120: WHEN OTHERS THEN
7121: ROLLBACK TO CANCEL_SINGLE_DISB;
7122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7123: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
7124: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
7125: END IF;
7126: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7233: SAVEPOINT APPROVE_CANCEL_REM_DISB;
7234: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
7235:
7236: -- Standard call to check for call compatibility
7237: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
7238: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7239: END IF;
7240:
7241: -- Initialize message list if p_init_msg_list is set to TRUE
7234: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
7235:
7236: -- Standard call to check for call compatibility
7237: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
7238: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7239: END IF;
7240:
7241: -- Initialize message list if p_init_msg_list is set to TRUE
7242: IF FND_API.To_Boolean(p_init_msg_list) THEN
7238: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7239: END IF;
7240:
7241: -- Initialize message list if p_init_msg_list is set to TRUE
7242: IF FND_API.To_Boolean(p_init_msg_list) THEN
7243: FND_MSG_PUB.initialize;
7244: END IF;
7245:
7246: -- Initialize API return status to success
7243: FND_MSG_PUB.initialize;
7244: END IF;
7245:
7246: -- Initialize API return status to success
7247: l_return_status := FND_API.G_RET_STS_SUCCESS;
7248:
7249: -- START OF BODY OF API
7250:
7251: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Cancelling all remaining disbursements...');
7262: exit when avail_disb_cur%NOTFOUND;
7263:
7264: CANCEL_SINGLE_DISB(
7265: P_API_VERSION => 1.0,
7266: P_INIT_MSG_LIST => FND_API.G_TRUE,
7267: P_COMMIT => FND_API.G_FALSE,
7268: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7269: P_DISB_HEADER_ID => l_disb_header_id,
7270: X_RETURN_STATUS => l_return_status,
7263:
7264: CANCEL_SINGLE_DISB(
7265: P_API_VERSION => 1.0,
7266: P_INIT_MSG_LIST => FND_API.G_TRUE,
7267: P_COMMIT => FND_API.G_FALSE,
7268: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7269: P_DISB_HEADER_ID => l_disb_header_id,
7270: X_RETURN_STATUS => l_return_status,
7271: X_MSG_COUNT => l_msg_count,
7264: CANCEL_SINGLE_DISB(
7265: P_API_VERSION => 1.0,
7266: P_INIT_MSG_LIST => FND_API.G_TRUE,
7267: P_COMMIT => FND_API.G_FALSE,
7268: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7269: P_DISB_HEADER_ID => l_disb_header_id,
7270: X_RETURN_STATUS => l_return_status,
7271: X_MSG_COUNT => l_msg_count,
7272: X_MSG_DATA => l_msg_data);
7272: X_MSG_DATA => l_msg_data);
7273:
7274: IF l_return_status <> 'S' THEN
7275: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'CANCEL_SINGLE_DISB failed');
7276: RAISE FND_API.G_EXC_ERROR;
7277: END IF;
7278:
7279: END LOOP;
7280: close avail_disb_cur;
7311: LogMessage(FND_LOG.LEVEL_STATEMENT, 'secondary status: ' || l_loan_header_rec.SECONDARY_STATUS);
7312:
7313: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
7314: P_LOAN_HEADER_REC => l_loan_header_rec,
7315: P_INIT_MSG_LIST => FND_API.G_FALSE,
7316: X_RETURN_STATUS => l_return_status,
7317: X_MSG_COUNT => l_msg_count,
7318: X_MSG_DATA => l_msg_data);
7319:
7324: ELSE
7325: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
7326: FND_MSG_PUB.Add;
7327: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
7328: RAISE FND_API.G_EXC_ERROR;
7329: END IF;
7330:
7331: end if;
7332:
7331: end if;
7332:
7333: LogMessage(FND_LOG.LEVEL_STATEMENT, 'calling lns_distributions_pub.cancel_disbursements');
7334: -- Cancel budgetary disbursements if needed
7335: lns_distributions_pub.cancel_disbursements(p_init_msg_list => FND_API.G_FALSE
7336: ,p_commit => FND_API.G_FALSE
7337: ,p_loan_id => P_LOAN_ID
7338: ,X_RETURN_STATUS => l_return_status
7339: ,X_MSG_COUNT => l_msg_count
7332:
7333: LogMessage(FND_LOG.LEVEL_STATEMENT, 'calling lns_distributions_pub.cancel_disbursements');
7334: -- Cancel budgetary disbursements if needed
7335: lns_distributions_pub.cancel_disbursements(p_init_msg_list => FND_API.G_FALSE
7336: ,p_commit => FND_API.G_FALSE
7337: ,p_loan_id => P_LOAN_ID
7338: ,X_RETURN_STATUS => l_return_status
7339: ,X_MSG_COUNT => l_msg_count
7340: ,X_MSG_DATA => l_msg_data);
7341:
7342: logMessage(FND_LOG.LEVEL_STATEMENT, 'l_return_status: ' || l_return_status);
7343: IF l_return_status <> 'S' THEN
7344: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'BUDGETARY CANCEL_FAILED');
7345: RAISE FND_API.G_EXC_ERROR;
7346: END IF;
7347:
7348: IF P_COMMIT = FND_API.G_TRUE THEN
7349: COMMIT WORK;
7344: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'BUDGETARY CANCEL_FAILED');
7345: RAISE FND_API.G_EXC_ERROR;
7346: END IF;
7347:
7348: IF P_COMMIT = FND_API.G_TRUE THEN
7349: COMMIT WORK;
7350: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7351: END IF;
7352:
7350: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7351: END IF;
7352:
7353: -- END OF BODY OF API
7354: x_return_status := FND_API.G_RET_STS_SUCCESS;
7355:
7356: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully cancelled all remaining disbursements');
7357:
7358: -- Standard call to get message count and if count is 1, get message info
7356: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully cancelled all remaining disbursements');
7357:
7358: -- Standard call to get message count and if count is 1, get message info
7359: FND_MSG_PUB.Count_And_Get(
7360: p_encoded => FND_API.G_FALSE,
7361: p_count => x_msg_count,
7362: p_data => x_msg_data);
7363:
7364: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7363:
7364: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7365:
7366: EXCEPTION
7367: WHEN FND_API.G_EXC_ERROR THEN
7368: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7369: x_return_status := FND_API.G_RET_STS_ERROR;
7370: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7371: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7365:
7366: EXCEPTION
7367: WHEN FND_API.G_EXC_ERROR THEN
7368: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7369: x_return_status := FND_API.G_RET_STS_ERROR;
7370: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7371: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7373: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7368: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7369: x_return_status := FND_API.G_RET_STS_ERROR;
7370: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7371: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7373: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7374: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7375: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7376: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7370: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7371: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7373: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7374: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7375: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7376: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7377: WHEN OTHERS THEN
7378: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7375: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7376: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7377: WHEN OTHERS THEN
7378: ROLLBACK TO APPROVE_CANCEL_REM_DISB;
7379: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7380: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
7381: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
7382: END IF;
7383: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7478: SAVEPOINT REJECT_CANCEL_DISB;
7479: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
7480:
7481: -- Standard call to check for call compatibility
7482: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
7483: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7484: END IF;
7485:
7486: -- Initialize message list if p_init_msg_list is set to TRUE
7479: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
7480:
7481: -- Standard call to check for call compatibility
7482: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
7483: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7484: END IF;
7485:
7486: -- Initialize message list if p_init_msg_list is set to TRUE
7487: IF FND_API.To_Boolean(p_init_msg_list) THEN
7483: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7484: END IF;
7485:
7486: -- Initialize message list if p_init_msg_list is set to TRUE
7487: IF FND_API.To_Boolean(p_init_msg_list) THEN
7488: FND_MSG_PUB.initialize;
7489: END IF;
7490:
7491: -- Initialize API return status to success
7488: FND_MSG_PUB.initialize;
7489: END IF;
7490:
7491: -- Initialize API return status to success
7492: l_return_status := FND_API.G_RET_STS_SUCCESS;
7493:
7494: -- START OF BODY OF API
7495:
7496: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Reactivation disbursement schedule...');
7515: LogMessage(FND_LOG.LEVEL_STATEMENT, 'status: ' || l_loan_header_rec.LOAN_STATUS);
7516:
7517: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
7518: P_LOAN_HEADER_REC => l_loan_header_rec,
7519: P_INIT_MSG_LIST => FND_API.G_FALSE,
7520: X_RETURN_STATUS => l_return_status,
7521: X_MSG_COUNT => l_msg_count,
7522: X_MSG_DATA => l_msg_data);
7523:
7528: ELSE
7529: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
7530: FND_MSG_PUB.Add;
7531: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
7532: RAISE FND_API.G_EXC_ERROR;
7533: END IF;
7534:
7535: if P_COMMIT = FND_API.G_TRUE then
7536: COMMIT WORK;
7531: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
7532: RAISE FND_API.G_EXC_ERROR;
7533: END IF;
7534:
7535: if P_COMMIT = FND_API.G_TRUE then
7536: COMMIT WORK;
7537: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7538: end if;
7539:
7537: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7538: end if;
7539:
7540: -- END OF BODY OF API
7541: x_return_status := FND_API.G_RET_STS_SUCCESS;
7542:
7543: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully reactivation disbursement schedule');
7544:
7545: -- Standard call to get message count and if count is 1, get message info
7543: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully reactivation disbursement schedule');
7544:
7545: -- Standard call to get message count and if count is 1, get message info
7546: FND_MSG_PUB.Count_And_Get(
7547: p_encoded => FND_API.G_FALSE,
7548: p_count => x_msg_count,
7549: p_data => x_msg_data);
7550:
7551: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7550:
7551: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7552:
7553: EXCEPTION
7554: WHEN FND_API.G_EXC_ERROR THEN
7555: ROLLBACK TO REJECT_CANCEL_DISB;
7556: x_return_status := FND_API.G_RET_STS_ERROR;
7557: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7558: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7552:
7553: EXCEPTION
7554: WHEN FND_API.G_EXC_ERROR THEN
7555: ROLLBACK TO REJECT_CANCEL_DISB;
7556: x_return_status := FND_API.G_RET_STS_ERROR;
7557: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7558: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7559: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7560: ROLLBACK TO REJECT_CANCEL_DISB;
7555: ROLLBACK TO REJECT_CANCEL_DISB;
7556: x_return_status := FND_API.G_RET_STS_ERROR;
7557: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7558: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7559: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7560: ROLLBACK TO REJECT_CANCEL_DISB;
7561: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7562: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7563: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7557: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7558: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7559: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7560: ROLLBACK TO REJECT_CANCEL_DISB;
7561: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7562: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7563: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7564: WHEN OTHERS THEN
7565: ROLLBACK TO REJECT_CANCEL_DISB;
7562: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7563: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7564: WHEN OTHERS THEN
7565: ROLLBACK TO REJECT_CANCEL_DISB;
7566: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7567: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
7568: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
7569: END IF;
7570: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7657: SAVEPOINT CANCEL_DISB_SCHEDULE;
7658: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
7659:
7660: -- Standard call to check for call compatibility
7661: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
7662: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7663: END IF;
7664:
7665: -- Initialize message list if p_init_msg_list is set to TRUE
7658: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
7659:
7660: -- Standard call to check for call compatibility
7661: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
7662: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7663: END IF;
7664:
7665: -- Initialize message list if p_init_msg_list is set to TRUE
7666: IF FND_API.To_Boolean(p_init_msg_list) THEN
7662: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7663: END IF;
7664:
7665: -- Initialize message list if p_init_msg_list is set to TRUE
7666: IF FND_API.To_Boolean(p_init_msg_list) THEN
7667: FND_MSG_PUB.initialize;
7668: END IF;
7669:
7670: -- Initialize API return status to success
7667: FND_MSG_PUB.initialize;
7668: END IF;
7669:
7670: -- Initialize API return status to success
7671: l_return_status := FND_API.G_RET_STS_SUCCESS;
7672:
7673: -- START OF BODY OF API
7674:
7675: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Cancel disbursements...');
7697: LogMessage(FND_LOG.LEVEL_STATEMENT, 'status: ' || l_loan_header_rec.LOAN_STATUS);
7698:
7699: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
7700: P_LOAN_HEADER_REC => l_loan_header_rec,
7701: P_INIT_MSG_LIST => FND_API.G_FALSE,
7702: X_RETURN_STATUS => l_return_status,
7703: X_MSG_COUNT => l_msg_count,
7704: X_MSG_DATA => l_msg_data);
7705:
7710: ELSE
7711: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
7712: FND_MSG_PUB.Add;
7713: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
7714: RAISE FND_API.G_EXC_ERROR;
7715: END IF;
7716:
7717: else
7718:
7717: else
7718:
7719: APPROVE_CANCEL_REM_DISB(
7720: P_API_VERSION => 1.0,
7721: P_INIT_MSG_LIST => FND_API.G_FALSE,
7722: P_COMMIT => FND_API.G_FALSE,
7723: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7724: P_LOAN_ID => P_LOAN_ID,
7725: X_RETURN_STATUS => l_return_status,
7718:
7719: APPROVE_CANCEL_REM_DISB(
7720: P_API_VERSION => 1.0,
7721: P_INIT_MSG_LIST => FND_API.G_FALSE,
7722: P_COMMIT => FND_API.G_FALSE,
7723: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7724: P_LOAN_ID => P_LOAN_ID,
7725: X_RETURN_STATUS => l_return_status,
7726: X_MSG_COUNT => l_msg_count,
7719: APPROVE_CANCEL_REM_DISB(
7720: P_API_VERSION => 1.0,
7721: P_INIT_MSG_LIST => FND_API.G_FALSE,
7722: P_COMMIT => FND_API.G_FALSE,
7723: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
7724: P_LOAN_ID => P_LOAN_ID,
7725: X_RETURN_STATUS => l_return_status,
7726: X_MSG_COUNT => l_msg_count,
7727: X_MSG_DATA => l_msg_data);
7726: X_MSG_COUNT => l_msg_count,
7727: X_MSG_DATA => l_msg_data);
7728:
7729: IF l_return_status <> 'S' THEN
7730: RAISE FND_API.G_EXC_ERROR;
7731: END IF;
7732:
7733: end if;
7734:
7731: END IF;
7732:
7733: end if;
7734:
7735: if P_COMMIT = FND_API.G_TRUE then
7736: COMMIT WORK;
7737: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7738: end if;
7739:
7737: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
7738: end if;
7739:
7740: -- END OF BODY OF API
7741: x_return_status := FND_API.G_RET_STS_SUCCESS;
7742:
7743: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully cancel disbursements');
7744:
7745: -- Standard call to get message count and if count is 1, get message info
7743: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully cancel disbursements');
7744:
7745: -- Standard call to get message count and if count is 1, get message info
7746: FND_MSG_PUB.Count_And_Get(
7747: p_encoded => FND_API.G_FALSE,
7748: p_count => x_msg_count,
7749: p_data => x_msg_data);
7750:
7751: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7750:
7751: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
7752:
7753: EXCEPTION
7754: WHEN FND_API.G_EXC_ERROR THEN
7755: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7756: x_return_status := FND_API.G_RET_STS_ERROR;
7757: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7758: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7752:
7753: EXCEPTION
7754: WHEN FND_API.G_EXC_ERROR THEN
7755: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7756: x_return_status := FND_API.G_RET_STS_ERROR;
7757: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7758: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7759: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7760: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7755: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7756: x_return_status := FND_API.G_RET_STS_ERROR;
7757: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7758: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7759: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7760: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7761: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7762: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7763: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7757: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7758: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7759: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7760: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7761: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7762: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7763: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7764: WHEN OTHERS THEN
7765: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7762: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7763: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
7764: WHEN OTHERS THEN
7765: ROLLBACK TO CANCEL_DISB_SCHEDULE;
7766: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7767: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
7768: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
7769: END IF;
7770: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8305: SAVEPOINT SET_AUTOFUNDING;
8306: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
8307:
8308: -- Standard call to check for call compatibility
8309: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
8310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8311: END IF;
8312:
8313: -- Initialize message list if p_init_msg_list is set to TRUE
8306: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
8307:
8308: -- Standard call to check for call compatibility
8309: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
8310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8311: END IF;
8312:
8313: -- Initialize message list if p_init_msg_list is set to TRUE
8314: IF FND_API.To_Boolean(p_init_msg_list) THEN
8310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8311: END IF;
8312:
8313: -- Initialize message list if p_init_msg_list is set to TRUE
8314: IF FND_API.To_Boolean(p_init_msg_list) THEN
8315: FND_MSG_PUB.initialize;
8316: END IF;
8317:
8318: -- Initialize API return status to success
8315: FND_MSG_PUB.initialize;
8316: END IF;
8317:
8318: -- Initialize API return status to success
8319: l_return_status := FND_API.G_RET_STS_SUCCESS;
8320:
8321: -- START OF BODY OF API
8322:
8323: -- getting disbursement header info
8334: -- LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'No disbursement header record found');
8335: FND_MESSAGE.SET_NAME('LNS', 'LNS_CREATE_DISB_SCHED');
8336: FND_MSG_PUB.ADD;
8337: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
8338: RAISE FND_API.G_EXC_ERROR;
8339:
8340: end if;
8341:
8342: X_RETURN_STATUS := l_return_status;
8349:
8350: -- validate headers and lines
8351: VALIDATE_DISB_HEADERS(
8352: P_API_VERSION => 1.0,
8353: P_INIT_MSG_LIST => FND_API.G_TRUE,
8354: P_COMMIT => FND_API.G_FALSE,
8355: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8356: P_LOAN_ID => P_LOAN_ID,
8357: X_RETURN_STATUS => l_return_status,
8350: -- validate headers and lines
8351: VALIDATE_DISB_HEADERS(
8352: P_API_VERSION => 1.0,
8353: P_INIT_MSG_LIST => FND_API.G_TRUE,
8354: P_COMMIT => FND_API.G_FALSE,
8355: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8356: P_LOAN_ID => P_LOAN_ID,
8357: X_RETURN_STATUS => l_return_status,
8358: X_MSG_COUNT => l_msg_count,
8351: VALIDATE_DISB_HEADERS(
8352: P_API_VERSION => 1.0,
8353: P_INIT_MSG_LIST => FND_API.G_TRUE,
8354: P_COMMIT => FND_API.G_FALSE,
8355: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8356: P_LOAN_ID => P_LOAN_ID,
8357: X_RETURN_STATUS => l_return_status,
8358: X_MSG_COUNT => l_msg_count,
8359: X_MSG_DATA => l_msg_data);
8359: X_MSG_DATA => l_msg_data);
8360:
8361: IF l_return_status <> 'S' THEN
8362: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to VALIDATE_DISB_HEADERS failed');
8363: RAISE FND_API.G_EXC_ERROR;
8364: END IF;
8365:
8366: VALIDATE_DISB_FOR_SUBMIT(
8367: P_API_VERSION => 1.0,
8364: END IF;
8365:
8366: VALIDATE_DISB_FOR_SUBMIT(
8367: P_API_VERSION => 1.0,
8368: P_INIT_MSG_LIST => FND_API.G_TRUE,
8369: P_COMMIT => FND_API.G_FALSE,
8370: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8371: P_DISB_HEADER_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
8372: X_RETURN_STATUS => l_return_status,
8365:
8366: VALIDATE_DISB_FOR_SUBMIT(
8367: P_API_VERSION => 1.0,
8368: P_INIT_MSG_LIST => FND_API.G_TRUE,
8369: P_COMMIT => FND_API.G_FALSE,
8370: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8371: P_DISB_HEADER_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
8372: X_RETURN_STATUS => l_return_status,
8373: X_MSG_COUNT => l_msg_count,
8366: VALIDATE_DISB_FOR_SUBMIT(
8367: P_API_VERSION => 1.0,
8368: P_INIT_MSG_LIST => FND_API.G_TRUE,
8369: P_COMMIT => FND_API.G_FALSE,
8370: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8371: P_DISB_HEADER_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
8372: X_RETURN_STATUS => l_return_status,
8373: X_MSG_COUNT => l_msg_count,
8374: X_MSG_DATA => l_msg_data);
8374: X_MSG_DATA => l_msg_data);
8375:
8376: IF l_return_status <> 'S' THEN
8377: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to VALIDATE_DISB_FOR_SUBMIT failed');
8378: RAISE FND_API.G_EXC_ERROR;
8379: END IF;
8380:
8381: -- checking for conditions
8382: open conditions_cur(l_DISB_HEADER_REC.DISB_HEADER_ID);
8385:
8386: if l_cond_count > 0 then
8387: FND_MESSAGE.SET_NAME('LNS', 'LNS_AUTOFUND_AND_MAND_CONDIT');
8388: FND_MSG_PUB.Add;
8389: RAISE FND_API.G_EXC_ERROR;
8390: end if;
8391:
8392: LNS_COND_ASSIGNMENT_PUB.VALIDATE_CUSTOM_CONDITIONS(
8393: P_API_VERSION => 1.0,
8390: end if;
8391:
8392: LNS_COND_ASSIGNMENT_PUB.VALIDATE_CUSTOM_CONDITIONS(
8393: P_API_VERSION => 1.0,
8394: P_INIT_MSG_LIST => FND_API.G_FALSE,
8395: P_COMMIT => FND_API.G_FALSE,
8396: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8397: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
8398: P_CONDITION_TYPE => 'DISBURSEMENT',
8391:
8392: LNS_COND_ASSIGNMENT_PUB.VALIDATE_CUSTOM_CONDITIONS(
8393: P_API_VERSION => 1.0,
8394: P_INIT_MSG_LIST => FND_API.G_FALSE,
8395: P_COMMIT => FND_API.G_FALSE,
8396: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8397: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
8398: P_CONDITION_TYPE => 'DISBURSEMENT',
8399: P_COMPLETE_FLAG => 'N',
8392: LNS_COND_ASSIGNMENT_PUB.VALIDATE_CUSTOM_CONDITIONS(
8393: P_API_VERSION => 1.0,
8394: P_INIT_MSG_LIST => FND_API.G_FALSE,
8395: P_COMMIT => FND_API.G_FALSE,
8396: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8397: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
8398: P_CONDITION_TYPE => 'DISBURSEMENT',
8399: P_COMPLETE_FLAG => 'N',
8400: X_RETURN_STATUS => l_return_status,
8401: X_MSG_COUNT => l_msg_count,
8402: X_MSG_DATA => l_msg_data);
8403:
8404: IF l_return_status <> 'S' THEN
8405: RAISE FND_API.G_EXC_ERROR;
8406: end if;
8407:
8408: end if;
8409:
8415: l_DISB_HEADER_REC.AUTOFUNDING_FLAG := P_AUTOFUNDING_FLAG;
8416:
8417: UPDATE_DISB_HEADER(
8418: P_API_VERSION => 1.0,
8419: P_INIT_MSG_LIST => FND_API.G_TRUE,
8420: P_COMMIT => FND_API.G_FALSE,
8421: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8422: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
8423: X_RETURN_STATUS => l_return_status,
8416:
8417: UPDATE_DISB_HEADER(
8418: P_API_VERSION => 1.0,
8419: P_INIT_MSG_LIST => FND_API.G_TRUE,
8420: P_COMMIT => FND_API.G_FALSE,
8421: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8422: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
8423: X_RETURN_STATUS => l_return_status,
8424: X_MSG_COUNT => l_msg_count,
8417: UPDATE_DISB_HEADER(
8418: P_API_VERSION => 1.0,
8419: P_INIT_MSG_LIST => FND_API.G_TRUE,
8420: P_COMMIT => FND_API.G_FALSE,
8421: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
8422: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
8423: X_RETURN_STATUS => l_return_status,
8424: X_MSG_COUNT => l_msg_count,
8425: X_MSG_DATA => l_msg_data);
8425: X_MSG_DATA => l_msg_data);
8426:
8427: IF l_return_status <> 'S' THEN
8428: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_HEADER failed');
8429: RAISE FND_API.G_EXC_ERROR;
8430: END IF;
8431:
8432: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully updated record into LNS_DISB_HEADERS');
8433:
8430: END IF;
8431:
8432: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully updated record into LNS_DISB_HEADERS');
8433:
8434: if P_COMMIT = FND_API.G_TRUE then
8435: COMMIT WORK;
8436: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
8437: end if;
8438:
8436: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Commited');
8437: end if;
8438:
8439: -- END OF BODY OF API
8440: x_return_status := FND_API.G_RET_STS_SUCCESS;
8441:
8442: -- Standard call to get message count and if count is 1, get message info
8443: FND_MSG_PUB.Count_And_Get(
8444: p_encoded => FND_API.G_FALSE,
8440: x_return_status := FND_API.G_RET_STS_SUCCESS;
8441:
8442: -- Standard call to get message count and if count is 1, get message info
8443: FND_MSG_PUB.Count_And_Get(
8444: p_encoded => FND_API.G_FALSE,
8445: p_count => x_msg_count,
8446: p_data => x_msg_data);
8447:
8448: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
8447:
8448: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
8449:
8450: EXCEPTION
8451: WHEN FND_API.G_EXC_ERROR THEN
8452: ROLLBACK TO SET_AUTOFUNDING;
8453: x_return_status := FND_API.G_RET_STS_ERROR;
8454: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8455: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
8449:
8450: EXCEPTION
8451: WHEN FND_API.G_EXC_ERROR THEN
8452: ROLLBACK TO SET_AUTOFUNDING;
8453: x_return_status := FND_API.G_RET_STS_ERROR;
8454: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8455: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
8456: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8457: ROLLBACK TO SET_AUTOFUNDING;
8452: ROLLBACK TO SET_AUTOFUNDING;
8453: x_return_status := FND_API.G_RET_STS_ERROR;
8454: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8455: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
8456: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8457: ROLLBACK TO SET_AUTOFUNDING;
8458: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8459: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8460: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
8454: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8455: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
8456: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8457: ROLLBACK TO SET_AUTOFUNDING;
8458: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8459: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8460: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
8461: WHEN OTHERS THEN
8462: ROLLBACK TO SET_AUTOFUNDING;
8459: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8460: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Rollbacked');
8461: WHEN OTHERS THEN
8462: ROLLBACK TO SET_AUTOFUNDING;
8463: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8464: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
8465: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
8466: END IF;
8467: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9146: LogMessage(FND_LOG.LEVEL_PROCEDURE, ' ');
9147: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
9148:
9149: -- Standard call to check for call compatibility
9150: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
9151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9152: END IF;
9153:
9154: -- Initialize message list if p_init_msg_list is set to TRUE
9147: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' +');
9148:
9149: -- Standard call to check for call compatibility
9150: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
9151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9152: END IF;
9153:
9154: -- Initialize message list if p_init_msg_list is set to TRUE
9155: IF FND_API.To_Boolean(p_init_msg_list) THEN
9151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9152: END IF;
9153:
9154: -- Initialize message list if p_init_msg_list is set to TRUE
9155: IF FND_API.To_Boolean(p_init_msg_list) THEN
9156: FND_MSG_PUB.initialize;
9157: END IF;
9158:
9159: -- Initialize API return status to success
9156: FND_MSG_PUB.initialize;
9157: END IF;
9158:
9159: -- Initialize API return status to success
9160: l_return_status := FND_API.G_RET_STS_SUCCESS;
9161:
9162: -- START OF BODY OF API
9163:
9164: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Validating disbursements for payoff process...');
9171: if l_in_funding_count > 0 then
9172: FND_MESSAGE.SET_NAME('LNS', 'LNS_CANT_PAYOFF_IN_FUND');
9173: FND_MSG_PUB.Add;
9174: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
9175: RAISE FND_API.G_EXC_ERROR;
9176: end if;
9177:
9178: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated disbursements for payoff process');
9179:
9177:
9178: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Successfully validated disbursements for payoff process');
9179:
9180: -- END OF BODY OF API
9181: x_return_status := FND_API.G_RET_STS_SUCCESS;
9182:
9183: -- Standard call to get message count and if count is 1, get message info
9184: FND_MSG_PUB.Count_And_Get(
9185: p_encoded => FND_API.G_FALSE,
9181: x_return_status := FND_API.G_RET_STS_SUCCESS;
9182:
9183: -- Standard call to get message count and if count is 1, get message info
9184: FND_MSG_PUB.Count_And_Get(
9185: p_encoded => FND_API.G_FALSE,
9186: p_count => x_msg_count,
9187: p_data => x_msg_data);
9188:
9189: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9188:
9189: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9190:
9191: EXCEPTION
9192: WHEN FND_API.G_EXC_ERROR THEN
9193: x_return_status := FND_API.G_RET_STS_ERROR;
9194: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9189: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9190:
9191: EXCEPTION
9192: WHEN FND_API.G_EXC_ERROR THEN
9193: x_return_status := FND_API.G_RET_STS_ERROR;
9194: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9197: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9191: EXCEPTION
9192: WHEN FND_API.G_EXC_ERROR THEN
9193: x_return_status := FND_API.G_RET_STS_ERROR;
9194: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9197: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9198: WHEN OTHERS THEN
9199: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9192: WHEN FND_API.G_EXC_ERROR THEN
9193: x_return_status := FND_API.G_RET_STS_ERROR;
9194: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9197: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9198: WHEN OTHERS THEN
9199: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9200: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
9195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9197: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9198: WHEN OTHERS THEN
9199: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9200: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
9201: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
9202: END IF;
9203: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9327: SAVEPOINT CHECK_FOR_VOIDED_INVOICES;
9328: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
9329:
9330: -- Standard call to check for call compatibility
9331: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
9332: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9333: END IF;
9334:
9335: -- Initialize message list if p_init_msg_list is set to TRUE
9328: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
9329:
9330: -- Standard call to check for call compatibility
9331: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
9332: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9333: END IF;
9334:
9335: -- Initialize message list if p_init_msg_list is set to TRUE
9336: IF FND_API.To_Boolean(p_init_msg_list) THEN
9332: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9333: END IF;
9334:
9335: -- Initialize message list if p_init_msg_list is set to TRUE
9336: IF FND_API.To_Boolean(p_init_msg_list) THEN
9337: FND_MSG_PUB.initialize;
9338: END IF;
9339:
9340: -- Initialize API return status to success
9337: FND_MSG_PUB.initialize;
9338: END IF;
9339:
9340: -- Initialize API return status to success
9341: l_return_status := FND_API.G_RET_STS_SUCCESS;
9342:
9343: -- START OF BODY OF API
9344:
9345: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Searching voided AP invoices that are not cancelled in Loans yet...');
9392: l_DISB_LINE_REC.STATUS := 'CANCELLED';
9393: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Updating disb line to status ' || l_DISB_LINE_REC.STATUS);
9394: UPDATE_DISB_LINE(
9395: P_API_VERSION => 1.0,
9396: P_INIT_MSG_LIST => FND_API.G_TRUE,
9397: P_COMMIT => FND_API.G_FALSE,
9398: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9399: P_DISB_LINE_REC => l_DISB_LINE_REC,
9400: X_RETURN_STATUS => l_return_status,
9393: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Updating disb line to status ' || l_DISB_LINE_REC.STATUS);
9394: UPDATE_DISB_LINE(
9395: P_API_VERSION => 1.0,
9396: P_INIT_MSG_LIST => FND_API.G_TRUE,
9397: P_COMMIT => FND_API.G_FALSE,
9398: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9399: P_DISB_LINE_REC => l_DISB_LINE_REC,
9400: X_RETURN_STATUS => l_return_status,
9401: X_MSG_COUNT => l_msg_count,
9394: UPDATE_DISB_LINE(
9395: P_API_VERSION => 1.0,
9396: P_INIT_MSG_LIST => FND_API.G_TRUE,
9397: P_COMMIT => FND_API.G_FALSE,
9398: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9399: P_DISB_LINE_REC => l_DISB_LINE_REC,
9400: X_RETURN_STATUS => l_return_status,
9401: X_MSG_COUNT => l_msg_count,
9402: X_MSG_DATA => l_msg_data);
9402: X_MSG_DATA => l_msg_data);
9403:
9404: IF l_return_status <> 'S' THEN
9405: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_LINE failed');
9406: RAISE FND_API.G_EXC_ERROR;
9407: ELSE
9408: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Success');
9409: END IF;
9410:
9451: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Updating disb header to status ' || l_DISB_HEADER_REC.STATUS);
9452: -- updating disb header
9453: UPDATE_DISB_HEADER(
9454: P_API_VERSION => 1.0,
9455: P_INIT_MSG_LIST => FND_API.G_TRUE,
9456: P_COMMIT => FND_API.G_FALSE,
9457: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9458: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
9459: X_RETURN_STATUS => l_return_status,
9452: -- updating disb header
9453: UPDATE_DISB_HEADER(
9454: P_API_VERSION => 1.0,
9455: P_INIT_MSG_LIST => FND_API.G_TRUE,
9456: P_COMMIT => FND_API.G_FALSE,
9457: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9458: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
9459: X_RETURN_STATUS => l_return_status,
9460: X_MSG_COUNT => l_msg_count,
9453: UPDATE_DISB_HEADER(
9454: P_API_VERSION => 1.0,
9455: P_INIT_MSG_LIST => FND_API.G_TRUE,
9456: P_COMMIT => FND_API.G_FALSE,
9457: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9458: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
9459: X_RETURN_STATUS => l_return_status,
9460: X_MSG_COUNT => l_msg_count,
9461: X_MSG_DATA => l_msg_data);
9461: X_MSG_DATA => l_msg_data);
9462:
9463: IF l_return_status <> 'S' THEN
9464: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'Call to UPDATE_DISB_HEADER failed');
9465: RAISE FND_API.G_EXC_ERROR;
9466: ELSE
9467: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Success');
9468: END IF;
9469:
9473:
9474: UPDATE_LOAN_FUNDING_STATUS(P_LOAN_ID);
9475:
9476: -- END OF BODY OF API
9477: x_return_status := FND_API.G_RET_STS_SUCCESS;
9478:
9479: -- Standard call to get message count and if count is 1, get message info
9480: FND_MSG_PUB.Count_And_Get(
9481: p_encoded => FND_API.G_FALSE,
9477: x_return_status := FND_API.G_RET_STS_SUCCESS;
9478:
9479: -- Standard call to get message count and if count is 1, get message info
9480: FND_MSG_PUB.Count_And_Get(
9481: p_encoded => FND_API.G_FALSE,
9482: p_count => x_msg_count,
9483: p_data => x_msg_data);
9484:
9485: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9484:
9485: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9486:
9487: EXCEPTION
9488: WHEN FND_API.G_EXC_ERROR THEN
9489: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9490: x_return_status := FND_API.G_RET_STS_ERROR;
9491: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9486:
9487: EXCEPTION
9488: WHEN FND_API.G_EXC_ERROR THEN
9489: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9490: x_return_status := FND_API.G_RET_STS_ERROR;
9491: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9493: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9494: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9488: WHEN FND_API.G_EXC_ERROR THEN
9489: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9490: x_return_status := FND_API.G_RET_STS_ERROR;
9491: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9493: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9494: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9495: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9496: WHEN OTHERS THEN
9490: x_return_status := FND_API.G_RET_STS_ERROR;
9491: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9493: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9494: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9495: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9496: WHEN OTHERS THEN
9497: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9498: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9494: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9495: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9496: WHEN OTHERS THEN
9497: ROLLBACK TO CHECK_FOR_VOIDED_INVOICES;
9498: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9499: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
9500: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
9501: END IF;
9502: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9587: l_loan_status <> 'PAIDOFF' and l_loan_status <> 'CANCELLED' then
9588: l_loan_header_rec.SECONDARY_STATUS := 'FULLY_FUNDED';
9589: elsif (l_loan_status = 'PAIDOFF' or l_loan_status = 'CANCELLED') and l_current_phase = 'TERM' then
9590: if l_SECONDARY_STATUS is not null then
9591: l_loan_header_rec.SECONDARY_STATUS := FND_API.G_MISS_CHAR;
9592: end if;
9593: else
9594: open disb_count_cur(P_LOAN_ID, 'IN_FUNDING');
9595: fetch disb_count_cur into l_in_funding_count;
9608: l_loan_header_rec.SECONDARY_STATUS := 'IN_FUNDING';
9609: elsif l_funded_amount > 0 and l_requested_amount > 0 then
9610: l_loan_header_rec.SECONDARY_STATUS := 'PARTIALLY_FUNDED';
9611: else
9612: l_loan_header_rec.SECONDARY_STATUS := FND_API.G_MISS_CHAR;
9613: end if;
9614: end if;
9615:
9616: if l_SECONDARY_STATUS <> l_loan_header_rec.SECONDARY_STATUS then
9619: LogMessage(FND_LOG.LEVEL_STATEMENT, 'secondary status: ' || l_loan_header_rec.SECONDARY_STATUS);
9620:
9621: LNS_LOAN_HEADER_PUB.UPDATE_LOAN(P_OBJECT_VERSION_NUMBER => l_loan_version,
9622: P_LOAN_HEADER_REC => l_loan_header_rec,
9623: P_INIT_MSG_LIST => FND_API.G_FALSE,
9624: X_RETURN_STATUS => l_return_status,
9625: X_MSG_COUNT => l_msg_count,
9626: X_MSG_DATA => l_msg_data);
9627:
9630: IF l_return_status <> 'S' THEN
9631: FND_MESSAGE.SET_NAME('LNS', 'LNS_UPD_LOAN_FAIL');
9632: FND_MSG_PUB.Add;
9633: LogMessage(FND_LOG.LEVEL_UNEXPECTED, FND_MSG_PUB.Get(p_encoded => 'F'));
9634: RAISE FND_API.G_EXC_ERROR;
9635: END IF;
9636:
9637: end if;
9638: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9720: SAVEPOINT CREATE_DISBURSEMENT;
9721: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
9722:
9723: -- Standard call to check for call compatibility
9724: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
9725: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9726: END IF;
9727:
9728: -- Initialize message list if p_init_msg_list is set to TRUE
9721: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Savepoint is established');
9722:
9723: -- Standard call to check for call compatibility
9724: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
9725: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9726: END IF;
9727:
9728: -- Initialize message list if p_init_msg_list is set to TRUE
9729: IF FND_API.To_Boolean(p_init_msg_list) THEN
9725: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9726: END IF;
9727:
9728: -- Initialize message list if p_init_msg_list is set to TRUE
9729: IF FND_API.To_Boolean(p_init_msg_list) THEN
9730: FND_MSG_PUB.initialize;
9731: END IF;
9732:
9733: -- Initialize API return status to success
9730: FND_MSG_PUB.initialize;
9731: END IF;
9732:
9733: -- Initialize API return status to success
9734: l_return_status := FND_API.G_RET_STS_SUCCESS;
9735:
9736: -- START OF BODY OF API
9737:
9738: IF P_LOAN_ID IS NULL THEN
9739: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'LOAN ID is missing');
9740: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
9741: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'P_LOAN_ID' );
9742: FND_MSG_PUB.ADD;
9743: RAISE FND_API.G_EXC_ERROR;
9744: END IF;
9745:
9746: IF P_AMOUNT IS NULL THEN
9747: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'AMOUNT is missing');
9747: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'AMOUNT is missing');
9748: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
9749: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'P_AMOUNT' );
9750: FND_MSG_PUB.ADD;
9751: RAISE FND_API.G_EXC_ERROR;
9752: END IF;
9753:
9754: IF P_DUE_DATE IS NULL THEN
9755: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'DUE_DATE is missing');
9755: LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'DUE_DATE is missing');
9756: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
9757: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'P_DUE_DATE' );
9758: FND_MSG_PUB.ADD;
9759: RAISE FND_API.G_EXC_ERROR;
9760: END IF;
9761:
9762: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Querying loan info...');
9763: SELECT llh.primary_borrower_id
9790:
9791: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling IBY_DISBURSEMENT_COMP_PUB.Get_Default_Payment_Attributes...');
9792: IBY_DISBURSEMENT_COMP_PUB.Get_Default_Payment_Attributes(
9793: p_api_version => 1.0,
9794: p_init_msg_list => FND_API.G_TRUE,
9795: p_ignore_payee_pref => null,
9796: p_trxn_attributes_rec => l_Trxn_Attributes_Rec,
9797: x_return_status => l_return_status,
9798: x_msg_count => l_msg_count,
9819:
9820: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_HEADER...');
9821: INSERT_DISB_HEADER(
9822: P_API_VERSION => 1.0,
9823: P_INIT_MSG_LIST => FND_API.G_TRUE,
9824: P_COMMIT => FND_API.G_FALSE,
9825: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9826: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
9827: X_RETURN_STATUS => l_return_status,
9820: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_HEADER...');
9821: INSERT_DISB_HEADER(
9822: P_API_VERSION => 1.0,
9823: P_INIT_MSG_LIST => FND_API.G_TRUE,
9824: P_COMMIT => FND_API.G_FALSE,
9825: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9826: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
9827: X_RETURN_STATUS => l_return_status,
9828: X_MSG_COUNT => l_msg_count,
9821: INSERT_DISB_HEADER(
9822: P_API_VERSION => 1.0,
9823: P_INIT_MSG_LIST => FND_API.G_TRUE,
9824: P_COMMIT => FND_API.G_FALSE,
9825: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9826: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
9827: X_RETURN_STATUS => l_return_status,
9828: X_MSG_COUNT => l_msg_count,
9829: X_MSG_DATA => l_msg_data);
9830:
9831: LogMessage(FND_LOG.LEVEL_STATEMENT, 'l_return_status: ' || l_return_status);
9832: IF l_return_status <> 'S' THEN
9833: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Call to INSERT_DISB_HEADER failed');
9834: RAISE FND_API.G_EXC_ERROR;
9835: END IF;
9836:
9837: -- create disb line
9838: select lns_disb_lines_s.NEXTVAL into l_DISB_LINE_REC.DISB_LINE_ID from dual;
9848:
9849: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_LINE...');
9850: INSERT_DISB_LINE(
9851: P_API_VERSION => 1.0,
9852: P_INIT_MSG_LIST => FND_API.G_TRUE,
9853: P_COMMIT => FND_API.G_FALSE,
9854: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9855: P_DISB_LINE_REC => l_DISB_LINE_REC,
9856: X_RETURN_STATUS => l_return_status,
9849: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_LINE...');
9850: INSERT_DISB_LINE(
9851: P_API_VERSION => 1.0,
9852: P_INIT_MSG_LIST => FND_API.G_TRUE,
9853: P_COMMIT => FND_API.G_FALSE,
9854: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9855: P_DISB_LINE_REC => l_DISB_LINE_REC,
9856: X_RETURN_STATUS => l_return_status,
9857: X_MSG_COUNT => l_msg_count,
9850: INSERT_DISB_LINE(
9851: P_API_VERSION => 1.0,
9852: P_INIT_MSG_LIST => FND_API.G_TRUE,
9853: P_COMMIT => FND_API.G_FALSE,
9854: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9855: P_DISB_LINE_REC => l_DISB_LINE_REC,
9856: X_RETURN_STATUS => l_return_status,
9857: X_MSG_COUNT => l_msg_count,
9858: X_MSG_DATA => l_msg_data);
9859:
9860: LogMessage(FND_LOG.LEVEL_STATEMENT, 'l_return_status: ' || l_return_status);
9861: IF l_return_status <> 'S' THEN
9862: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Call to INSERT_DISB_LINE failed');
9863: RAISE FND_API.G_EXC_ERROR;
9864: END IF;
9865:
9866: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS...');
9867: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
9865:
9866: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS...');
9867: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
9868: P_API_VERSION => 1.0,
9869: P_INIT_MSG_LIST => FND_API.G_FALSE,
9870: P_COMMIT => FND_API.G_TRUE,
9871: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9872: P_LOAN_ID => p_loan_id,
9873: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
9866: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS...');
9867: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
9868: P_API_VERSION => 1.0,
9869: P_INIT_MSG_LIST => FND_API.G_FALSE,
9870: P_COMMIT => FND_API.G_TRUE,
9871: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9872: P_LOAN_ID => p_loan_id,
9873: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
9874: P_CONDITION_TYPE => 'DISBURSEMENT',
9867: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
9868: P_API_VERSION => 1.0,
9869: P_INIT_MSG_LIST => FND_API.G_FALSE,
9870: P_COMMIT => FND_API.G_TRUE,
9871: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
9872: P_LOAN_ID => p_loan_id,
9873: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
9874: P_CONDITION_TYPE => 'DISBURSEMENT',
9875: X_RETURN_STATUS => L_RETURN_STATUS,
9878:
9879: LogMessage(FND_LOG.LEVEL_STATEMENT, 'l_return_status: ' || l_return_status);
9880: IF l_return_status <> 'S' THEN
9881: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Call to LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS failed');
9882: RAISE FND_API.G_EXC_ERROR;
9883: END IF;
9884:
9885: -- END OF BODY OF API
9886: x_return_status := FND_API.G_RET_STS_SUCCESS;
9882: RAISE FND_API.G_EXC_ERROR;
9883: END IF;
9884:
9885: -- END OF BODY OF API
9886: x_return_status := FND_API.G_RET_STS_SUCCESS;
9887:
9888: -- Standard call to get message count and if count is 1, get message info
9889: FND_MSG_PUB.Count_And_Get(
9890: p_encoded => FND_API.G_FALSE,
9886: x_return_status := FND_API.G_RET_STS_SUCCESS;
9887:
9888: -- Standard call to get message count and if count is 1, get message info
9889: FND_MSG_PUB.Count_And_Get(
9890: p_encoded => FND_API.G_FALSE,
9891: p_count => x_msg_count,
9892: p_data => x_msg_data);
9893:
9894: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9893:
9894: LogMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME || '.' || l_api_name || ' -');
9895:
9896: EXCEPTION
9897: WHEN FND_API.G_EXC_ERROR THEN
9898: ROLLBACK TO CREATE_DISBURSEMENT;
9899: x_return_status := FND_API.G_RET_STS_ERROR;
9900: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9901: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9895:
9896: EXCEPTION
9897: WHEN FND_API.G_EXC_ERROR THEN
9898: ROLLBACK TO CREATE_DISBURSEMENT;
9899: x_return_status := FND_API.G_RET_STS_ERROR;
9900: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9901: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9902: ROLLBACK TO CREATE_DISBURSEMENT;
9903: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9897: WHEN FND_API.G_EXC_ERROR THEN
9898: ROLLBACK TO CREATE_DISBURSEMENT;
9899: x_return_status := FND_API.G_RET_STS_ERROR;
9900: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9901: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9902: ROLLBACK TO CREATE_DISBURSEMENT;
9903: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9904: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9905: WHEN OTHERS THEN
9899: x_return_status := FND_API.G_RET_STS_ERROR;
9900: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9901: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9902: ROLLBACK TO CREATE_DISBURSEMENT;
9903: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9904: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9905: WHEN OTHERS THEN
9906: ROLLBACK TO CREATE_DISBURSEMENT;
9907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9903: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9904: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
9905: WHEN OTHERS THEN
9906: ROLLBACK TO CREATE_DISBURSEMENT;
9907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9908: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
9909: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
9910: END IF;
9911: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);