84:
85: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - Begin do_create_term procedure');
86: -- if primary key value is passed, check for uniqueness.
87: IF l_term_id IS NOT NULL AND
88: l_term_id <> FND_API.G_MISS_NUM
89: THEN
90: BEGIN
91: SELECT 'Y'
92: INTO l_dummy
95:
96: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_DUPLICATE_COLUMN');
97: FND_MESSAGE.SET_TOKEN('COLUMN', 'term_id');
98: FND_MSG_PUB.ADD;
99: RAISE FND_API.G_EXC_ERROR;
100:
101: EXCEPTION
102: WHEN NO_DATA_FOUND THEN
103: NULL;
104: END;
105: END IF;
106:
107: -- begin raverma 01-24-2006 add validation for day count
108: validate_term (p_init_msg_list => FND_API.G_FALSE
109: ,p_loan_term_rec => p_loan_term_rec
110: ,x_return_status => x_return_status
111: ,x_msg_count => l_msg_count
112: ,x_msg_data => l_msg_data);
110: ,x_return_status => x_return_status
111: ,x_msg_count => l_msg_count
112: ,x_msg_data => l_msg_data);
113:
114: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
117: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
118: END IF;
111: ,x_msg_count => l_msg_count
112: ,x_msg_data => l_msg_data);
113:
114: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
117: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
118: END IF;
119:
112: ,x_msg_data => l_msg_data);
113:
114: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
117: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
118: END IF;
119:
120: --Set default values for billing
113:
114: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
115: RAISE FND_API.G_EXC_ERROR;
116: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
117: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
118: END IF;
119:
120: --Set default values for billing
121: IF (p_loan_term_rec.payment_application_order is null) THEN
276: THEN
277: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_RECORD_CHANGED');
278: FND_MESSAGE.SET_TOKEN('TABLE', 'lns_terms');
279: FND_MSG_PUB.ADD;
280: RAISE FND_API.G_EXC_ERROR;
281: END IF;
282:
283:
284: EXCEPTION WHEN NO_DATA_FOUND THEN
285: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_NO_RECORD');
286: FND_MESSAGE.SET_TOKEN('RECORD', 'loan_term_rec');
287: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(p_loan_term_rec.term_id), 'null'));
288: FND_MSG_PUB.ADD;
289: RAISE FND_API.G_EXC_ERROR;
290: END;
291:
292: -- begin raverma 01-24-2006 add validation for day count
293: validate_term (p_init_msg_list => FND_API.G_FALSE
289: RAISE FND_API.G_EXC_ERROR;
290: END;
291:
292: -- begin raverma 01-24-2006 add validation for day count
293: validate_term (p_init_msg_list => FND_API.G_FALSE
294: ,p_loan_term_rec => p_loan_term_rec
295: ,x_return_status => x_return_status
296: ,x_msg_count => l_msg_count
297: ,x_msg_data => l_msg_data);
295: ,x_return_status => x_return_status
296: ,x_msg_count => l_msg_count
297: ,x_msg_data => l_msg_data);
298:
299: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
302: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
303: END IF;
296: ,x_msg_count => l_msg_count
297: ,x_msg_data => l_msg_data);
298:
299: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
302: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
303: END IF;
304:
297: ,x_msg_data => l_msg_data);
298:
299: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
302: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
303: END IF;
304:
305: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In do_update_term procedure: Before call to LNS_TERMS_PKG.Update_Row');
298:
299: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
300: RAISE FND_API.G_EXC_ERROR;
301: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
302: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
303: END IF;
304:
305: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In do_update_term procedure: Before call to LNS_TERMS_PKG.Update_Row');
306:
398:
399: -- raverma (added fees table call)
400: lns_financials.getInstallment(
401: p_api_version => 1.0,
402: p_init_msg_list => FND_API.G_FALSE,
403: p_commit => FND_API.G_FALSE,
404: p_loan_Id => p_loan_id,
405: p_installment_number => 1,
406: x_amortization_rec => l_amortization_rec,
399: -- raverma (added fees table call)
400: lns_financials.getInstallment(
401: p_api_version => 1.0,
402: p_init_msg_list => FND_API.G_FALSE,
403: p_commit => FND_API.G_FALSE,
404: p_loan_Id => p_loan_id,
405: p_installment_number => 1,
406: x_amortization_rec => l_amortization_rec,
407: x_fees_tbl => l_fees_tbl,
408: X_RETURN_STATUS => x_return_status,
409: X_MSG_COUNT => l_msg_count,
410: X_MSG_DATA => l_msg_data);
411:
412: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
413: l_delinq_amt := nvl(l_amortization_rec.principal_amount, 0) + nvl(l_amortization_rec.interest_amount, 0) + nvl(l_amortization_rec.fee_amount, 0);
414:
415: l_loan_term_rec.delinquency_threshold_amount := l_delinq_amt;
416: l_loan_term_rec.loan_id := p_loan_id;
416: l_loan_term_rec.loan_id := p_loan_id;
417: l_loan_term_rec.term_id := p_term_id;
418:
419: LNS_TERMS_PUB.update_term(
420: p_init_msg_list => FND_API.G_FALSE,
421: p_loan_term_rec => l_loan_term_rec,
422: p_object_version_number => p_object_version_number,
423: X_RETURN_STATUS => x_return_status,
424: X_MSG_COUNT => l_msg_count,
484: -- standard start of API savepoint
485: SAVEPOINT create_term;
486:
487: -- initialize message list if p_init_msg_list is set to TRUE.
488: IF (p_init_msg_list is not null and FND_API.to_Boolean(p_init_msg_list)) THEN
489: FND_MSG_PUB.initialize;
490: END IF;
491:
492: -- initialize API return status to success.
489: FND_MSG_PUB.initialize;
490: END IF;
491:
492: -- initialize API return status to success.
493: x_return_status := FND_API.G_RET_STS_SUCCESS;
494:
495: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In Create_Term procedure: Before call to do_create_term proc');
496:
497: -- call to business logic.
503:
504: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In Create_Term procedure: After call to do_create_term proc');
505:
506: EXCEPTION
507: WHEN FND_API.G_EXC_ERROR THEN
508: ROLLBACK TO create_term;
509: x_return_status := FND_API.G_RET_STS_ERROR;
510: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
511: p_count => x_msg_count,
505:
506: EXCEPTION
507: WHEN FND_API.G_EXC_ERROR THEN
508: ROLLBACK TO create_term;
509: x_return_status := FND_API.G_RET_STS_ERROR;
510: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
511: p_count => x_msg_count,
512: p_data => x_msg_data);
513:
506: EXCEPTION
507: WHEN FND_API.G_EXC_ERROR THEN
508: ROLLBACK TO create_term;
509: x_return_status := FND_API.G_RET_STS_ERROR;
510: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
511: p_count => x_msg_count,
512: p_data => x_msg_data);
513:
514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
510: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
511: p_count => x_msg_count,
512: p_data => x_msg_data);
513:
514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
515: ROLLBACK TO create_term;
516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
517: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
518: p_count => x_msg_count,
512: p_data => x_msg_data);
513:
514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
515: ROLLBACK TO create_term;
516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
517: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
518: p_count => x_msg_count,
519: p_data => x_msg_data);
520:
513:
514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
515: ROLLBACK TO create_term;
516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
517: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
518: p_count => x_msg_count,
519: p_data => x_msg_data);
520:
521: WHEN OTHERS THEN
519: p_data => x_msg_data);
520:
521: WHEN OTHERS THEN
522: ROLLBACK TO create_term;
523: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
524: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
525: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
526: FND_MSG_PUB.ADD;
527: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
523: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
524: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
525: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
526: FND_MSG_PUB.ADD;
527: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
528: p_count => x_msg_count,
529: p_data => x_msg_data);
530:
531: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
585: -- standard start of API savepoint
586: SAVEPOINT update_term;
587:
588: -- initialize message list if p_init_msg_list is set to TRUE.
589: IF (p_init_msg_list is not null and FND_API.to_Boolean(p_init_msg_list)) THEN
590: FND_MSG_PUB.initialize;
591: END IF;
592:
593: -- initialize API return status to success.
590: FND_MSG_PUB.initialize;
591: END IF;
592:
593: -- initialize API return status to success.
594: x_return_status := FND_API.G_RET_STS_SUCCESS;
595:
596: -- Get old record. Will be used by history package.
597: get_loan_term_rec (
598: p_init_msg_list => FND_API.G_FALSE,
594: x_return_status := FND_API.G_RET_STS_SUCCESS;
595:
596: -- Get old record. Will be used by history package.
597: get_loan_term_rec (
598: p_init_msg_list => FND_API.G_FALSE,
599: p_term_id => l_loan_term_rec.term_id,
600: x_loan_term_rec => l_old_loan_term_rec,
601: x_return_status => x_return_status,
602: x_msg_count => x_msg_count,
601: x_return_status => x_return_status,
602: x_msg_count => x_msg_count,
603: x_msg_data => x_msg_data );
604:
605: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
606: RAISE FND_API.G_EXC_ERROR;
607: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
608: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
609: END IF;
602: x_msg_count => x_msg_count,
603: x_msg_data => x_msg_data );
604:
605: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
606: RAISE FND_API.G_EXC_ERROR;
607: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
608: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
609: END IF;
610:
603: x_msg_data => x_msg_data );
604:
605: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
606: RAISE FND_API.G_EXC_ERROR;
607: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
608: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
609: END IF;
610:
611: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In Update_Term procedure: Before call to do_update_term proc');
604:
605: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
606: RAISE FND_API.G_EXC_ERROR;
607: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
608: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
609: END IF;
610:
611: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In Update_Term procedure: Before call to do_update_term proc');
612:
619:
620: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In Update_Term procedure: After call to do_update_term proc');
621:
622: EXCEPTION
623: WHEN FND_API.G_EXC_ERROR THEN
624: ROLLBACK TO update_term;
625: x_return_status := FND_API.G_RET_STS_ERROR;
626: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
627: p_count => x_msg_count,
621:
622: EXCEPTION
623: WHEN FND_API.G_EXC_ERROR THEN
624: ROLLBACK TO update_term;
625: x_return_status := FND_API.G_RET_STS_ERROR;
626: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
627: p_count => x_msg_count,
628: p_data => x_msg_data);
629:
622: EXCEPTION
623: WHEN FND_API.G_EXC_ERROR THEN
624: ROLLBACK TO update_term;
625: x_return_status := FND_API.G_RET_STS_ERROR;
626: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
627: p_count => x_msg_count,
628: p_data => x_msg_data);
629:
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
626: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
627: p_count => x_msg_count,
628: p_data => x_msg_data);
629:
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
631: ROLLBACK TO update_term;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
634: p_count => x_msg_count,
628: p_data => x_msg_data);
629:
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
631: ROLLBACK TO update_term;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
634: p_count => x_msg_count,
635: p_data => x_msg_data);
636:
629:
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
631: ROLLBACK TO update_term;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
634: p_count => x_msg_count,
635: p_data => x_msg_data);
636:
637: WHEN OTHERS THEN
635: p_data => x_msg_data);
636:
637: WHEN OTHERS THEN
638: ROLLBACK TO update_term;
639: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
640: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
641: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
642: FND_MSG_PUB.ADD;
643: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
639: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
640: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_OTHERS_EXCEP');
641: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
642: FND_MSG_PUB.ADD;
643: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
644: p_count => x_msg_count,
645: p_data => x_msg_data);
646:
647: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
702:
703: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - Begin Validate_Term procedure');
704:
705: -- initialize API return status to success.
706: x_return_status := FND_API.G_RET_STS_SUCCESS;
707:
708: -- day count method must be ACTUAL/ACTUAL if less than MONTHLY AMORTIZATION
709: --open c_validate_day_count(l_loan_term_rec.loan_id);
710: --fetch c_validate_day_count into l_loan_term_rec.DAY_COUNT_METHOD, l_loan_term_rec.AMORTIZATION_FREQUENCY;
719: p_loan_term_rec.DAY_COUNT_METHOD <> 'ACTUAL_365L'))
720: then
721: FND_MESSAGE.SET_NAME('LNS', 'LNS_INVALID_DAY_COUNT');
722: FND_MSG_PUB.ADD;
723: RAISE FND_API.G_EXC_ERROR;
724: end if;
725:
726: --Standard call to get message count and if count is 1, get message info.
727: FND_MSG_PUB.Count_And_Get(
724: end if;
725:
726: --Standard call to get message count and if count is 1, get message info.
727: FND_MSG_PUB.Count_And_Get(
728: p_encoded => FND_API.G_FALSE,
729: p_count => x_msg_count,
730: p_data => x_msg_data );
731:
732: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - End Validate_Term procedure');
732: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - End Validate_Term procedure');
733:
734:
735: EXCEPTION
736: WHEN FND_API.G_EXC_ERROR THEN
737: x_return_status := FND_API.G_RET_STS_ERROR;
738:
739: FND_MSG_PUB.Count_And_Get(
740: p_encoded => FND_API.G_FALSE,
733:
734:
735: EXCEPTION
736: WHEN FND_API.G_EXC_ERROR THEN
737: x_return_status := FND_API.G_RET_STS_ERROR;
738:
739: FND_MSG_PUB.Count_And_Get(
740: p_encoded => FND_API.G_FALSE,
741: p_count => x_msg_count,
736: WHEN FND_API.G_EXC_ERROR THEN
737: x_return_status := FND_API.G_RET_STS_ERROR;
738:
739: FND_MSG_PUB.Count_And_Get(
740: p_encoded => FND_API.G_FALSE,
741: p_count => x_msg_count,
742: p_data => x_msg_data );
743:
744: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
740: p_encoded => FND_API.G_FALSE,
741: p_count => x_msg_count,
742: p_data => x_msg_data );
743:
744: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746:
747: FND_MSG_PUB.Count_And_Get(
748: p_encoded => FND_API.G_FALSE,
741: p_count => x_msg_count,
742: p_data => x_msg_data );
743:
744: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746:
747: FND_MSG_PUB.Count_And_Get(
748: p_encoded => FND_API.G_FALSE,
749: p_count => x_msg_count,
744: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746:
747: FND_MSG_PUB.Count_And_Get(
748: p_encoded => FND_API.G_FALSE,
749: p_count => x_msg_count,
750: p_data => x_msg_data );
751:
752: WHEN OTHERS THEN
749: p_count => x_msg_count,
750: p_data => x_msg_data );
751:
752: WHEN OTHERS THEN
753: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
754: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_OTHERS_EXCEP' );
755: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
756: FND_MSG_PUB.ADD;
757: FND_MSG_PUB.Count_And_Get(
754: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_OTHERS_EXCEP' );
755: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
756: FND_MSG_PUB.ADD;
757: FND_MSG_PUB.Count_And_Get(
758: p_encoded => FND_API.G_FALSE,
759: p_count => x_msg_count,
760: p_data => x_msg_data );
761:
762: END validate_term;
803:
804: BEGIN
805:
806: --Initialize message list if p_init_msg_list is set to TRUE.
807: IF (p_init_msg_list is not null AND FND_API.to_Boolean(p_init_msg_list)) THEN
808: FND_MSG_PUB.initialize;
809: END IF;
810:
811: --Initialize API return status to success.
808: FND_MSG_PUB.initialize;
809: END IF;
810:
811: --Initialize API return status to success.
812: x_return_status := FND_API.G_RET_STS_SUCCESS;
813:
814: --Check whether primary key has been passed in.
815: IF p_term_id IS NULL OR p_term_id = FND_API.G_MISS_NUM THEN
816: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
811: --Initialize API return status to success.
812: x_return_status := FND_API.G_RET_STS_SUCCESS;
813:
814: --Check whether primary key has been passed in.
815: IF p_term_id IS NULL OR p_term_id = FND_API.G_MISS_NUM THEN
816: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
817: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'term_id' );
818: FND_MSG_PUB.ADD;
819: RAISE FND_API.G_EXC_ERROR;
815: IF p_term_id IS NULL OR p_term_id = FND_API.G_MISS_NUM THEN
816: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_MISSING_COLUMN' );
817: FND_MESSAGE.SET_TOKEN( 'COLUMN', 'term_id' );
818: FND_MSG_PUB.ADD;
819: RAISE FND_API.G_EXC_ERROR;
820: END IF;
821:
822: x_loan_term_rec.term_id := p_term_id;
823:
883: );
884:
885: --Standard call to get message count and if count is 1, get message info.
886: FND_MSG_PUB.Count_And_Get(
887: p_encoded => FND_API.G_FALSE,
888: p_count => x_msg_count,
889: p_data => x_msg_data );
890:
891: EXCEPTION
888: p_count => x_msg_count,
889: p_data => x_msg_data );
890:
891: EXCEPTION
892: WHEN FND_API.G_EXC_ERROR THEN
893: x_return_status := FND_API.G_RET_STS_ERROR;
894:
895: FND_MSG_PUB.Count_And_Get(
896: p_encoded => FND_API.G_FALSE,
889: p_data => x_msg_data );
890:
891: EXCEPTION
892: WHEN FND_API.G_EXC_ERROR THEN
893: x_return_status := FND_API.G_RET_STS_ERROR;
894:
895: FND_MSG_PUB.Count_And_Get(
896: p_encoded => FND_API.G_FALSE,
897: p_count => x_msg_count,
892: WHEN FND_API.G_EXC_ERROR THEN
893: x_return_status := FND_API.G_RET_STS_ERROR;
894:
895: FND_MSG_PUB.Count_And_Get(
896: p_encoded => FND_API.G_FALSE,
897: p_count => x_msg_count,
898: p_data => x_msg_data );
899:
900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
896: p_encoded => FND_API.G_FALSE,
897: p_count => x_msg_count,
898: p_data => x_msg_data );
899:
900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
901: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
902:
903: FND_MSG_PUB.Count_And_Get(
904: p_encoded => FND_API.G_FALSE,
897: p_count => x_msg_count,
898: p_data => x_msg_data );
899:
900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
901: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
902:
903: FND_MSG_PUB.Count_And_Get(
904: p_encoded => FND_API.G_FALSE,
905: p_count => x_msg_count,
900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
901: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
902:
903: FND_MSG_PUB.Count_And_Get(
904: p_encoded => FND_API.G_FALSE,
905: p_count => x_msg_count,
906: p_data => x_msg_data );
907:
908: WHEN OTHERS THEN
905: p_count => x_msg_count,
906: p_data => x_msg_data );
907:
908: WHEN OTHERS THEN
909: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
910: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_OTHERS_EXCEP' );
911: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
912: FND_MSG_PUB.ADD;
913: FND_MSG_PUB.Count_And_Get(
910: FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_OTHERS_EXCEP' );
911: FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
912: FND_MSG_PUB.ADD;
913: FND_MSG_PUB.Count_And_Get(
914: p_encoded => FND_API.G_FALSE,
915: p_count => x_msg_count,
916: p_data => x_msg_data );
917:
918: END get_loan_term_rec;
1001:
1002: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1003:
1004: -- Initialize API return status to SUCCESS
1005: x_return_status := FND_API.G_RET_STS_SUCCESS;
1006:
1007:
1008: open c_interest_only_exists(p_loan_id);
1009: fetch c_interest_only_exists into l_interest_only_rows;
1020: --dbms_output.put_line('reamortize ' || l_reamortize_overpay);
1021: if l_reamortize_overpay = 'Y' then
1022: FND_MESSAGE.SET_NAME('LNS', 'LNS_NO_REAMORTIZE');
1023: FND_MSG_PUB.Add;
1024: RAISE FND_API.G_EXC_ERROR;
1025: end if;
1026:
1027: /* removing this validation as per conversation with ravi on 11-3-2004
1028: || he wants users to be able to enter in funky interest only combinations
1040: if l_rate_schedule(k).interest_only_flag = 'Y' and l_interest_only = 'N' then
1041: dbms_output.put_line('output non continuous');
1042: FND_MESSAGE.SET_NAME('LNS', 'LNS_INTEREST_ONLY_BREAK');
1043: FND_MSG_PUB.Add;
1044: RAISE FND_API.G_EXC_ERROR;
1045: end if;
1046: l_interest_only := l_rate_schedule(k).interest_only_flag;
1047:
1048: end loop;
1056:
1057:
1058: EXCEPTION
1059:
1060: WHEN FND_API.G_EXC_ERROR THEN
1061: x_return_status := FND_API.G_RET_STS_ERROR;
1062: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
1063: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1064: END IF;
1057:
1058: EXCEPTION
1059:
1060: WHEN FND_API.G_EXC_ERROR THEN
1061: x_return_status := FND_API.G_RET_STS_ERROR;
1062: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
1063: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1064: END IF;
1065:
1062: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
1063: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1064: END IF;
1065:
1066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1067: x_return_status := FND_API.G_RET_STS_ERROR;
1068: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
1069: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1070: END IF;
1063: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1064: END IF;
1065:
1066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1067: x_return_status := FND_API.G_RET_STS_ERROR;
1068: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
1069: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1070: END IF;
1071:
1069: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1070: END IF;
1071:
1072: WHEN OTHERS THEN
1073: x_return_status := FND_API.G_RET_STS_ERROR;
1074: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
1075: FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1076: END IF;
1077: