[Home] [Help]
1: PACKAGE BODY LNS_TERMS_PUB AS
2: /*$Header: LNS_TERMS_PUBP_B.pls 120.24.12020000.2 2012/07/19 21:00:07 scherkas ship $ */
3:
4: --------------------------------------------
5: -- declaration of global variables and types
1: PACKAGE BODY LNS_TERMS_PUB AS
2: /*$Header: LNS_TERMS_PUBP_B.pls 120.24.12020000.2 2012/07/19 21:00:07 scherkas ship $ */
3:
4: --------------------------------------------
5: -- declaration of global variables and types
6: --------------------------------------------
4: --------------------------------------------
5: -- declaration of global variables and types
6: --------------------------------------------
7:
8: G_PKG_NAME CONSTANT VARCHAR2(30) := 'LNS_TERMS_PUB';
9:
10: --------------------------------------------------
11: -- declaration of private procedures and functions
12: --------------------------------------------------
89: THEN
90: BEGIN
91: SELECT 'Y'
92: INTO l_dummy
93: FROM LNS_TERMS
94: WHERE term_id = l_term_id;
95:
96: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_DUPLICATE_COLUMN');
97: FND_MESSAGE.SET_TOKEN('COLUMN', 'term_id');
142: IF (p_loan_term_rec.next_payment_due_date is null) THEN
143: p_loan_term_rec.next_payment_due_date := p_loan_term_rec.first_payment_date;
144: END IF;
145:
146: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In do_create_term procedure: Before call to LNS_TERMS_PKG.Insert_Row');
147:
148: -- call table-handler.
149: LNS_TERMS_PKG.Insert_Row (X_TERM_ID => p_loan_term_rec.term_id
150: ,X_LOAN_ID => p_loan_term_rec.loan_id
145:
146: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In do_create_term procedure: Before call to LNS_TERMS_PKG.Insert_Row');
147:
148: -- call table-handler.
149: LNS_TERMS_PKG.Insert_Row (X_TERM_ID => p_loan_term_rec.term_id
150: ,X_LOAN_ID => p_loan_term_rec.loan_id
151: ,X_OBJECT_VERSION_NUMBER => 1
152: ,X_DAY_COUNT_METHOD => p_loan_term_rec.day_count_method
153: ,X_BASED_ON_BALANCE => p_loan_term_rec.based_on_balance
215: );
216:
217: x_term_id := p_loan_term_rec.term_id;
218:
219: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In do_create_term procedure: After call to LNS_TERMS.Insert_Row');
220:
221: END do_create_term;
222:
223:
267: SELECT OBJECT_VERSION_NUMBER,
268: ROWID
269: INTO l_object_version_number,
270: l_rowid
271: FROM LNS_TERMS
272: WHERE TERM_ID = p_loan_term_rec.term_id
273: FOR UPDATE OF TERM_ID NOWAIT;
274:
275: IF NOT
282: )
283: )
284: THEN
285: FND_MESSAGE.SET_NAME('LNS', 'LNS_API_RECORD_CHANGED');
286: FND_MESSAGE.SET_TOKEN('TABLE', 'lns_terms');
287: FND_MSG_PUB.ADD;
288: RAISE FND_API.G_EXC_ERROR;
289: END IF;
290:
309: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311: END IF;
312:
313: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In do_update_term procedure: Before call to LNS_TERMS_PKG.Update_Row');
314:
315: p_object_version_number := nvl(l_object_version_number, 1) + 1;
316:
317: --Call to table-handler
314:
315: p_object_version_number := nvl(l_object_version_number, 1) + 1;
316:
317: --Call to table-handler
318: LNS_TERMS_PKG.Update_Row (
319: X_Rowid => l_rowid,
320: X_TERM_ID => p_loan_term_rec.term_id,
321: X_LOAN_ID => p_loan_term_rec.loan_id,
322: X_OBJECT_VERSION_NUMBER => p_object_version_number,
384: X_CALC_EARLY_PAY_CR => p_loan_term_rec.CALC_EARLY_PAY_CR,
385: X_FLUCTUATE_EQ_PAY_AMOUNT => p_loan_term_rec.FLUCTUATE_EQ_PAY_AMOUNT
386: );
387:
388: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - In do_update_term procedure: After call to LNS_TERMS_PKG.Update_Row');
389:
390: END do_update_term;
391:
392: PROCEDURE default_delinquency_amount(
452: x_msg_data => l_msg_data);
453:
454: select OBJECT_VERSION_NUMBER
455: into l_object_version_number
456: from LNS_TERMS
457: where term_id = p_term_id;
458:
459: LNS_TERMS_PUB.update_term(
460: p_init_msg_list => FND_API.G_FALSE,
455: into l_object_version_number
456: from LNS_TERMS
457: where term_id = p_term_id;
458:
459: LNS_TERMS_PUB.update_term(
460: p_init_msg_list => FND_API.G_FALSE,
461: p_loan_term_rec => l_loan_term_rec,
462: p_object_version_number => l_object_version_number,
463: X_RETURN_STATUS => x_return_status,
580: l_loan_term_rec.term_id := p_term_id;
581:
582: select OBJECT_VERSION_NUMBER
583: into l_object_version_number
584: from LNS_TERMS
585: where term_id = p_term_id;
586:
587: LNS_TERMS_PUB.update_term(
588: p_init_msg_list => FND_API.G_FALSE,
583: into l_object_version_number
584: from LNS_TERMS
585: where term_id = p_term_id;
586:
587: LNS_TERMS_PUB.update_term(
588: p_init_msg_list => FND_API.G_FALSE,
589: p_loan_term_rec => l_loan_term_rec,
590: p_object_version_number => l_object_version_number,
591: X_RETURN_STATUS => x_return_status,
889: /*
890: cursor c_validate_day_count(p_loan_id in number) is
891: select day_count_method
892: ,amortization_frequency
893: from lns_terms
894: where loan_id = p_loan_id;
895: */
896: BEGIN
897: l_loan_term_rec := p_loan_term_rec;
1021:
1022: x_loan_term_rec.term_id := p_term_id;
1023:
1024: --Call to table-handler
1025: LNS_TERMS_PKG.Select_Row (
1026: X_TERM_ID => x_loan_term_rec.term_id,
1027: X_LOAN_ID => x_loan_term_rec.loan_id,
1028: X_DAY_COUNT_METHOD => x_loan_term_rec.day_count_method,
1029: X_BASED_ON_BALANCE => x_loan_term_rec.based_on_balance,
1179:
1180: cursor c_interest_only_exists (p_loan_id number) is
1181: select count(1)
1182: from lns_rate_schedules rs,
1183: lns_terms term
1184: where term.loan_id = p_loan_id
1185: and term.term_id = rs.term_id
1186: and rs.interest_only_flag = 'Y'
1187: and rs.phase <> 'OPEN';
1188:
1189: cursor c_max_int_installment(p_loan_id number) is
1190: select max(end_installment_number)
1191: from lns_rate_schedules rs,
1192: lns_terms term
1193: where term.loan_id = p_loan_id
1194: and term.term_id = rs.term_id
1195: and rs.interest_only_flag = 'Y'
1196: and rs.phase <> 'OPEN';
1196: and rs.phase <> 'OPEN';
1197:
1198: cursor c_reamortization(p_loan_id number) is
1199: select nvl(reamortize_over_payment, 'N')
1200: from lns_terms
1201: where loan_id = p_loan_id;
1202:
1203: cursor c_first_payment_date(p_loan_id number) is
1204: select first_payment_date
1201: where loan_id = p_loan_id;
1202:
1203: cursor c_first_payment_date(p_loan_id number) is
1204: select first_payment_date
1205: from lns_terms
1206: where loan_id = p_loan_id;
1207:
1208: begin
1209: l_api_name := 'validate_rate_schedule';
1286:
1287: end validate_rate_schedule;
1288:
1289:
1290: END LNS_TERMS_PUB;