DBA Data[Home] [Help]

APPS.LNS_FINANCIALS dependencies on FND_LOG

Line 25: IF log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN

21: is
22:
23: begin
24:
25: IF log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
26: FND_LOG.STRING(log_level, module, message);
27: END IF;
28:
29: end;

Line 26: FND_LOG.STRING(log_level, module, message);

22:
23: begin
24:
25: IF log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
26: FND_LOG.STRING(log_level, module, message);
27: END IF;
28:
29: end;
30:

Line 83: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

79: i := 0;
80: l_api_name := 'printAmortizationTable';
81:
82: i := p_amort_tbl.count;
83: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
84: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization table count: ' || i);
85: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Period Due Date TOTAL DUE Interest Principal Fees Other ' ||
86: ' Cum.Interest Cum.Principal Cum.Fees Cum.Other Begin Balance End Balanace ');
87: /*

Line 84: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization table count: ' || i);

80: l_api_name := 'printAmortizationTable';
81:
82: i := p_amort_tbl.count;
83: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
84: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization table count: ' || i);
85: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Period Due Date TOTAL DUE Interest Principal Fees Other ' ||
86: ' Cum.Interest Cum.Principal Cum.Fees Cum.Other Begin Balance End Balanace ');
87: /*
88: for k in 1..i

Line 85: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Period Due Date TOTAL DUE Interest Principal Fees Other ' ||

81:
82: i := p_amort_tbl.count;
83: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
84: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization table count: ' || i);
85: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Period Due Date TOTAL DUE Interest Principal Fees Other ' ||
86: ' Cum.Interest Cum.Principal Cum.Fees Cum.Other Begin Balance End Balanace ');
87: /*
88: for k in 1..i
89: loop

Line 105: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ' || l_installment_number ||

101: -- l_rate_id := nvl(to_char(p_amort_tbl(k).rate_id), ' ');
102: l_begin_balance := nvl(to_char(p_amort_tbl(k).begin_balance), ' ');
103: l_end_balance := nvl(to_char(p_amort_tbl(k).end_balance), ' ');
104:
105: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ' || l_installment_number ||
106: ' ' || l_due_date ||
107: ' ' || l_total ||
108: ' ' || l_interest_amount ||
109: ' ' || l_principal_amount ||

Line 133: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - sorting the rows');

129: l_min date; -- minimum date
130:
131: begin
132:
133: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, ' - sorting the rows');
134: for i in 1..p_loan_activity_tbl.count loop
135: l_min := p_loan_activity_tbl(i).activity_date;
136:
137: for j in i + 1..p_loan_activity_tbl.count loop

Line 211: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

207: l_end_inst_num number;
208: BEGIN
209:
210: l_api_name := 'floatingRatePostProcessing';
211: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
212: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);

Line 212: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);

208: BEGIN
209:
210: l_api_name := 'floatingRatePostProcessing';
211: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
212: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);

Line 213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);

209:
210: l_api_name := 'floatingRatePostProcessing';
211: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
212: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);
217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);

Line 214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);

210: l_api_name := 'floatingRatePostProcessing';
211: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
212: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);
217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);
218: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_id ' || p_rate_id);

Line 215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);

211: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
212: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);
217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);
218: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_id ' || p_rate_id);
219: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);

Line 216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);

212: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);
217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);
218: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_id ' || p_rate_id);
219: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
220:

Line 217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);

213: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);
217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);
218: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_id ' || p_rate_id);
219: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
220:
221: -- Standard Start of API savepoint

Line 218: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_id ' || p_rate_id);

214: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number ' || p_installment_number);
215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);
217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);
218: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_id ' || p_rate_id);
219: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
220:
221: -- Standard Start of API savepoint
222: SAVEPOINT floatingPostProcessor;

Line 219: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);

215: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_period_begin_date ' || p_period_begin_date);
216: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_interest_adjustment_freq ' || p_interest_adjustment_freq);
217: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_annualized_interest_rate ' || p_annualized_interest_rate);
218: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_id ' || p_rate_id);
219: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
220:
221: -- Standard Start of API savepoint
222: SAVEPOINT floatingPostProcessor;
223:

Line 238: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting next rate change info');

234: -- ----------------------------------------------------------------
235:
236: if p_installment_number <> lns_fin_utils.getNumberInstallments(p_loan_id => p_loan_id
237: ,p_phase => p_phase) then
238: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting next rate change info');
239: l_next_rate_change := lns_fin_utils.getNextDate(p_date => p_period_begin_date
240: ,p_interval_type => p_interest_adjustment_freq
241: ,p_direction => 1);
242: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating terms with new date ' || l_next_rate_change);

Line 242: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating terms with new date ' || l_next_rate_change);

238: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting next rate change info');
239: l_next_rate_change := lns_fin_utils.getNextDate(p_date => p_period_begin_date
240: ,p_interval_type => p_interest_adjustment_freq
241: ,p_direction => 1);
242: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating terms with new date ' || l_next_rate_change);
243: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating terms with new rate' || p_annualized_interest_rate);
244: if p_phase = 'OPEN' then
245: update lns_terms
246: set next_rate_change_date = l_next_rate_change

Line 243: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating terms with new rate' || p_annualized_interest_rate);

239: l_next_rate_change := lns_fin_utils.getNextDate(p_date => p_period_begin_date
240: ,p_interval_type => p_interest_adjustment_freq
241: ,p_direction => 1);
242: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating terms with new date ' || l_next_rate_change);
243: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating terms with new rate' || p_annualized_interest_rate);
244: if p_phase = 'OPEN' then
245: update lns_terms
246: set next_rate_change_date = l_next_rate_change
247: ,open_projected_rate = p_annualized_interest_rate

Line 260: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating the rate schedule ' || p_rate_id);

256: ,last_updated_by = lns_utility_pub.user_id
257: where loan_id = p_loan_id;
258: end if;
259:
260: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating the rate schedule ' || p_rate_id);
261: -- store the row on lns_rate_schedules(only if the existing row does not have begin and end installment numbers same as this installment) and update existing rate_schedule row
262: open c_get_rate_sch_info(p_rate_id);
263: fetch c_get_rate_sch_info into l_begin_inst_num,l_end_inst_num;
264: close c_get_rate_sch_info;

Line 267: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' (l_begin_inst_num = l_end_inst_num = p_installment_number) - NO need to insert new row - updating the existing rate schedule ' || p_rate_id);

263: fetch c_get_rate_sch_info into l_begin_inst_num,l_end_inst_num;
264: close c_get_rate_sch_info;
265:
266: if (l_begin_inst_num = l_end_inst_num and l_begin_inst_num = p_installment_number) then
267: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' (l_begin_inst_num = l_end_inst_num = p_installment_number) - NO need to insert new row - updating the existing rate schedule ' || p_rate_id);
268:
269: -- update existing rate_schedule row
270: update lns_rate_schedules
271: set current_interest_rate = p_annualized_interest_rate

Line 276: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' update the existing row as the next row and insert new row for the current rate sch');

272: ,index_rate = p_annualized_interest_rate - nvl(spread,0)
273: where rate_id = p_rate_id;
274:
275: else --else for if (l_begin_inst_num = l_end_inst_num = p_installment_number) then
276: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' update the existing row as the next row and insert new row for the current rate sch');
277: update lns_rate_schedules
278: set begin_installment_number = begin_installment_number + 1
279: ,current_interest_rate = spread
280: ,index_rate = null

Line 286: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - adding new row into rate schedule');

282:
283: select LNS_RATE_SCHEDULES_S.NEXTVAL into l_new_rate_id
284: from dual;
285:
286: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - adding new row into rate schedule');
287: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_rate_id ' || l_new_rate_id );
288: insert into lns_rate_schedules(RATE_ID
289: ,TERM_ID
290: ,INDEX_RATE

Line 287: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_rate_id ' || l_new_rate_id );

283: select LNS_RATE_SCHEDULES_S.NEXTVAL into l_new_rate_id
284: from dual;
285:
286: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - adding new row into rate schedule');
287: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_rate_id ' || l_new_rate_id );
288: insert into lns_rate_schedules(RATE_ID
289: ,TERM_ID
290: ,INDEX_RATE
291: ,SPREAD

Line 337: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating the rate schedule LAST ROW ' || p_rate_id);

333: end if; --end else part for if (l_begin_inst_num = l_end_inst_num = p_installment_number) then
334:
335: else --else for if p_installment_number <> lns_fin_utils.getNumberInstallments(p_loan_id => p_loan_id
336:
337: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - updating the rate schedule LAST ROW ' || p_rate_id);
338: -- update existing rate_schedule row
339: update lns_rate_schedules
340: set current_interest_rate = p_annualized_interest_rate
341: ,index_rate = p_annualized_interest_rate - nvl(spread,0)

Line 351: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

347: --
348: -- End of API body
349: --
350: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
351: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
352:
353: EXCEPTION
354: WHEN FND_API.G_EXC_ERROR THEN
355: ROLLBACK TO floatingPostProcessor;

Line 360: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

356: x_return_status := FND_API.G_RET_STS_ERROR;
357: x_msg_count := l_msg_count;
358: x_msg_data := l_msg_data;
359: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
360: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
361:
362: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
363: ROLLBACK TO floatingPostProcessor;
364: x_return_status := FND_API.G_RET_STS_ERROR;

Line 368: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

364: x_return_status := FND_API.G_RET_STS_ERROR;
365: x_msg_count := l_msg_count;
366: x_msg_data := l_msg_data;
367: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
368: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
369:
370: WHEN OTHERS THEN
371: ROLLBACK TO floatingPostProcessor;
372: x_return_status := FND_API.G_RET_STS_ERROR;

Line 376: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

372: x_return_status := FND_API.G_RET_STS_ERROR;
373: x_msg_count := l_msg_count;
374: x_msg_data := l_msg_data;
375: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
376: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
377:
378: end floatingRatePostProcessing;
379:
380: --------------------------------------------

Line 434: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

430: BEGIN
431:
432: l_api_name := 'validateLoan';
433: l_api_version_number := 1;
434: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
435:
436: -- Standard Start of API savepoint
437: SAVEPOINT validateLoan;
438:

Line 496: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

492: --
493:
494: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
495:
496: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
497:
498: EXCEPTION
499: WHEN FND_API.G_EXC_ERROR THEN
500: x_return_status := FND_API.G_RET_STS_ERROR;

Line 501: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

497:
498: EXCEPTION
499: WHEN FND_API.G_EXC_ERROR THEN
500: x_return_status := FND_API.G_RET_STS_ERROR;
501: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
502:
503: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

Line 505: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

501: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
502:
503: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
506:
507: WHEN OTHERS THEN
508: x_return_status := FND_API.G_RET_STS_ERROR;
509: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

Line 509: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

505: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
506:
507: WHEN OTHERS THEN
508: x_return_status := FND_API.G_RET_STS_ERROR;
509: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
510:
511: END validateLoan;
512:
513: ---------------------------------------------------------------------------

Line 654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

650: i := 0;
651: l_manual_fee_amount := 0;
652:
653:
654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
655: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_ID ' || p_loan_ID);
656: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_based_on_terms ' || p_based_on_terms);
657:
658: -- Standard call to check for call compatibility.

Line 655: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_ID ' || p_loan_ID);

651: l_manual_fee_amount := 0;
652:
653:
654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
655: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_ID ' || p_loan_ID);
656: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_based_on_terms ' || p_based_on_terms);
657:
658: -- Standard call to check for call compatibility.
659: IF NOT FND_API.Compatible_API_Call (l_api_version_number, p_api_version,

Line 656: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_based_on_terms ' || p_based_on_terms);

652:
653:
654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
655: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_ID ' || p_loan_ID);
656: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_based_on_terms ' || p_based_on_terms);
657:
658: -- Standard call to check for call compatibility.
659: IF NOT FND_API.Compatible_API_Call (l_api_version_number, p_api_version,
660: l_api_name, G_PKG_NAME)

Line 694: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting customization status');

690: FND_MSG_PUB.ADD;
691: RAISE FND_API.G_EXC_ERROR;
692: end if;
693: /*
694: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting customization status');
695:
696: open c_customized(p_loan_id);
697: fetch c_customized into l_customized;
698: close c_customized;

Line 718: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - preProcess the loan');

714:
715: if p_based_on_terms = 'CURRENT' then
716:
717: -- call preProcessInstallment only for current amortization
718: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - preProcess the loan');
719: preProcessInstallment(p_api_version => 1.0
720: ,p_init_msg_list => p_init_msg_list
721: ,p_commit => FND_API.G_FALSE --p_commit
722: ,p_loan_ID => p_loan_id

Line 741: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan is customized');

737:
738: -- call LNS_CUSTOM_PUB.loadCustomSchedule for customized loan
739:
740: -- we will overlay fee structures on top of schedule
741: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan is customized');
742:
743: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
744: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => p_loan_id
745: ,p_fee_category => 'EVENT'

Line 743: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');

739:
740: -- we will overlay fee structures on top of schedule
741: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan is customized');
742:
743: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
744: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => p_loan_id
745: ,p_fee_category => 'EVENT'
746: ,p_fee_type => 'EVENT_ORIGINATION'
747: ,p_installment => null

Line 749: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);

745: ,p_fee_category => 'EVENT'
746: ,p_fee_type => 'EVENT_ORIGINATION'
747: ,p_installment => null
748: ,p_fee_id => null);
749: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
750:
751: -- calculate the origination fees for the 0 installment if appropriate
752: if l_orig_fee_structures.count > 0 then
753: open c_fees(p_loan_id, 0);

Line 786: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');

782: end if;
783:
784: end if;
785:
786: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');
787: l_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => p_loan_id
788: ,p_fee_category => 'RECUR'
789: ,p_fee_type => null
790: ,p_installment => null

Line 792: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);

788: ,p_fee_category => 'RECUR'
789: ,p_fee_type => null
790: ,p_installment => null
791: ,p_fee_id => null);
792: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
793:
794: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
795: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => p_loan_id
796: ,p_fee_category => 'MEMO'

Line 794: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');

790: ,p_installment => null
791: ,p_fee_id => null);
792: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
793:
794: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
795: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => p_loan_id
796: ,p_fee_category => 'MEMO'
797: ,p_fee_type => null
798: ,p_installment => null

Line 800: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);

796: ,p_fee_category => 'MEMO'
797: ,p_fee_type => null
798: ,p_installment => null
799: ,p_fee_id => null);
800: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);
801:
802: -- load custom schedule
803: LNS_CUSTOM_PUB.loadCustomSchedule(
804: P_API_VERSION => 1.0,

Line 858: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);

854: ,x_fees_tbl => l_orig_fees_tbl
855: ,x_return_status => l_return_status
856: ,x_msg_count => l_msg_count
857: ,x_msg_data => l_msg_data);
858: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);
859:
860: end if;
861: end if;
862:

Line 873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);

869: ,x_fees_tbl => l_memo_fees_tbl
870: ,x_return_status => l_return_status
871: ,x_msg_count => l_msg_count
872: ,x_msg_data => l_msg_data);
873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);
874:
875: end if;
876:
877: -- calculate the recurring fees

Line 887: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);

883: ,x_fees_tbl => l_fees_tbl
884: ,x_return_status => l_return_status
885: ,x_msg_count => l_msg_count
886: ,x_msg_data => l_msg_data);
887: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);
888:
889: end if;
890:
891: for m in 1..l_orig_fees_tbl.count loop

Line 893: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);

889: end if;
890:
891: for m in 1..l_orig_fees_tbl.count loop
892: l_fee_amount := l_fee_amount + l_orig_fees_tbl(m).FEE_AMOUNT;
893: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);
894: end loop;
895:
896: for k in 1..l_fees_tbl.count loop
897: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;

Line 898: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);

894: end loop;
895:
896: for k in 1..l_fees_tbl.count loop
897: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;
898: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);
899: end loop;
900:
901: for j in 1..l_memo_fees_tbl.count loop
902: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;

Line 903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);

899: end loop;
900:
901: for j in 1..l_memo_fees_tbl.count loop
902: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;
903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);
904: end loop;
905:
906: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': total calculated fees ' || l_fee_amount);
907: l_amort_tbl(i).fee_amount := l_fee_amount;

Line 906: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': total calculated fees ' || l_fee_amount);

902: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;
903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);
904: end loop;
905:
906: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': total calculated fees ' || l_fee_amount);
907: l_amort_tbl(i).fee_amount := l_fee_amount;
908: l_amort_tbl(i).other_amount := l_other_amount;
909: l_amort_tbl(i).total := l_amort_tbl(i).principal_amount + l_amort_tbl(i).interest_amount + l_amort_tbl(i).fee_amount + l_amort_tbl(i).other_amount;
910: l_orig_fees_tbl.delete;

Line 922: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - amortization returns # records '|| l_num_records);

918: -- delete predicted records based on ORIGINAL amortization
919: if p_based_on_terms = 'CURRENT' then
920:
921: l_num_records := l_amort_tbl.count;
922: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - amortization returns # records '|| l_num_records);
923: l_last_installment_billed := LNS_BILLING_UTIL_PUB.LAST_PAYMENT_NUMBER_EXT(p_loan_id);
924: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - last installment billed '|| l_last_installment_billed);
925:
926: -- copy the records not billed to a temp collection

Line 924: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - last installment billed '|| l_last_installment_billed);

920:
921: l_num_records := l_amort_tbl.count;
922: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - amortization returns # records '|| l_num_records);
923: l_last_installment_billed := LNS_BILLING_UTIL_PUB.LAST_PAYMENT_NUMBER_EXT(p_loan_id);
924: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - last installment billed '|| l_last_installment_billed);
925:
926: -- copy the records not billed to a temp collection
927: m := 0;
928: for i in 1..l_num_records

Line 931: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - copying record ' || i);

927: m := 0;
928: for i in 1..l_num_records
929: loop
930: if l_amort_tbl(i).installment_number > l_last_installment_billed then
931: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - copying record ' || i);
932: m := m + 1;
933: l_amort_tbl2(m) := l_amort_tbl(i);
934: end if;
935: end loop;

Line 942: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - re-copying record ' || i);

938: l_amort_tbl.delete;
939: m := 0;
940: for i in 1..l_amort_tbl2.count
941: loop
942: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - re-copying record ' || i);
943: m := m + 1;
944: l_amort_tbl(m) := l_amort_tbl2(i);
945: end loop;
946:

Line 955: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - late + manual fee amount is '|| l_manual_fee_amount);

951: if l_amort_tbl.count > 0 then
952:
953: -- finally get the manual fees for the 1st record and add them to the total "other Amount"
954: -- there has got to be a better way to do this
955: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - late + manual fee amount is '|| l_manual_fee_amount);
956: begin
957: open c_manual_fees(p_loan_id, l_last_installment_billed + 1);
958: fetch c_manual_fees into l_manual_fee_amount;
959: close c_manual_fees;

Line 965: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - manual fee amount is '|| l_manual_fee_amount);

961:
962: if l_manual_fee_amount is null then
963: l_manual_fee_amount := 0;
964: end if;
965: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - manual fee amount is '|| l_manual_fee_amount);
966:
967: if l_amort_tbl.count > 0 then
968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': adding fees...');
969: l_amort_tbl(1).fee_amount := l_amort_tbl(1).fee_amount + l_manual_fee_amount;

Line 968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': adding fees...');

964: end if;
965: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - manual fee amount is '|| l_manual_fee_amount);
966:
967: if l_amort_tbl.count > 0 then
968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': adding fees...');
969: l_amort_tbl(1).fee_amount := l_amort_tbl(1).fee_amount + l_manual_fee_amount;
970: l_amort_tbl(1).total := l_amort_tbl(1).total + l_manual_fee_amount;
971: end if;
972:

Line 986: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

982: COMMIT WORK;
983: END IF;
984:
985: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
986: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
987:
988: EXCEPTION
989: WHEN FND_API.G_EXC_ERROR THEN
990: ROLLBACK TO runAmortization_PVT;

Line 995: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

991: x_return_status := FND_API.G_RET_STS_ERROR;
992: x_msg_count := l_msg_count;
993: x_msg_data := l_msg_data;
994: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
995: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
996:
997: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
998: ROLLBACK TO runAmortization_PVT;
999: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1003: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

999: x_return_status := FND_API.G_RET_STS_ERROR;
1000: x_msg_count := l_msg_count;
1001: x_msg_data := l_msg_data;
1002: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1003: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1004:
1005: WHEN OTHERS THEN
1006: ROLLBACK TO runAmortization_PVT;
1007: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1011: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1007: x_return_status := FND_API.G_RET_STS_ERROR;
1008: x_msg_count := l_msg_count;
1009: x_msg_data := l_msg_data;
1010: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1011: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1012:
1013: END runAmortization;
1014:
1015: /*=========================================================================

Line 1062: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

1058:
1059: begin
1060:
1061: l_api_name := 'termlyPayment';
1062: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1063:
1064: l_periodic_rate := p_annual_rate / 100;
1065:
1066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);

Line 1066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);

1062: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1063:
1064: l_periodic_rate := p_annual_rate / 100;
1065:
1066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);
1067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': termly amount: ' || p_termly_amount);
1068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || p_payments_per_year);
1069: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan amount : ' || p_loan_amount);
1070:

Line 1067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': termly amount: ' || p_termly_amount);

1063:
1064: l_periodic_rate := p_annual_rate / 100;
1065:
1066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);
1067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': termly amount: ' || p_termly_amount);
1068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || p_payments_per_year);
1069: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan amount : ' || p_loan_amount);
1070:
1071: if l_periodic_rate <> 0 then

Line 1068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || p_payments_per_year);

1064: l_periodic_rate := p_annual_rate / 100;
1065:
1066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);
1067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': termly amount: ' || p_termly_amount);
1068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || p_payments_per_year);
1069: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan amount : ' || p_loan_amount);
1070:
1071: if l_periodic_rate <> 0 then
1072: -- we cannot have LN < 0

Line 1069: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan amount : ' || p_loan_amount);

1065:
1066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);
1067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': termly amount: ' || p_termly_amount);
1068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || p_payments_per_year);
1069: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan amount : ' || p_loan_amount);
1070:
1071: if l_periodic_rate <> 0 then
1072: -- we cannot have LN < 0
1073: -- this will be a loan that will never be paid off

Line 1080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate * p_loan_amount :' || l_periodic_rate * p_loan_amount);

1076: FND_MSG_PUB.Add;
1077: RAISE FND_API.G_EXC_ERROR;
1078: end if;
1079:
1080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate * p_loan_amount :' || l_periodic_rate * p_loan_amount);
1081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_payments_per_year * p_termly_amount : ' || p_payments_per_year * p_termly_amount);
1082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1-a/b) : ' || LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))));
1083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate / p_payments_per_year : ' || l_periodic_rate / p_payments_per_year);
1084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1+d) : ' || LN(1 + (l_periodic_rate / p_payments_per_year)));

Line 1081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_payments_per_year * p_termly_amount : ' || p_payments_per_year * p_termly_amount);

1077: RAISE FND_API.G_EXC_ERROR;
1078: end if;
1079:
1080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate * p_loan_amount :' || l_periodic_rate * p_loan_amount);
1081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_payments_per_year * p_termly_amount : ' || p_payments_per_year * p_termly_amount);
1082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1-a/b) : ' || LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))));
1083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate / p_payments_per_year : ' || l_periodic_rate / p_payments_per_year);
1084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1+d) : ' || LN(1 + (l_periodic_rate / p_payments_per_year)));
1085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': - p_payments_per_year : ' || (- p_payments_per_year));

Line 1082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1-a/b) : ' || LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))));

1078: end if;
1079:
1080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate * p_loan_amount :' || l_periodic_rate * p_loan_amount);
1081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_payments_per_year * p_termly_amount : ' || p_payments_per_year * p_termly_amount);
1082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1-a/b) : ' || LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))));
1083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate / p_payments_per_year : ' || l_periodic_rate / p_payments_per_year);
1084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1+d) : ' || LN(1 + (l_periodic_rate / p_payments_per_year)));
1085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': - p_payments_per_year : ' || (- p_payments_per_year));
1086:

Line 1083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate / p_payments_per_year : ' || l_periodic_rate / p_payments_per_year);

1079:
1080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate * p_loan_amount :' || l_periodic_rate * p_loan_amount);
1081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_payments_per_year * p_termly_amount : ' || p_payments_per_year * p_termly_amount);
1082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1-a/b) : ' || LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))));
1083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate / p_payments_per_year : ' || l_periodic_rate / p_payments_per_year);
1084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1+d) : ' || LN(1 + (l_periodic_rate / p_payments_per_year)));
1085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': - p_payments_per_year : ' || (- p_payments_per_year));
1086:
1087: l_num_periods := (LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))) /

Line 1084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1+d) : ' || LN(1 + (l_periodic_rate / p_payments_per_year)));

1080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate * p_loan_amount :' || l_periodic_rate * p_loan_amount);
1081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_payments_per_year * p_termly_amount : ' || p_payments_per_year * p_termly_amount);
1082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1-a/b) : ' || LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))));
1083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate / p_payments_per_year : ' || l_periodic_rate / p_payments_per_year);
1084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1+d) : ' || LN(1 + (l_periodic_rate / p_payments_per_year)));
1085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': - p_payments_per_year : ' || (- p_payments_per_year));
1086:
1087: l_num_periods := (LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))) /
1088: LN(1 + (l_periodic_rate / p_payments_per_year))) / (- p_payments_per_year) ;

Line 1085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': - p_payments_per_year : ' || (- p_payments_per_year));

1081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_payments_per_year * p_termly_amount : ' || p_payments_per_year * p_termly_amount);
1082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1-a/b) : ' || LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))));
1083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate / p_payments_per_year : ' || l_periodic_rate / p_payments_per_year);
1084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': LN(1+d) : ' || LN(1 + (l_periodic_rate / p_payments_per_year)));
1085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': - p_payments_per_year : ' || (- p_payments_per_year));
1086:
1087: l_num_periods := (LN(1 - ( ( l_periodic_rate * p_loan_amount ) / (p_payments_per_year * p_termly_amount))) /
1088: LN(1 + (l_periodic_rate / p_payments_per_year))) / (- p_payments_per_year) ;
1089: else

Line 1094: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num years to pay off = ' || l_num_periods);

1090: l_num_periods := p_loan_amount / p_termly_amount / p_payments_per_year;
1091:
1092: end if;
1093:
1094: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num years to pay off = ' || l_num_periods);
1095:
1096: if p_period_type = 'MONTHS' then
1097: l_num_periods := l_num_periods * 12;
1098:

Line 1107: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

1103: null;
1104:
1105: end if;
1106:
1107: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
1108:
1109: return l_num_periods;
1110:
1111: Exception

Line 1200: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

1196:
1197: l_api_name := 'preProcessInstallment';
1198: l_api_version_number := 1;
1199:
1200: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1201: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1202: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1203:
1204: -- Standard Start of API savepoint

Line 1201: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);

1197: l_api_name := 'preProcessInstallment';
1198: l_api_version_number := 1;
1199:
1200: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1201: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1202: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1203:
1204: -- Standard Start of API savepoint
1205: SAVEPOINT preProcessInstallment;

Line 1202: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);

1198: l_api_version_number := 1;
1199:
1200: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1201: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1202: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1203:
1204: -- Standard Start of API savepoint
1205: SAVEPOINT preProcessInstallment;
1206:

Line 1237: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting next installment info...');

1233: l_loan_details := lns_financials.getLoanDetails(p_loan_Id => p_loan_id
1234: ,p_based_on_terms => 'CURRENT'
1235: ,p_phase => 'TERM');
1236:
1237: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting next installment info...');
1238: if l_loan_details.custom_schedule = 'N' then
1239: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - regular loan');
1240:
1241: -- this is a standard non-customized loan

Line 1239: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - regular loan');

1235: ,p_phase => 'TERM');
1236:
1237: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting next installment info...');
1238: if l_loan_details.custom_schedule = 'N' then
1239: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - regular loan');
1240:
1241: -- this is a standard non-customized loan
1242: lns_financials.amortizeLoan(p_loan_Id => p_loan_id
1243: ,p_based_on_terms => 'CURRENT'

Line 1247: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' table count is ' || l_count);

1243: ,p_based_on_terms => 'CURRENT'
1244: ,p_installment_number => p_installment_number
1245: ,x_loan_amort_tbl => l_amort_tbl);
1246: l_count := l_amort_tbl.count;
1247: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' table count is ' || l_count);
1248:
1249: for i in REVERSE 1..l_amort_tbl.count loop
1250: if p_installment_number = l_amort_tbl(i).INSTALLMENT_NUMBER then
1251: l_due_date := l_amort_tbl(i).due_date;

Line 1260: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - custom loan');

1256:
1257: else
1258: -- we are on a customized loan
1259: -- check if this is 0th installment or not
1260: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - custom loan');
1261: if p_installment_number > 0 then
1262: open c_customSchedule(p_loan_id, p_installment_number);
1263: fetch c_customSchedule into
1264: l_installment

Line 1290: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' next installment due: ' || l_amortization_rec.installment_number);

1286: --l_amortization_rec.fees_cumulative := l_amort_tbl(i).fees_cumulative;
1287: --l_amortization_rec.other_cumulative := l_amort_tbl(i).other_cumulative;
1288: --l_amortization_rec.rate_id := l_amort_tbl(i).rate_id;
1289:
1290: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' next installment due: ' || l_amortization_rec.installment_number);
1291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' next due date: ' || l_amortization_rec.due_date);
1292:
1293: -- get theoretical balance
1294: -- bug# 5664316 - remove installment number check

Line 1291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' next due date: ' || l_amortization_rec.due_date);

1287: --l_amortization_rec.other_cumulative := l_amort_tbl(i).other_cumulative;
1288: --l_amortization_rec.rate_id := l_amort_tbl(i).rate_id;
1289:
1290: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' next installment due: ' || l_amortization_rec.installment_number);
1291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' next due date: ' || l_amortization_rec.due_date);
1292:
1293: -- get theoretical balance
1294: -- bug# 5664316 - remove installment number check
1295: if l_loan_details.reamortize_overpay = 'Y' and

Line 1299: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - checking if we need to reamortize...');

1295: if l_loan_details.reamortize_overpay = 'Y' and
1296: l_loan_details.custom_schedule = 'N' -- fix for bug 6902221
1297: then --and p_installment_number > 1 then
1298:
1299: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - checking if we need to reamortize...');
1300:
1301: lns_financials.amortizeLoan(p_loan_Id => p_loan_id
1302: ,p_based_on_terms => 'ORIGINAL'
1303: ,p_installment_number => p_installment_number

Line 1306: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' comparing balances...');

1302: ,p_based_on_terms => 'ORIGINAL'
1303: ,p_installment_number => p_installment_number
1304: ,x_loan_amort_tbl => l_amort_tbl);
1305:
1306: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' comparing balances...');
1307: l_actual_balance := l_loan_details.remaining_balance;
1308:
1309: if p_installment_number > 0 then
1310:

Line 1324: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' p_installment_number ' || p_installment_number);

1320: l_theoretical_balance := 0;
1321: else
1322: l_theoretical_balance := l_amort_tbl(l_arr_pos).end_balance;
1323: end if;
1324: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' p_installment_number ' || p_installment_number);
1325: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' l_arr_pos ' || l_arr_pos);
1326:
1327: elsif p_installment_number = 0 then
1328: -- this check will take care of multiple reAmortizations on 0th installment

Line 1325: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' l_arr_pos ' || l_arr_pos);

1321: else
1322: l_theoretical_balance := l_amort_tbl(l_arr_pos).end_balance;
1323: end if;
1324: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' p_installment_number ' || p_installment_number);
1325: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' l_arr_pos ' || l_arr_pos);
1326:
1327: elsif p_installment_number = 0 then
1328: -- this check will take care of multiple reAmortizations on 0th installment
1329: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize zero installment');

Line 1329: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize zero installment');

1325: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' l_arr_pos ' || l_arr_pos);
1326:
1327: elsif p_installment_number = 0 then
1328: -- this check will take care of multiple reAmortizations on 0th installment
1329: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize zero installment');
1330: if l_loan_details.reamortize_amount = 0 or l_loan_details.reamortize_amount is null then
1331:
1332: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize amount is zero - no previous reamortization ');
1333: l_theoretical_balance := l_loan_details.funded_amount;

Line 1332: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize amount is zero - no previous reamortization ');

1328: -- this check will take care of multiple reAmortizations on 0th installment
1329: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize zero installment');
1330: if l_loan_details.reamortize_amount = 0 or l_loan_details.reamortize_amount is null then
1331:
1332: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize amount is zero - no previous reamortization ');
1333: l_theoretical_balance := l_loan_details.funded_amount;
1334: else
1335:
1336: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize amount is not zero - previous reamort amount');

Line 1336: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize amount is not zero - previous reamort amount');

1332: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize amount is zero - no previous reamortization ');
1333: l_theoretical_balance := l_loan_details.funded_amount;
1334: else
1335:
1336: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' reamortize amount is not zero - previous reamort amount');
1337: l_theoretical_balance := l_loan_details.reamortize_amount;
1338: end if;
1339: end if;
1340:

Line 1341: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' actual balance ' || l_actual_balance);

1337: l_theoretical_balance := l_loan_details.reamortize_amount;
1338: end if;
1339: end if;
1340:
1341: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' actual balance ' || l_actual_balance);
1342: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' theoretical balance ' || l_theoretical_balance);
1343: -- end bug# 5664316 11-23-2006
1344:
1345: if l_actual_balance < l_theoretical_balance then

Line 1342: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' theoretical balance ' || l_theoretical_balance);

1338: end if;
1339: end if;
1340:
1341: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' actual balance ' || l_actual_balance);
1342: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' theoretical balance ' || l_theoretical_balance);
1343: -- end bug# 5664316 11-23-2006
1344:
1345: if l_actual_balance < l_theoretical_balance then
1346:

Line 1347: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZING...');

1343: -- end bug# 5664316 11-23-2006
1344:
1345: if l_actual_balance < l_theoretical_balance then
1346:
1347: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZING...');
1348:
1349: -- remove all reAmortize rows from amortization schedule
1350: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' removing previous reAmortize rows');
1351:

Line 1350: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' removing previous reAmortize rows');

1346:
1347: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZING...');
1348:
1349: -- remove all reAmortize rows from amortization schedule
1350: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' removing previous reAmortize rows');
1351:
1352: delete
1353: from lns_amortization_scheds
1354: where loan_id = p_loan_id

Line 1358: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZE OVERPAY LOAN');

1354: where loan_id = p_loan_id
1355: and reamortization_amount is not null
1356: and reamortize_from_installment is not null;
1357:
1358: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZE OVERPAY LOAN');
1359: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' insert record into amortizations');
1360: insert into LNS_AMORTIZATION_SCHEDS(amortization_schedule_id
1361: ,loan_id
1362: ,reamortization_amount

Line 1359: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' insert record into amortizations');

1355: and reamortization_amount is not null
1356: and reamortize_from_installment is not null;
1357:
1358: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZE OVERPAY LOAN');
1359: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' insert record into amortizations');
1360: insert into LNS_AMORTIZATION_SCHEDS(amortization_schedule_id
1361: ,loan_id
1362: ,reamortization_amount
1363: ,reamortize_from_installment

Line 1385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZE UNDERPAY LOAN');

1381: -- bug #3718480
1382: -- we will need to credit out all unpaid principal documents
1383: /*
1384: elsif l_loan_details.reamortize_underpay = 'Y' and l_actual_balance > l_theoretical_balance then
1385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZE UNDERPAY LOAN');
1386: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' insert record into amortizations');
1387: insert into LNS_AMORTIZATION_SCHEDS(amortization_schedule_id
1388: ,loan_id
1389: ,reamortization_amount

Line 1386: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' insert record into amortizations');

1382: -- we will need to credit out all unpaid principal documents
1383: /*
1384: elsif l_loan_details.reamortize_underpay = 'Y' and l_actual_balance > l_theoretical_balance then
1385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' REAMORTIZE UNDERPAY LOAN');
1386: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' insert record into amortizations');
1387: insert into LNS_AMORTIZATION_SCHEDS(amortization_schedule_id
1388: ,loan_id
1389: ,reamortization_amount
1390: ,reamortize_from_installment

Line 1410: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' WILL NOT REAMORTIZE!');

1406: ,lns_utility_pub.last_update_date
1407: ,1);
1408: */
1409: else
1410: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' WILL NOT REAMORTIZE!');
1411: end if;
1412: end if;
1413:
1414: -- processFees for servicing

Line 1427: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

1423: COMMIT WORK;
1424: END IF;
1425:
1426: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1427: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
1428:
1429: Exception
1430: WHEN FND_API.G_EXC_ERROR THEN
1431: ROLLBACK TO preProcessInstallment;

Line 1436: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1432: x_return_status := FND_API.G_RET_STS_ERROR;
1433: x_msg_count := l_msg_count;
1434: x_msg_data := l_msg_data;
1435: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1436: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1437:
1438: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1439: ROLLBACK TO preProcessInstallment;
1440: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1444: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

1440: x_return_status := FND_API.G_RET_STS_ERROR;
1441: x_msg_count := l_msg_count;
1442: x_msg_data := l_msg_data;
1443: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1444: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
1445:
1446: WHEN OTHERS THEN
1447: ROLLBACK TO preProcessInstallment;
1448: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1452: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1448: x_return_status := FND_API.G_RET_STS_ERROR;
1449: x_msg_count := l_msg_count;
1450: x_msg_data := l_msg_data;
1451: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1452: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1453:
1454: end preProcessInstallment;
1455:
1456: /*=========================================================================

Line 1511: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

1507:
1508: begin
1509:
1510: l_api_name := 'preProcessOpenInstallment';
1511: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1512: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1513: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1514:
1515: -- Standard Start of API savepoint

Line 1512: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);

1508: begin
1509:
1510: l_api_name := 'preProcessOpenInstallment';
1511: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1512: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1513: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1514:
1515: -- Standard Start of API savepoint
1516: SAVEPOINT preProcessOpenInstallment;

Line 1513: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);

1509:
1510: l_api_name := 'preProcessOpenInstallment';
1511: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1512: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1513: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1514:
1515: -- Standard Start of API savepoint
1516: SAVEPOINT preProcessOpenInstallment;
1517:

Line 1529: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting loan details');

1525:
1526: -- ---------------------------------------------------------------
1527: -- Beginning of API body
1528: --
1529: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting loan details');
1530: l_loan_details := lns_financials.getLoanDetails(p_loan_Id => p_loan_id
1531: ,p_based_on_terms => 'CURRENT'
1532: ,p_phase => 'OPEN');
1533:

Line 1534: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting Open Installment');

1530: l_loan_details := lns_financials.getLoanDetails(p_loan_Id => p_loan_id
1531: ,p_based_on_terms => 'CURRENT'
1532: ,p_phase => 'OPEN');
1533:
1534: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting Open Installment');
1535: lns_financials.getOpenInstallment(p_init_msg_list => 'T'
1536: ,p_loan_ID => p_loan_ID
1537: ,p_installment_number => p_installment_number
1538: ,x_fees_tbl => l_fees_tbl

Line 1563: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

1559: COMMIT WORK;
1560: END IF;
1561:
1562: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1563: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
1564:
1565: Exception
1566: WHEN FND_API.G_EXC_ERROR THEN
1567: ROLLBACK TO preProcessOpenInstallment;

Line 1572: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1568: x_return_status := FND_API.G_RET_STS_ERROR;
1569: x_msg_count := l_msg_count;
1570: x_msg_data := l_msg_data;
1571: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1572: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1573:
1574: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1575: ROLLBACK TO preProcessOpenInstallment;
1576: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1580: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

1576: x_return_status := FND_API.G_RET_STS_ERROR;
1577: x_msg_count := l_msg_count;
1578: x_msg_data := l_msg_data;
1579: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1580: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
1581:
1582: WHEN OTHERS THEN
1583: ROLLBACK TO preProcessOpenInstallment;
1584: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1588: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1584: x_return_status := FND_API.G_RET_STS_ERROR;
1585: x_msg_count := l_msg_count;
1586: x_msg_data := l_msg_data;
1587: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1588: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1589:
1590: end preProcessOpenInstallment;
1591:
1592:

Line 1676: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

1672: begin
1673:
1674: l_api_version_number := 1;
1675: l_api_name := 'getInstallment';
1676: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1677: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1678: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1679:
1680: -- Standard Start of API savepoint

Line 1677: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);

1673:
1674: l_api_version_number := 1;
1675: l_api_name := 'getInstallment';
1676: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1677: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1678: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1679:
1680: -- Standard Start of API savepoint
1681: SAVEPOINT getInstallment;

Line 1678: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);

1674: l_api_version_number := 1;
1675: l_api_name := 'getInstallment';
1676: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
1677: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
1678: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
1679:
1680: -- Standard Start of API savepoint
1681: SAVEPOINT getInstallment;
1682:

Line 1717: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - preProcess the loan');

1713: if l_loan_details.custom_schedule = 'N' then
1714:
1715: -- preProcess will add a re-amortization row if the remaining amount < funded amount
1716: -- bug# 5664316 11-23-2006
1717: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - preProcess the loan');
1718: preProcessInstallment(p_api_version => 1.0
1719: ,p_init_msg_list => p_init_msg_list
1720: ,p_commit => p_commit
1721: ,p_loan_ID => p_loan_id

Line 1903: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

1899: COMMIT WORK;
1900: END IF;
1901:
1902: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1903: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
1904:
1905: EXCEPTION
1906: WHEN FND_API.G_EXC_ERROR THEN
1907: ROLLBACK TO getInstallment;

Line 1912: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1908: x_return_status := FND_API.G_RET_STS_ERROR;
1909: x_msg_count := l_msg_count;
1910: x_msg_data := l_msg_data;
1911: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1912: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1913:
1914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1915: ROLLBACK TO getInstallment;
1916: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1920: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1916: x_return_status := FND_API.G_RET_STS_ERROR;
1917: x_msg_count := l_msg_count;
1918: x_msg_data := l_msg_data;
1919: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1920: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1921:
1922: WHEN OTHERS THEN
1923: ROLLBACK TO getInstallment;
1924: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1928: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

1924: x_return_status := FND_API.G_RET_STS_ERROR;
1925: x_msg_count := l_msg_count;
1926: x_msg_data := l_msg_data;
1927: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
1928: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
1929:
1930: end getInstallment;
1931:
1932:

Line 1949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - BEGIN');

1945:
1946: begin
1947:
1948: l_api_name := 'get_num_non_ro_instal';
1949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - BEGIN');
1950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'p_from_installment=' || p_from_installment);
1951:
1952: l_from_installment := p_from_installment;
1953: if (l_from_installment is null or l_from_installment = 0) then

Line 1950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'p_from_installment=' || p_from_installment);

1946: begin
1947:
1948: l_api_name := 'get_num_non_ro_instal';
1949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - BEGIN');
1950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'p_from_installment=' || p_from_installment);
1951:
1952: l_from_installment := p_from_installment;
1953: if (l_from_installment is null or l_from_installment = 0) then
1954: l_from_installment := 1;

Line 1956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'l_from_installment=' || l_from_installment);

1952: l_from_installment := p_from_installment;
1953: if (l_from_installment is null or l_from_installment = 0) then
1954: l_from_installment := 1;
1955: end if;
1956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'l_from_installment=' || l_from_installment);
1957:
1958: -- build normal rate schedule table
1959: for i in 1..p_rate_schedule.count loop
1960:

Line 1961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'rate schedule row ' || i || ': from ' || p_rate_schedule(i).BEGIN_INSTALLMENT_NUMBER || ' to ' || p_rate_schedule(i).END_INSTALLMENT_NUMBER);

1957:
1958: -- build normal rate schedule table
1959: for i in 1..p_rate_schedule.count loop
1960:
1961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'rate schedule row ' || i || ': from ' || p_rate_schedule(i).BEGIN_INSTALLMENT_NUMBER || ' to ' || p_rate_schedule(i).END_INSTALLMENT_NUMBER);
1962:
1963: for j in p_rate_schedule(i).BEGIN_INSTALLMENT_NUMBER..p_rate_schedule(i).END_INSTALLMENT_NUMBER loop
1964:
1965: l_local_rate_schedule(j) := p_rate_schedule(i);

Line 1966: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'adding local rate schedule row ' || j);

1962:
1963: for j in p_rate_schedule(i).BEGIN_INSTALLMENT_NUMBER..p_rate_schedule(i).END_INSTALLMENT_NUMBER loop
1964:
1965: l_local_rate_schedule(j) := p_rate_schedule(i);
1966: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'adding local rate schedule row ' || j);
1967:
1968: end loop;
1969:
1970: end loop;

Line 1981: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'local rate schedule row ' || i || ': IO ' || l_local_rate_schedule(i).INTEREST_ONLY_FLAG);

1977: end if;
1978:
1979: for i in l_from_installment..l_total_installments loop
1980:
1981: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'local rate schedule row ' || i || ': IO ' || l_local_rate_schedule(i).INTEREST_ONLY_FLAG);
1982:
1983: if (l_local_rate_schedule(i).INTEREST_ONLY_FLAG = 'N' or i = l_total_installments) then
1984: l_num_non_ro_payments := l_num_non_ro_payments + 1;
1985: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'l_num_non_ro_payments ' || l_num_non_ro_payments);

Line 1985: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'l_num_non_ro_payments ' || l_num_non_ro_payments);

1981: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'local rate schedule row ' || i || ': IO ' || l_local_rate_schedule(i).INTEREST_ONLY_FLAG);
1982:
1983: if (l_local_rate_schedule(i).INTEREST_ONLY_FLAG = 'N' or i = l_total_installments) then
1984: l_num_non_ro_payments := l_num_non_ro_payments + 1;
1985: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'l_num_non_ro_payments ' || l_num_non_ro_payments);
1986: end if;
1987:
1988: end loop;
1989:

Line 1994: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Result num_payments ' || l_num_non_ro_payments);

1990: if (l_num_non_ro_payments = 0) then
1991: l_num_non_ro_payments := 1;
1992: end if;
1993:
1994: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Result num_payments ' || l_num_non_ro_payments);
1995: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - END');
1996:
1997: return l_num_non_ro_payments;
1998:

Line 1995: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - END');

1991: l_num_non_ro_payments := 1;
1992: end if;
1993:
1994: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Result num_payments ' || l_num_non_ro_payments);
1995: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - END');
1996:
1997: return l_num_non_ro_payments;
1998:
1999: end;

Line 2099: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

2095: and phase = 'OPEN';
2096: begin
2097:
2098: l_api_name := 'getOpenInstallment';
2099: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2100: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
2101: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
2102:
2103: -- Standard Start of API savepoint

Line 2100: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);

2096: begin
2097:
2098: l_api_name := 'getOpenInstallment';
2099: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2100: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
2101: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
2102:
2103: -- Standard Start of API savepoint
2104: SAVEPOINT getOpenInstallment;

Line 2101: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);

2097:
2098: l_api_name := 'getOpenInstallment';
2099: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2100: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - loan id ' || p_loan_id);
2101: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - instalment# ' || p_installment_number);
2102:
2103: -- Standard Start of API savepoint
2104: SAVEPOINT getOpenInstallment;
2105:

Line 2155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);

2151: FND_MSG_PUB.ADD;
2152: RAISE FND_API.G_EXC_ERROR;
2153:
2154: end;
2155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);
2156:
2157: -- now caculate the interest due for this period
2158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);
2159: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period start ' || l_payment_tbl(p_installment_number).period_begin_date);

Line 2158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);

2154: end;
2155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);
2156:
2157: -- now caculate the interest due for this period
2158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);
2159: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period start ' || l_payment_tbl(p_installment_number).period_begin_date);
2160: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period end ' || l_payment_tbl(p_installment_number).period_end_date);
2161:
2162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate type = ' || l_loan_details.rate_type );

Line 2159: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period start ' || l_payment_tbl(p_installment_number).period_begin_date);

2155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);
2156:
2157: -- now caculate the interest due for this period
2158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);
2159: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period start ' || l_payment_tbl(p_installment_number).period_begin_date);
2160: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period end ' || l_payment_tbl(p_installment_number).period_end_date);
2161:
2162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate type = ' || l_loan_details.rate_type );
2163: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

Line 2160: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period end ' || l_payment_tbl(p_installment_number).period_end_date);

2156:
2157: -- now caculate the interest due for this period
2158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);
2159: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period start ' || l_payment_tbl(p_installment_number).period_begin_date);
2160: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period end ' || l_payment_tbl(p_installment_number).period_end_date);
2161:
2162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate type = ' || l_loan_details.rate_type );
2163: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2164: l_rate_details := getRateDetails(p_installment => p_installment_number

Line 2162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate type = ' || l_loan_details.rate_type );

2158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);
2159: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period start ' || l_payment_tbl(p_installment_number).period_begin_date);
2160: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period end ' || l_payment_tbl(p_installment_number).period_end_date);
2161:
2162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate type = ' || l_loan_details.rate_type );
2163: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2164: l_rate_details := getRateDetails(p_installment => p_installment_number
2165: ,p_rate_tbl => l_rates_tbl);
2166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate details ' || l_rate_details.annual_rate);

Line 2163: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

2159: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period start ' || l_payment_tbl(p_installment_number).period_begin_date);
2160: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period end ' || l_payment_tbl(p_installment_number).period_end_date);
2161:
2162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate type = ' || l_loan_details.rate_type );
2163: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2164: l_rate_details := getRateDetails(p_installment => p_installment_number
2165: ,p_rate_tbl => l_rates_tbl);
2166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate details ' || l_rate_details.annual_rate);
2167:

Line 2166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate details ' || l_rate_details.annual_rate);

2162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate type = ' || l_loan_details.rate_type );
2163: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2164: l_rate_details := getRateDetails(p_installment => p_installment_number
2165: ,p_rate_tbl => l_rates_tbl);
2166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate details ' || l_rate_details.annual_rate);
2167:
2168: if l_loan_details.rate_type = 'FIXED' OR (l_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'N') then
2169:
2170: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FIXED OR NOT FLOATING ');

Line 2170: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FIXED OR NOT FLOATING ');

2166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate details ' || l_rate_details.annual_rate);
2167:
2168: if l_loan_details.rate_type = 'FIXED' OR (l_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'N') then
2169:
2170: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FIXED OR NOT FLOATING ');
2171: l_annualized_rate := l_rate_details.ANNUAL_RATE;
2172:
2173: elsif l_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
2174:

Line 2175: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');

2171: l_annualized_rate := l_rate_details.ANNUAL_RATE;
2172:
2173: elsif l_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
2174:
2175: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
2176: -- if float and no rate then error;
2177: -- we only need to get the new rate if
2178: -- 1. no rate has ever been calculated (i.e. 1st installment)
2179: -- 2. the billing date is beyond the next_rate_change_date

Line 2184: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');

2180: -- 3. make sure to add spread and abide by rate rules
2181: if l_payment_tbl(p_installment_number).period_begin_date < l_loan_details.NEXT_RATE_CHANGE_DATE then
2182:
2183: -- no need to recalculate interest
2184: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
2185: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.last_interest_rate:' || l_loan_details.last_interest_rate);
2186: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': spread:' || l_rate_details.spread);
2187: l_annualized_rate := l_loan_details.last_interest_rate + l_rate_details.spread;
2188:

Line 2185: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.last_interest_rate:' || l_loan_details.last_interest_rate);

2181: if l_payment_tbl(p_installment_number).period_begin_date < l_loan_details.NEXT_RATE_CHANGE_DATE then
2182:
2183: -- no need to recalculate interest
2184: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
2185: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.last_interest_rate:' || l_loan_details.last_interest_rate);
2186: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': spread:' || l_rate_details.spread);
2187: l_annualized_rate := l_loan_details.last_interest_rate + l_rate_details.spread;
2188:
2189: elsif p_installment_number = 1 OR l_payment_tbl(p_installment_number).period_begin_date > l_loan_details.NEXT_RATE_CHANGE_DATE then

Line 2186: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': spread:' || l_rate_details.spread);

2182:
2183: -- no need to recalculate interest
2184: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
2185: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.last_interest_rate:' || l_loan_details.last_interest_rate);
2186: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': spread:' || l_rate_details.spread);
2187: l_annualized_rate := l_loan_details.last_interest_rate + l_rate_details.spread;
2188:
2189: elsif p_installment_number = 1 OR l_payment_tbl(p_installment_number).period_begin_date > l_loan_details.NEXT_RATE_CHANGE_DATE then
2190: l_rate_details.ANNUAL_RATE := lns_fin_utils.getRateForDate(l_loan_details.OPEN_INDEX_RATE_ID

Line 2193: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');

2189: elsif p_installment_number = 1 OR l_payment_tbl(p_installment_number).period_begin_date > l_loan_details.NEXT_RATE_CHANGE_DATE then
2190: l_rate_details.ANNUAL_RATE := lns_fin_utils.getRateForDate(l_loan_details.OPEN_INDEX_RATE_ID
2191: ,l_payment_tbl(p_installment_number).period_begin_date);
2192:
2193: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');
2194: -- raise error as rates does not exist
2195: if l_rate_details.ANNUAL_RATE is null then
2196: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
2197: FND_MSG_PUB.ADD;

Line 2198: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || l_loan_details.OPEN_INDEX_RATE_ID);

2194: -- raise error as rates does not exist
2195: if l_rate_details.ANNUAL_RATE is null then
2196: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
2197: FND_MSG_PUB.ADD;
2198: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || l_loan_details.OPEN_INDEX_RATE_ID);
2199: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || l_loan_details.NEXT_RATE_CHANGE_DATE);
2200: RAISE FND_API.G_EXC_ERROR;
2201: end if;
2202:

Line 2199: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || l_loan_details.NEXT_RATE_CHANGE_DATE);

2195: if l_rate_details.ANNUAL_RATE is null then
2196: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
2197: FND_MSG_PUB.ADD;
2198: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || l_loan_details.OPEN_INDEX_RATE_ID);
2199: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || l_loan_details.NEXT_RATE_CHANGE_DATE);
2200: RAISE FND_API.G_EXC_ERROR;
2201: end if;
2202:
2203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.ANNUAL_RATE ' || l_rate_details.ANNUAL_RATE );

Line 2203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.ANNUAL_RATE ' || l_rate_details.ANNUAL_RATE );

2199: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || l_loan_details.NEXT_RATE_CHANGE_DATE);
2200: RAISE FND_API.G_EXC_ERROR;
2201: end if;
2202:
2203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.ANNUAL_RATE ' || l_rate_details.ANNUAL_RATE );
2204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.spread ' || l_rate_details.spread);
2205: -- add the spread into the rate
2206: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
2207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);

Line 2204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.spread ' || l_rate_details.spread);

2200: RAISE FND_API.G_EXC_ERROR;
2201: end if;
2202:
2203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.ANNUAL_RATE ' || l_rate_details.ANNUAL_RATE );
2204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.spread ' || l_rate_details.spread);
2205: -- add the spread into the rate
2206: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
2207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);
2208:

Line 2207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);

2203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.ANNUAL_RATE ' || l_rate_details.ANNUAL_RATE );
2204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_details.spread ' || l_rate_details.spread);
2205: -- add the spread into the rate
2206: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
2207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);
2208:
2209: -- adjust the rate as per rate rules
2210: l_annualized_rate := calculateInterestRate(p_initial_rate => l_loan_details.INITIAL_INTEREST_RATE
2211: ,p_rate_to_compare => l_raw_rate

Line 2219: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);

2215: ,p_max_lifetime_adjustment => l_loan_details.OPEN_LIFE_PERCENT_INCREASE
2216: ,p_ceiling_rate => l_loan_details.OPEN_CEILING_RATE
2217: ,p_floor_rate => l_loan_details.OPEN_FLOOR_RATE
2218: ,p_installment_number => p_installment_number);
2219: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
2220:
2221: end if; -- recalc or not
2222:
2223: end if; -- floating or not

Line 2225: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);

2221: end if; -- recalc or not
2222:
2223: end if; -- floating or not
2224:
2225: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
2226: l_periodic_rate := lns_financials.getPeriodicRate(p_period_start_date => l_payment_tbl(p_installment_number).period_begin_date
2227: ,p_period_end_date => l_payment_tbl(p_installment_number).period_end_date
2228: ,p_annualized_rate => l_annualized_rate
2229: ,p_days_count_method => l_loan_Details.day_count_method);

Line 2294: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

2290: -- End of API body
2291: -- --------------------------------------------------------------------
2292:
2293: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2294: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
2295:
2296: EXCEPTION
2297: WHEN FND_API.G_EXC_ERROR THEN
2298: ROLLBACK TO getOpenInstallment;

Line 2303: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

2299: x_return_status := FND_API.G_RET_STS_ERROR;
2300: x_msg_count := l_msg_count;
2301: x_msg_data := l_msg_data;
2302: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2303: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
2304:
2305: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2306: ROLLBACK TO getOpenInstallment;
2307: x_return_status := FND_API.G_RET_STS_ERROR;

Line 2311: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

2307: x_return_status := FND_API.G_RET_STS_ERROR;
2308: x_msg_count := l_msg_count;
2309: x_msg_data := l_msg_data;
2310: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2311: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
2312:
2313: WHEN OTHERS THEN
2314: ROLLBACK TO getOpenInstallment;
2315: x_return_status := FND_API.G_RET_STS_ERROR;

Line 2319: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

2315: x_return_status := FND_API.G_RET_STS_ERROR;
2316: x_msg_count := l_msg_count;
2317: x_msg_data := l_msg_data;
2318: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
2319: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
2320:
2321: end getOpenInstallment;
2322:
2323: /*=========================================================================

Line 2364: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

2360: begin
2361:
2362: l_api_name := 'getRatesTable';
2363:
2364: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2365: i := 1;
2366: l_Rates_tbl(i).begin_date := p_index_date;
2367: l_rate_date := p_index_date;
2368: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_date ' || p_index_date);

Line 2368: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_date ' || p_index_date);

2364: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2365: i := 1;
2366: l_Rates_tbl(i).begin_date := p_index_date;
2367: l_rate_date := p_index_date;
2368: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_date ' || p_index_date);
2369: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_change_frequency ' || p_rate_change_frequency);
2370: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_maturity_date ' || p_maturity_date );
2371: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_rate_id ' || p_index_rate_id );
2372:

Line 2369: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_change_frequency ' || p_rate_change_frequency);

2365: i := 1;
2366: l_Rates_tbl(i).begin_date := p_index_date;
2367: l_rate_date := p_index_date;
2368: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_date ' || p_index_date);
2369: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_change_frequency ' || p_rate_change_frequency);
2370: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_maturity_date ' || p_maturity_date );
2371: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_rate_id ' || p_index_rate_id );
2372:
2373: WHILE l_rate_date <= p_maturity_date LOOP

Line 2370: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_maturity_date ' || p_maturity_date );

2366: l_Rates_tbl(i).begin_date := p_index_date;
2367: l_rate_date := p_index_date;
2368: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_date ' || p_index_date);
2369: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_change_frequency ' || p_rate_change_frequency);
2370: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_maturity_date ' || p_maturity_date );
2371: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_rate_id ' || p_index_rate_id );
2372:
2373: WHILE l_rate_date <= p_maturity_date LOOP
2374: l_rate_date := lns_fin_utils.getNextDate(l_rate_date, p_rate_change_frequency, 1);

Line 2371: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_rate_id ' || p_index_rate_id );

2367: l_rate_date := p_index_date;
2368: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_date ' || p_index_date);
2369: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_rate_change_frequency ' || p_rate_change_frequency);
2370: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_maturity_date ' || p_maturity_date );
2371: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_index_rate_id ' || p_index_rate_id );
2372:
2373: WHILE l_rate_date <= p_maturity_date LOOP
2374: l_rate_date := lns_fin_utils.getNextDate(l_rate_date, p_rate_change_frequency, 1);
2375: i := i + 1;

Line 2377: --logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_date ' || l_rate_date);

2373: WHILE l_rate_date <= p_maturity_date LOOP
2374: l_rate_date := lns_fin_utils.getNextDate(l_rate_date, p_rate_change_frequency, 1);
2375: i := i + 1;
2376: l_Rates_tbl(i).begin_date := l_rate_date;
2377: --logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_date ' || l_rate_date);
2378: END LOOP;
2379: /*
2380: for k in 1..l_Rates_tbl.count loop
2381: dbms_output.put_line(l_Rates_tbl(k).begin_date);

Line 2384: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

2380: for k in 1..l_Rates_tbl.count loop
2381: dbms_output.put_line(l_Rates_tbl(k).begin_date);
2382: end loop;
2383: */
2384: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
2385: return l_Rates_tbl;
2386:
2387: end getRatesTable;
2388:

Line 2647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

2643: l_hidden_cumul_interest := 0;
2644: l_hidden_periodic_prin := 0;
2645: l_force_reamortization := false;
2646:
2647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2648: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
2649: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
2650:
2651: l_amortized_term := p_loan_details.amortized_term;

Line 2648: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);

2644: l_hidden_periodic_prin := 0;
2645: l_force_reamortization := false;
2646:
2647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2648: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
2649: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
2650:
2651: l_amortized_term := p_loan_details.amortized_term;
2652: l_amortized_term_period := p_loan_details.amortized_term_period;

Line 2649: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);

2645: l_force_reamortization := false;
2646:
2647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
2648: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
2649: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
2650:
2651: l_amortized_term := p_loan_details.amortized_term;
2652: l_amortized_term_period := p_loan_details.amortized_term_period;
2653: l_amortization_frequency := p_loan_details.amortization_frequency;

Line 2686: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);

2682: l_extend_from_installment := p_loan_details.EXTEND_FROM_INSTALLMENT;
2683:
2684: -- get the interest rate schedule
2685: l_rate_tbl := p_rate_schedule;
2686: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
2687:
2688: -- get payment schedule
2689: -- this will return the acutal dates that payments will be due on
2690: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

Line 2690: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

2686: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
2687:
2688: -- get payment schedule
2689: -- this will return the acutal dates that payments will be due on
2690: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');
2691:
2692: l_payment_tbl := LNS_FIN_UTILS.buildSIPPaymentSchedule(
2693: p_loan_start_date => l_loan_start_date
2694: ,p_loan_maturity_date => l_maturity_date

Line 2706: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);

2702: ,p_prin_pay_in_arrears => l_prin_pay_in_arrears);
2703:
2704: l_num_pay_dates := l_payment_tbl.count;
2705:
2706: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);
2707:
2708: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');
2709: l_conv_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2710: ,p_fee_category => 'EVENT'

Line 2708: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');

2704: l_num_pay_dates := l_payment_tbl.count;
2705:
2706: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);
2707:
2708: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');
2709: l_conv_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2710: ,p_fee_category => 'EVENT'
2711: ,p_fee_type => 'EVENT_CONVERSION'
2712: ,p_installment => null

Line 2714: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);

2710: ,p_fee_category => 'EVENT'
2711: ,p_fee_type => 'EVENT_CONVERSION'
2712: ,p_installment => null
2713: ,p_fee_id => null);
2714: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);
2715:
2716: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
2717: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2718: ,p_fee_category => 'EVENT'

Line 2716: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');

2712: ,p_installment => null
2713: ,p_fee_id => null);
2714: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);
2715:
2716: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
2717: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2718: ,p_fee_category => 'EVENT'
2719: ,p_fee_type => 'EVENT_ORIGINATION'
2720: ,p_installment => null

Line 2722: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);

2718: ,p_fee_category => 'EVENT'
2719: ,p_fee_type => 'EVENT_ORIGINATION'
2720: ,p_installment => null
2721: ,p_fee_id => null);
2722: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
2723:
2724: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');
2725: l_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2726: ,p_fee_category => 'RECUR'

Line 2724: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');

2720: ,p_installment => null
2721: ,p_fee_id => null);
2722: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
2723:
2724: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');
2725: l_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2726: ,p_fee_category => 'RECUR'
2727: ,p_fee_type => null
2728: ,p_installment => null

Line 2730: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);

2726: ,p_fee_category => 'RECUR'
2727: ,p_fee_type => null
2728: ,p_installment => null
2729: ,p_fee_id => null);
2730: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
2731:
2732: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
2733: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2734: ,p_fee_category => 'MEMO'

Line 2732: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');

2728: ,p_installment => null
2729: ,p_fee_id => null);
2730: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
2731:
2732: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
2733: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
2734: ,p_fee_category => 'MEMO'
2735: ,p_fee_type => null
2736: ,p_installment => null

Line 2738: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);

2734: ,p_fee_category => 'MEMO'
2735: ,p_fee_type => null
2736: ,p_installment => null
2737: ,p_fee_id => null);
2738: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);
2739:
2740: -- 2-24-2005 raverma add 0 installment to amortization schedule
2741: if l_orig_fee_structures.count > 0 or l_conv_fee_structures.count > 0 then
2742:

Line 2838: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);

2834: end if;
2835:
2836: l_remaining_balance_actual := l_original_loan_amount;
2837:
2838: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);
2839: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);
2840:
2841: -- searching for start and end installments to calc additional interests
2842: if p_based_on_terms = 'CURRENT' and l_last_installment_billed > 0 then

Line 2839: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);

2835:
2836: l_remaining_balance_actual := l_original_loan_amount;
2837:
2838: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);
2839: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);
2840:
2841: -- searching for start and end installments to calc additional interests
2842: if p_based_on_terms = 'CURRENT' and l_last_installment_billed > 0 then
2843:

Line 2851: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);

2847:
2848: if l_first_installment_billed > 1 then
2849: l_first_installment_billed := l_first_installment_billed + 1;
2850: end if;
2851: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);
2852:
2853: l_start_installment := l_last_installment_billed + 1;
2854: for j in REVERSE l_first_installment_billed..l_last_installment_billed loop
2855: if l_payment_tbl(j).CONTENTS <> 'PRIN' then

Line 2861: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_start_installment = ' || l_start_installment);

2857: end if;
2858: l_start_installment := j;
2859: end loop;
2860: l_end_installment := l_last_installment_billed + 1;
2861: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_start_installment = ' || l_start_installment);
2862: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_end_installment = ' || l_end_installment);
2863:
2864: end if;
2865:

Line 2862: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_end_installment = ' || l_end_installment);

2858: l_start_installment := j;
2859: end loop;
2860: l_end_installment := l_last_installment_billed + 1;
2861: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_start_installment = ' || l_start_installment);
2862: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_end_installment = ' || l_end_installment);
2863:
2864: end if;
2865:
2866: l_hidden_cumul_norm_int := 0;

Line 2876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');

2872: -- loop to build the amortization schedule
2873: for l_installment_number in 1..l_payment_number
2874: loop
2875:
2876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
2877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');
2878:
2879: i := i + 1;
2880: l_periodic_interest := 0;

Line 2877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');

2873: for l_installment_number in 1..l_payment_number
2874: loop
2875:
2876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
2877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');
2878:
2879: i := i + 1;
2880: l_periodic_interest := 0;
2881: l_periodic_norm_int := 0;

Line 2896: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': BASED ON CURRENT TERMS FROM INSTALLMENT: ' || l_installment_number);

2892: -- this is the main check for calculating interest on actual balance not theoretical
2893: -- intercept and overwrite the remaining balance theory with remain balance actual
2894: if (l_last_installment_billed >= 0) and (l_last_installment_billed + 1 = l_installment_number)
2895: and p_based_on_terms = 'CURRENT' then
2896: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': BASED ON CURRENT TERMS FROM INSTALLMENT: ' || l_installment_number);
2897:
2898: l_principal_cumulative := 0;
2899: l_interest_cumulative := 0;
2900: l_fees_cumulative := 0;

Line 2923: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);

2919: l_remaining_balance_theory := 0;
2920: end if;
2921: end if;
2922:
2923: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
2924: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
2925:
2926: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2927: l_rate_details := getRateDetails(p_installment => l_installment_number

Line 2924: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);

2920: end if;
2921: end if;
2922:
2923: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
2924: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
2925:
2926: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2927: l_rate_details := getRateDetails(p_installment => l_installment_number
2928: ,p_rate_tbl => l_rate_tbl);

Line 2926: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

2922:
2923: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
2924: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
2925:
2926: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2927: l_rate_details := getRateDetails(p_installment => l_installment_number
2928: ,p_rate_tbl => l_rate_tbl);
2929:
2930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);

Line 2930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);

2926: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
2927: l_rate_details := getRateDetails(p_installment => l_installment_number
2928: ,p_rate_tbl => l_rate_tbl);
2929:
2930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
2931: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
2932: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
2933: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
2934:

Line 2931: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);

2927: l_rate_details := getRateDetails(p_installment => l_installment_number
2928: ,p_rate_tbl => l_rate_tbl);
2929:
2930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
2931: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
2932: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
2933: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
2934:
2935: l_current_rate_id := l_rate_details.rate_id;

Line 2932: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);

2928: ,p_rate_tbl => l_rate_tbl);
2929:
2930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
2931: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
2932: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
2933: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
2934:
2935: l_current_rate_id := l_rate_details.rate_id;
2936: l_annualized_rate := l_rate_details.annual_rate;

Line 2933: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);

2929:
2930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
2931: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
2932: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
2933: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
2934:
2935: l_current_rate_id := l_rate_details.rate_id;
2936: l_annualized_rate := l_rate_details.annual_rate;
2937: l_interest_only_flag := l_rate_details.interest_only_flag;

Line 2942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');

2938:
2939: -- add in support here for floating rate loans
2940: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
2941:
2942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
2943: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);

Line 2943: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);

2939: -- add in support here for floating rate loans
2940: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
2941:
2942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
2943: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);

Line 2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

2940: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
2941:
2942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
2943: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

Line 2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);

2941:
2942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
2943: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);

Line 2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);

2942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
2943: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);

Line 2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);

2943: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);

Line 2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

2944: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
2952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);

Line 2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);

2945: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
2952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
2953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);

Line 2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);

2946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
2952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
2953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
2954:

Line 2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);

2947: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
2952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
2953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
2954:
2955: -- if float and no rate then error;

Line 2952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);

2948: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
2952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
2953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
2954:
2955: -- if float and no rate then error;
2956: -- we only need to get the new rate if

Line 2953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);

2949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
2950: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
2951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
2952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
2953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
2954:
2955: -- if float and no rate then error;
2956: -- we only need to get the new rate if
2957: -- 1. no rate has ever been calculated (i.e. 1st installment)

Line 2963: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');

2959: -- 3. make sure to add spread and abide by rate rules
2960: if l_payment_tbl(l_installment_number).period_begin_date < p_loan_details.NEXT_RATE_CHANGE_DATE and l_installment_number > 1 then
2961:
2962: -- no need to recalculate interest, use current interest rate found on last installment
2963: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
2964:
2965: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2966: l_annualized_rate := p_loan_details.LAST_INTEREST_RATE + l_rate_details.spread;
2967:

Line 2965: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

2961:
2962: -- no need to recalculate interest, use current interest rate found on last installment
2963: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
2964:
2965: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
2966: l_annualized_rate := p_loan_details.LAST_INTEREST_RATE + l_rate_details.spread;
2967:
2968: --elsif l_installment_number = 1 OR l_payment_tbl(l_installment_number).period_begin_date >= p_loan_details.NEXT_RATE_CHANGE_DATE then
2969: else

Line 2973: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');

2969: else
2970:
2971: if p_based_on_terms = 'CURRENT' then
2972:
2973: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');
2974:
2975: l_rate_details.ANNUAL_RATE := lns_fin_utils.getRateForDate(p_loan_details.OPEN_INDEX_RATE_ID
2976: ,l_payment_tbl(l_installment_number).period_begin_date);
2977:

Line 2982: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);

2978: -- raise error as rates does not exist
2979: if l_rate_details.ANNUAL_RATE is null then
2980: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
2981: FND_MSG_PUB.ADD;
2982: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);
2983: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2984: RAISE FND_API.G_EXC_ERROR;
2985: end if;
2986:

Line 2983: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);

2979: if l_rate_details.ANNUAL_RATE is null then
2980: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
2981: FND_MSG_PUB.ADD;
2982: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);
2983: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
2984: RAISE FND_API.G_EXC_ERROR;
2985: end if;
2986:
2987: -- add the spread into the rate

Line 2989: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);

2985: end if;
2986:
2987: -- add the spread into the rate
2988: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
2989: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);
2990:
2991: -- adjust the rate as per rate rules
2992: l_annualized_rate := calculateInterestRate(p_initial_rate => p_loan_details.INITIAL_INTEREST_RATE
2993: ,p_rate_to_compare => l_raw_rate

Line 3004: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ASSIGNING PROJECTED RATE ');

3000: ,p_installment_number => l_installment_number);
3001:
3002: else -- not billing
3003:
3004: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ASSIGNING PROJECTED RATE ');
3005: l_annualized_rate := p_loan_details.TERM_PROJECTED_INTEREST_RATE;
3006:
3007: end if; -- billing
3008:

Line 3009: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': converting rate for floating loan ');

3005: l_annualized_rate := p_loan_details.TERM_PROJECTED_INTEREST_RATE;
3006:
3007: end if; -- billing
3008:
3009: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': converting rate for floating loan ');
3010: -- recalculate calculatePayment amount
3011: -- payment is based on original amortized portion of loan
3012: -- make sure to pass correct rate id back to billing
3013: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': assigning RATE_ID ' || l_rate_details.rate_id);

Line 3013: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': assigning RATE_ID ' || l_rate_details.rate_id);

3009: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': converting rate for floating loan ');
3010: -- recalculate calculatePayment amount
3011: -- payment is based on original amortized portion of loan
3012: -- make sure to pass correct rate id back to billing
3013: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': assigning RATE_ID ' || l_rate_details.rate_id);
3014: l_current_rate_id := l_rate_details.rate_id;
3015:
3016: end if; -- recalculate rate
3017:

Line 3020: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);

3016: end if; -- recalculate rate
3017:
3018: end if; -- rate_type and / or float
3019:
3020: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
3021: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);

Line 3021: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);

3017:
3018: end if; -- rate_type and / or float
3019:
3020: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
3021: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
3025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin ' || l_hidden_periodic_prin);

Line 3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);

3018: end if; -- rate_type and / or float
3019:
3020: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
3021: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
3025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin ' || l_hidden_periodic_prin);
3026: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);

Line 3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);

3019:
3020: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
3021: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
3025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin ' || l_hidden_periodic_prin);
3026: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
3027:

Line 3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);

3020: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
3021: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
3025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin ' || l_hidden_periodic_prin);
3026: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
3027:
3028: -- conditions to recalculate principal payment

Line 3025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin ' || l_hidden_periodic_prin);

3021: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
3025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin ' || l_hidden_periodic_prin);
3026: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
3027:
3028: -- conditions to recalculate principal payment
3029: -- 1. 1-st installment

Line 3026: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);

3022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
3023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
3024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
3025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin ' || l_hidden_periodic_prin);
3026: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
3027:
3028: -- conditions to recalculate principal payment
3029: -- 1. 1-st installment
3030: -- 2. reamortization from installment = current installment

Line 3040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- calculating periodic principal payment');

3036: (l_extend_from_installment is not null and (l_extend_from_installment + 1 >= l_installment_number)) OR
3037: (l_hidden_periodic_prin = 0 and (l_last_installment_billed + 1 = l_installment_number)))
3038: then
3039:
3040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- calculating periodic principal payment');
3041:
3042: l_num_prin_payments := get_remain_num_prin_instal(l_payment_tbl, l_installment_number) + l_prin_intervals_diff;
3043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_num_prin_payments=' || l_num_prin_payments);
3044:

Line 3043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_num_prin_payments=' || l_num_prin_payments);

3039:
3040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- calculating periodic principal payment');
3041:
3042: l_num_prin_payments := get_remain_num_prin_instal(l_payment_tbl, l_installment_number) + l_prin_intervals_diff;
3043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_num_prin_payments=' || l_num_prin_payments);
3044:
3045: if l_installment_number = 1 and l_reamortize_from_installment is null then
3046: l_remaining_balance := l_original_loan_amount;
3047: else

Line 3056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic principal payment is ' || l_hidden_periodic_prin);

3052: ,p_num_intervals => l_num_prin_payments
3053: ,p_ending_balance=> l_balloon_amount
3054: ,p_pay_in_arrears=> l_prin_pay_in_arrears);
3055:
3056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic principal payment is ' || l_hidden_periodic_prin);
3057:
3058: else
3059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INHERIT principal payment is ' || l_hidden_periodic_prin);
3060: end if;

Line 3059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INHERIT principal payment is ' || l_hidden_periodic_prin);

3055:
3056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic principal payment is ' || l_hidden_periodic_prin);
3057:
3058: else
3059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INHERIT principal payment is ' || l_hidden_periodic_prin);
3060: end if;
3061:
3062: l_previous_rate_id := l_current_rate_id;
3063: l_previous_annualized := l_annualized_rate;

Line 3065: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);

3061:
3062: l_previous_rate_id := l_current_rate_id;
3063: l_previous_annualized := l_annualized_rate;
3064:
3065: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3069:

Line 3066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);

3062: l_previous_rate_id := l_current_rate_id;
3063: l_previous_annualized := l_annualized_rate;
3064:
3065: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3069:
3070: l_norm_interest := 0;

Line 3067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);

3063: l_previous_annualized := l_annualized_rate;
3064:
3065: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3069:
3070: l_norm_interest := 0;
3071: l_add_prin_interest := 0;

Line 3068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);

3064:
3065: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3066: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3067: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3068: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3069:
3070: l_norm_interest := 0;
3071: l_add_prin_interest := 0;
3072: l_add_int_interest := 0;

Line 3084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');

3080: l_installment_number >= l_start_installment and
3081: l_installment_number <= l_end_installment
3082: then
3083:
3084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');
3085: l_norm_interest := LNS_FINANCIALS.CALC_NORM_INTEREST(p_loan_id => l_loan_id,
3086: p_calc_method => l_calc_method,
3087: p_period_start_date => l_payment_tbl(l_installment_number).period_begin_date,
3088: p_period_end_date => l_payment_tbl(l_installment_number).period_end_date,

Line 3116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');

3112: else
3113: l_prev_grace_end_date := l_payment_tbl(l_installment_number).period_begin_date;
3114: end if;
3115:
3116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');
3117: -- calculate additional interest on unpaid principal
3118: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => l_loan_id,
3119: p_calc_method => l_calc_method,
3120: p_period_start_date => l_add_start_date,

Line 3137: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');

3133: l_add_prin_interest := round(l_add_prin_interest, l_precision);
3134:
3135: if (l_calc_method = 'COMPOUND') then
3136:
3137: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');
3138: -- calculate additional interest on unpaid interest
3139: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => l_loan_id,
3140: p_calc_method => l_calc_method,
3141: p_period_start_date => l_add_start_date,

Line 3162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': DONT NEED TO CALCULATE INTEREST');

3158: end if;
3159:
3160: elsif p_based_on_terms = 'CURRENT' and l_installment_number < l_start_installment then
3161:
3162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': DONT NEED TO CALCULATE INTEREST');
3163:
3164: else
3165:
3166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_remaining_balance_actual);

Line 3166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_remaining_balance_actual);

3162: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': DONT NEED TO CALCULATE INTEREST');
3163:
3164: else
3165:
3166: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_remaining_balance_actual);
3167:
3168: if (l_calc_method = 'SIMPLE') then
3169:
3170: -- recalculate periodic rate for each period if day counting methodolgy varies

Line 3202: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_norm_interest = ' || l_norm_interest);

3198: l_hidden_cumul_add_int_int := l_hidden_cumul_add_int_int + l_add_int_interest;
3199: l_hidden_cumul_interest := l_hidden_cumul_interest + l_interest;
3200: l_hidden_cumul_penal_int := l_hidden_cumul_penal_int + l_penal_interest;
3201:
3202: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_norm_interest = ' || l_norm_interest);
3203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_prin_interest = ' || l_add_prin_interest);
3204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_int_interest = ' || l_add_int_interest);
3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);

Line 3203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_prin_interest = ' || l_add_prin_interest);

3199: l_hidden_cumul_interest := l_hidden_cumul_interest + l_interest;
3200: l_hidden_cumul_penal_int := l_hidden_cumul_penal_int + l_penal_interest;
3201:
3202: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_norm_interest = ' || l_norm_interest);
3203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_prin_interest = ' || l_add_prin_interest);
3204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_int_interest = ' || l_add_int_interest);
3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);

Line 3204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_int_interest = ' || l_add_int_interest);

3200: l_hidden_cumul_penal_int := l_hidden_cumul_penal_int + l_penal_interest;
3201:
3202: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_norm_interest = ' || l_norm_interest);
3203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_prin_interest = ' || l_add_prin_interest);
3204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_int_interest = ' || l_add_int_interest);
3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3208:

Line 3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);

3201:
3202: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_norm_interest = ' || l_norm_interest);
3203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_prin_interest = ' || l_add_prin_interest);
3204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_int_interest = ' || l_add_int_interest);
3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3208:
3209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CONTENTS = ' || l_payment_tbl(l_installment_number).CONTENTS);

Line 3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);

3202: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_norm_interest = ' || l_norm_interest);
3203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_prin_interest = ' || l_add_prin_interest);
3204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_int_interest = ' || l_add_int_interest);
3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3208:
3209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CONTENTS = ' || l_payment_tbl(l_installment_number).CONTENTS);
3210:

Line 3207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);

3203: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_prin_interest = ' || l_add_prin_interest);
3204: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_add_int_interest = ' || l_add_int_interest);
3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3208:
3209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CONTENTS = ' || l_payment_tbl(l_installment_number).CONTENTS);
3210:
3211: if (l_payment_tbl(l_installment_number).CONTENTS = 'PRIN') then

Line 3209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CONTENTS = ' || l_payment_tbl(l_installment_number).CONTENTS);

3205: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
3206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest = ' || l_interest);
3208:
3209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CONTENTS = ' || l_payment_tbl(l_installment_number).CONTENTS);
3210:
3211: if (l_payment_tbl(l_installment_number).CONTENTS = 'PRIN') then
3212:
3213: l_periodic_interest := 0;

Line 3223: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');

3219: l_num_prin_payments := get_remain_num_prin_instal(l_payment_tbl, l_installment_number);
3220:
3221: if l_remaining_balance_theory < l_hidden_periodic_prin then
3222: l_periodic_principal := l_remaining_balance_theory;
3223: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3224: else
3225: if (l_num_prin_payments = 1) then
3226: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3227: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);

Line 3226: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');

3222: l_periodic_principal := l_remaining_balance_theory;
3223: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3224: else
3225: if (l_num_prin_payments = 1) then
3226: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3227: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3228: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3229: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
3230: l_periodic_principal := l_unbilled_principal;

Line 3227: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);

3223: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3224: else
3225: if (l_num_prin_payments = 1) then
3226: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3227: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3228: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3229: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
3230: l_periodic_principal := l_unbilled_principal;
3231: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');

Line 3228: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);

3224: else
3225: if (l_num_prin_payments = 1) then
3226: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3227: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3228: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3229: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
3230: l_periodic_principal := l_unbilled_principal;
3231: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
3232: else

Line 3231: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');

3227: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3228: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3229: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
3230: l_periodic_principal := l_unbilled_principal;
3231: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
3232: else
3233: l_periodic_principal := l_remaining_balance_theory;
3234: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3235: end if;

Line 3234: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');

3230: l_periodic_principal := l_unbilled_principal;
3231: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
3232: else
3233: l_periodic_principal := l_remaining_balance_theory;
3234: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3235: end if;
3236: else
3237: l_periodic_principal := l_hidden_periodic_prin;
3238: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_hidden_periodic_prin');

Line 3238: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_hidden_periodic_prin');

3234: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3235: end if;
3236: else
3237: l_periodic_principal := l_hidden_periodic_prin;
3238: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_hidden_periodic_prin');
3239: end if;
3240: end if;
3241:
3242: elsif (l_payment_tbl(l_installment_number).CONTENTS = 'INT') then

Line 3273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');

3269: l_num_prin_payments := get_remain_num_prin_instal(l_payment_tbl, l_installment_number);
3270:
3271: if l_remaining_balance_theory < l_hidden_periodic_prin then
3272: l_periodic_principal := l_remaining_balance_theory;
3273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3274: else
3275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);

Line 3275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');

3271: if l_remaining_balance_theory < l_hidden_periodic_prin then
3272: l_periodic_principal := l_remaining_balance_theory;
3273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3274: else
3275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3278: if (l_num_prin_payments = 1) then
3279: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then

Line 3276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);

3272: l_periodic_principal := l_remaining_balance_theory;
3273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3274: else
3275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3278: if (l_num_prin_payments = 1) then
3279: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
3280: l_periodic_principal := l_unbilled_principal;

Line 3277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);

3273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3274: else
3275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
3276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
3277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3278: if (l_num_prin_payments = 1) then
3279: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
3280: l_periodic_principal := l_unbilled_principal;
3281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');

Line 3281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');

3277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
3278: if (l_num_prin_payments = 1) then
3279: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
3280: l_periodic_principal := l_unbilled_principal;
3281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
3282: else
3283: l_periodic_principal := l_remaining_balance_theory;
3284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3285: end if;

Line 3284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');

3280: l_periodic_principal := l_unbilled_principal;
3281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
3282: else
3283: l_periodic_principal := l_remaining_balance_theory;
3284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3285: end if;
3286: else
3287: l_periodic_principal := l_hidden_periodic_prin;
3288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_hidden_periodic_prin');

Line 3288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_hidden_periodic_prin');

3284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
3285: end if;
3286: else
3287: l_periodic_principal := l_hidden_periodic_prin;
3288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_hidden_periodic_prin');
3289: end if;
3290: end if;
3291:
3292: end if;

Line 3294: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);

3290: end if;
3291:
3292: end if;
3293:
3294: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3296: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3297: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_penal_int = ' || l_hidden_cumul_penal_int);

Line 3295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);

3291:
3292: end if;
3293:
3294: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3296: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3297: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_penal_int = ' || l_hidden_cumul_penal_int);
3299: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin = ' || l_hidden_periodic_prin);

Line 3296: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);

3292: end if;
3293:
3294: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3296: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3297: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_penal_int = ' || l_hidden_cumul_penal_int);
3299: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin = ' || l_hidden_periodic_prin);
3300:

Line 3297: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);

3293:
3294: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3296: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3297: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_penal_int = ' || l_hidden_cumul_penal_int);
3299: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin = ' || l_hidden_periodic_prin);
3300:
3301: -- round int and prin and calc total

Line 3298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_penal_int = ' || l_hidden_cumul_penal_int);

3294: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_norm_int = ' || l_hidden_cumul_norm_int);
3295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3296: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3297: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_penal_int = ' || l_hidden_cumul_penal_int);
3299: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin = ' || l_hidden_periodic_prin);
3300:
3301: -- round int and prin and calc total
3302: l_periodic_principal := round(l_periodic_principal, l_precision);

Line 3299: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin = ' || l_hidden_periodic_prin);

3295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_prin_int = ' || l_hidden_cumul_add_prin_int);
3296: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_add_int_int = ' || l_hidden_cumul_add_int_int);
3297: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_interest = ' || l_hidden_cumul_interest);
3298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_cumul_penal_int = ' || l_hidden_cumul_penal_int);
3299: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_hidden_periodic_prin = ' || l_hidden_periodic_prin);
3300:
3301: -- round int and prin and calc total
3302: l_periodic_principal := round(l_periodic_principal, l_precision);
3303: l_periodic_interest := round(l_periodic_interest, l_precision);

Line 3306: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': principal is ' || l_periodic_principal);

3302: l_periodic_principal := round(l_periodic_principal, l_precision);
3303: l_periodic_interest := round(l_periodic_interest, l_precision);
3304: l_periodic_payment := l_periodic_principal + l_periodic_interest;
3305:
3306: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': principal is ' || l_periodic_principal);
3307: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is ' || l_periodic_interest);
3308: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': total is ' || l_periodic_payment);
3309:
3310: -- calculate balances and total payment

Line 3307: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is ' || l_periodic_interest);

3303: l_periodic_interest := round(l_periodic_interest, l_precision);
3304: l_periodic_payment := l_periodic_principal + l_periodic_interest;
3305:
3306: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': principal is ' || l_periodic_principal);
3307: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is ' || l_periodic_interest);
3308: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': total is ' || l_periodic_payment);
3309:
3310: -- calculate balances and total payment
3311: l_begin_balance := l_remaining_balance_theory;

Line 3308: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': total is ' || l_periodic_payment);

3304: l_periodic_payment := l_periodic_principal + l_periodic_interest;
3305:
3306: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': principal is ' || l_periodic_principal);
3307: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is ' || l_periodic_interest);
3308: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': total is ' || l_periodic_payment);
3309:
3310: -- calculate balances and total payment
3311: l_begin_balance := l_remaining_balance_theory;
3312: l_end_balance := l_remaining_balance_theory - l_periodic_principal;

Line 3352: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);

3348: -- fix for bug 7207609
3349: open c_fees(l_loan_id, l_installment_number);
3350: fetch c_fees into l_fee_amount;
3351: close c_fees;
3352: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);
3353: /*
3354: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
3355: ,p_installment => l_installment_number
3356: ,p_fee_basis_tbl => l_fee_basis_tbl

Line 3362: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);

3358: ,x_fees_tbl => l_orig_fees_tbl
3359: ,x_return_status => l_return_status
3360: ,x_msg_count => l_msg_count
3361: ,x_msg_data => l_msg_data);
3362: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);
3363: */
3364: -- l_other_amount := lns_fee_engine.calculateFees(p_amortization_rec => l_amortization_rec
3365: -- ,p_fee_structures => l_memo_fee_structures);
3366: end if;

Line 3378: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);

3374: ,x_fees_tbl => l_memo_fees_tbl
3375: ,x_return_status => l_return_status
3376: ,x_msg_count => l_msg_count
3377: ,x_msg_data => l_msg_data);
3378: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);
3379:
3380: -- l_other_amount := lns_fee_engine.calculateFees(p_amortization_rec => l_amortization_rec
3381: -- ,p_fee_structures => l_memo_fee_structures);
3382: end if;

Line 3394: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);

3390: ,x_fees_tbl => l_fees_tbl
3391: ,x_return_status => l_return_status
3392: ,x_msg_count => l_msg_count
3393: ,x_msg_data => l_msg_data);
3394: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);
3395:
3396: -- l_fee_amount := lns_fee_engine.calculateFees(p_amortization_rec => l_amortization_rec
3397: -- ,p_fee_structures => l_fee_structures);
3398: end if;

Line 3402: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);

3398: end if;
3399: /*
3400: for i in 1..l_orig_fees_tbl.count loop
3401: l_fee_amount := l_fee_amount + l_orig_fees_tbl(i).FEE_AMOUNT;
3402: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);
3403: end loop;
3404: */
3405: for k in 1..l_fees_tbl.count loop
3406: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;

Line 3407: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);

3403: end loop;
3404: */
3405: for k in 1..l_fees_tbl.count loop
3406: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;
3407: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);
3408: end loop;
3409:
3410: for j in 1..l_memo_fees_tbl.count loop
3411: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;

Line 3412: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);

3408: end loop;
3409:
3410: for j in 1..l_memo_fees_tbl.count loop
3411: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;
3412: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);
3413: end loop;
3414:
3415: l_total := l_fee_amount + l_periodic_principal + l_periodic_interest + l_other_amount;
3416: l_amortization_rec.total := l_total;

Line 3436: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);

3432:
3433: -- add the record to the amortization table
3434: l_amortization_tbl(i) := l_amortization_rec;
3435:
3436: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
3437: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);

Line 3437: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);

3433: -- add the record to the amortization table
3434: l_amortization_tbl(i) := l_amortization_rec;
3435:
3436: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
3437: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);

Line 3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);

3434: l_amortization_tbl(i) := l_amortization_rec;
3435:
3436: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
3437: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

Line 3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);

3435:
3436: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
3437: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

Line 3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);

3436: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
3437: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

Line 3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);

3437: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

Line 3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

3438: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

Line 3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

3439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
3447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);

Line 3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

3440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
3447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
3448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );

Line 3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

3441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
3447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
3448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
3449:

Line 3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

3442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
3447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
3448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
3449:
3450: -- adjust new loan amount to reflect less periodic principal paid

Line 3447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);

3443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
3447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
3448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
3449:
3450: -- adjust new loan amount to reflect less periodic principal paid
3451: -- theoretically without over/underpayments l_loan_amount should = l_remaining_balance

Line 3448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );

3444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
3445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
3446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
3447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
3448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
3449:
3450: -- adjust new loan amount to reflect less periodic principal paid
3451: -- theoretically without over/underpayments l_loan_amount should = l_remaining_balance
3452: -- if they diverge then we will calculate interest based from l_remaining_balance

Line 3474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);

3470: end loop;
3471:
3472: --printAmortizationTable(p_amort_tbl => l_amortization_tbl);
3473:
3474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
3475: x_loan_amort_tbl := l_amortization_tbl;
3476:
3477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
3478:

Line 3477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

3473:
3474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
3475: x_loan_amort_tbl := l_amortization_tbl;
3476:
3477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
3478:
3479: Exception
3480: WHEN FND_API.G_EXC_ERROR THEN
3481: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

Line 3481: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

3477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
3478:
3479: Exception
3480: WHEN FND_API.G_EXC_ERROR THEN
3481: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
3482:
3483: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3484: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
3485:

Line 3484: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

3480: WHEN FND_API.G_EXC_ERROR THEN
3481: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
3482:
3483: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3484: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
3485:
3486: WHEN OTHERS THEN
3487: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
3488:

Line 3487: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

3483: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3484: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
3485:
3486: WHEN OTHERS THEN
3487: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
3488:
3489: end amortizeSIPLoan;
3490:
3491:

Line 3721: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

3717: l_rate_to_calculate := 0;
3718: l_billing := false; -- switch to notify if billing is calling API
3719: l_api_name := 'amortizeEPLoan MAIN';
3720:
3721: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
3722: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
3723: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
3724:
3725: l_amortized_term := p_loan_details.amortized_term;

Line 3722: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);

3718: l_billing := false; -- switch to notify if billing is calling API
3719: l_api_name := 'amortizeEPLoan MAIN';
3720:
3721: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
3722: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
3723: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
3724:
3725: l_amortized_term := p_loan_details.amortized_term;
3726: l_amortized_term_period := p_loan_details.amortized_term_period;

Line 3723: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);

3719: l_api_name := 'amortizeEPLoan MAIN';
3720:
3721: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
3722: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
3723: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
3724:
3725: l_amortized_term := p_loan_details.amortized_term;
3726: l_amortized_term_period := p_loan_details.amortized_term_period;
3727: l_amortization_frequency := p_loan_details.amortization_frequency;

Line 3756: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);

3752: l_orig_num_install := p_loan_details.ORIG_NUMBER_INSTALLMENTS;
3753:
3754: -- get the interest rate schedule
3755: l_rate_tbl := p_rate_schedule;
3756: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
3757:
3758: -- get payment schedule
3759: -- this will return the acutal dates that payments will be due on
3760: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

Line 3760: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

3756: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
3757:
3758: -- get payment schedule
3759: -- this will return the acutal dates that payments will be due on
3760: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');
3761: l_payment_tbl := LNS_FIN_UTILS.buildPaymentSchedule(p_loan_start_date => l_loan_start_date
3762: ,p_loan_maturity_date => l_maturity_date
3763: ,p_first_pay_date => l_first_payment_date
3764: ,p_num_intervals => l_intervals

Line 3769: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);

3765: ,p_interval_type => l_payment_frequency
3766: ,p_pay_in_arrears => l_pay_in_arrears);
3767:
3768: l_num_pay_dates := l_payment_tbl.count;
3769: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);
3770:
3771: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');
3772: l_conv_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3773: ,p_fee_category => 'EVENT'

Line 3771: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');

3767:
3768: l_num_pay_dates := l_payment_tbl.count;
3769: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);
3770:
3771: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');
3772: l_conv_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3773: ,p_fee_category => 'EVENT'
3774: ,p_fee_type => 'EVENT_CONVERSION'
3775: ,p_installment => null

Line 3777: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);

3773: ,p_fee_category => 'EVENT'
3774: ,p_fee_type => 'EVENT_CONVERSION'
3775: ,p_installment => null
3776: ,p_fee_id => null);
3777: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);
3778:
3779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
3780: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3781: ,p_fee_category => 'EVENT'

Line 3779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');

3775: ,p_installment => null
3776: ,p_fee_id => null);
3777: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);
3778:
3779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
3780: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3781: ,p_fee_category => 'EVENT'
3782: ,p_fee_type => 'EVENT_ORIGINATION'
3783: ,p_installment => null

Line 3785: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);

3781: ,p_fee_category => 'EVENT'
3782: ,p_fee_type => 'EVENT_ORIGINATION'
3783: ,p_installment => null
3784: ,p_fee_id => null);
3785: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
3786:
3787: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');
3788: l_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3789: ,p_fee_category => 'RECUR'

Line 3787: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');

3783: ,p_installment => null
3784: ,p_fee_id => null);
3785: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
3786:
3787: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');
3788: l_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3789: ,p_fee_category => 'RECUR'
3790: ,p_fee_type => null
3791: ,p_installment => null

Line 3793: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);

3789: ,p_fee_category => 'RECUR'
3790: ,p_fee_type => null
3791: ,p_installment => null
3792: ,p_fee_id => null);
3793: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
3794:
3795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
3796: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3797: ,p_fee_category => 'MEMO'

Line 3795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');

3791: ,p_installment => null
3792: ,p_fee_id => null);
3793: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
3794:
3795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
3796: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
3797: ,p_fee_category => 'MEMO'
3798: ,p_fee_type => null
3799: ,p_installment => null

Line 3801: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);

3797: ,p_fee_category => 'MEMO'
3798: ,p_fee_type => null
3799: ,p_installment => null
3800: ,p_fee_id => null);
3801: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);
3802:
3803: -- 2-24-2005 raverma add 0 installment to amortization schedule
3804: if l_orig_fee_structures.count > 0 or l_conv_fee_structures.count > 0 then
3805:

Line 3900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);

3896:
3897: end if;
3898:
3899: l_remaining_balance_actual := l_original_loan_amount;
3900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);
3901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);
3902:
3903: l_begin := 1;
3904:

Line 3901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);

3897: end if;
3898:
3899: l_remaining_balance_actual := l_original_loan_amount;
3900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);
3901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);
3902:
3903: l_begin := 1;
3904:
3905: if p_based_on_terms = 'CURRENT' and l_last_installment_billed > 0 then

Line 3910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);

3906:
3907: open c_first_billed_instal(l_loan_id);
3908: fetch c_first_billed_instal into l_first_installment_billed;
3909: close c_first_billed_instal;
3910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);
3911:
3912: if l_first_installment_billed < l_last_installment_billed then
3913: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Querying INSTALLMENT ' || l_last_installment_billed || '-----');
3914: open c_get_last_payment(l_loan_id, l_last_installment_billed);

Line 3913: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Querying INSTALLMENT ' || l_last_installment_billed || '-----');

3909: close c_first_billed_instal;
3910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);
3911:
3912: if l_first_installment_billed < l_last_installment_billed then
3913: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Querying INSTALLMENT ' || l_last_installment_billed || '-----');
3914: open c_get_last_payment(l_loan_id, l_last_installment_billed);
3915: fetch c_get_last_payment into l_periodic_principal;
3916: close c_get_last_payment;
3917:

Line 3921: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Last periodic principal = ' || l_periodic_principal);

3917:
3918: if l_periodic_principal is null then
3919: l_periodic_principal := 0;
3920: end if;
3921: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Last periodic principal = ' || l_periodic_principal);
3922:
3923: l_prev_periodic_principal := l_periodic_principal;
3924: l_begin := l_last_installment_billed + 1;
3925:

Line 3927: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

3923: l_prev_periodic_principal := l_periodic_principal;
3924: l_begin := l_last_installment_billed + 1;
3925:
3926:
3927: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
3928: l_rate_details := getRateDetails(p_installment => l_last_installment_billed
3929: ,p_rate_tbl => l_rate_tbl);
3930:
3931: if p_loan_details.rate_type = 'FIXED' OR (p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'N')

Line 3949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);

3945: l_rate_details.ANNUAL_RATE := lns_fin_utils.getRateForDate(p_loan_details.OPEN_INDEX_RATE_ID
3946: ,l_payment_tbl(l_last_installment_billed).period_begin_date);
3947:
3948: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
3949: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);
3950:
3951: -- adjust the rate as per rate rules
3952: l_previous_annualized := calculateInterestRate(p_initial_rate => p_loan_details.INITIAL_INTEREST_RATE
3953: ,p_rate_to_compare => l_raw_rate

Line 3966: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_begin = ' || l_begin);

3962: end if;
3963:
3964: end if;
3965:
3966: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_begin = ' || l_begin);
3967:
3968: -- loop to build the amortization schedule
3969: for l_installment_number in l_begin..l_payment_number
3970: loop

Line 3972: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');

3968: -- loop to build the amortization schedule
3969: for l_installment_number in l_begin..l_payment_number
3970: loop
3971:
3972: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
3973: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');
3974:
3975: i := i + 1;
3976: l_periodic_interest := 0;

Line 3973: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');

3969: for l_installment_number in l_begin..l_payment_number
3970: loop
3971:
3972: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
3973: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');
3974:
3975: i := i + 1;
3976: l_periodic_interest := 0;
3977: -- l_periodic_principal := 0;

Line 3988: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': BASED ON CURRENT TERMS FROM INSTALLMENT: ' || l_installment_number);

3984: -- this is the main check for calculating interest on actual balance not theoretical
3985: -- intercept and overwrite the remaining balance theory with remain balance actual
3986: if (l_last_installment_billed >= 0) and (l_last_installment_billed + 1 = l_installment_number)
3987: and p_based_on_terms = 'CURRENT' then
3988: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': BASED ON CURRENT TERMS FROM INSTALLMENT: ' || l_installment_number);
3989:
3990: l_principal_cumulative := 0;
3991: l_interest_cumulative := 0;
3992: l_fees_cumulative := 0;

Line 4015: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);

4011: l_remaining_balance_theory := 0;
4012: end if;
4013: end if;
4014:
4015: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
4016: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
4017:
4018: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
4019: l_rate_details := getRateDetails(p_installment => l_installment_number

Line 4016: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);

4012: end if;
4013: end if;
4014:
4015: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
4016: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
4017:
4018: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
4019: l_rate_details := getRateDetails(p_installment => l_installment_number
4020: ,p_rate_tbl => l_rate_tbl);

Line 4018: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

4014:
4015: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
4016: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
4017:
4018: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
4019: l_rate_details := getRateDetails(p_installment => l_installment_number
4020: ,p_rate_tbl => l_rate_tbl);
4021:
4022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);

Line 4022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);

4018: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
4019: l_rate_details := getRateDetails(p_installment => l_installment_number
4020: ,p_rate_tbl => l_rate_tbl);
4021:
4022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
4023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
4024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
4025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
4026:

Line 4023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);

4019: l_rate_details := getRateDetails(p_installment => l_installment_number
4020: ,p_rate_tbl => l_rate_tbl);
4021:
4022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
4023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
4024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
4025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
4026:
4027: l_current_rate_id := l_rate_details.rate_id;

Line 4024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);

4020: ,p_rate_tbl => l_rate_tbl);
4021:
4022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
4023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
4024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
4025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
4026:
4027: l_current_rate_id := l_rate_details.rate_id;
4028: l_annualized_rate := l_rate_details.annual_rate;

Line 4025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);

4021:
4022: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
4023: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
4024: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
4025: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
4026:
4027: l_current_rate_id := l_rate_details.rate_id;
4028: l_annualized_rate := l_rate_details.annual_rate;
4029: l_interest_only_flag := l_rate_details.interest_only_flag;

Line 4034: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');

4030:
4031: -- add in support here for floating rate loans
4032: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
4033:
4034: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
4035: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);

Line 4035: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);

4031: -- add in support here for floating rate loans
4032: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
4033:
4034: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
4035: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);

Line 4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

4032: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
4033:
4034: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
4035: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

Line 4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);

4033:
4034: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
4035: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);

Line 4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);

4034: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
4035: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);

Line 4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);

4035: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);

Line 4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

4036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
4044: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);

Line 4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);

4037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
4044: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
4045: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);

Line 4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);

4038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
4044: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
4045: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
4046:

Line 4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);

4039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
4044: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
4045: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
4046:
4047: -- if float and no rate then error;

Line 4044: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);

4040: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
4044: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
4045: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
4046:
4047: -- if float and no rate then error;
4048: -- we only need to get the new rate if

Line 4045: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);

4041: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
4042: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
4043: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
4044: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
4045: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
4046:
4047: -- if float and no rate then error;
4048: -- we only need to get the new rate if
4049: -- 1. no rate has ever been calculated (i.e. 1st installment)

Line 4055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');

4051: -- 3. make sure to add spread and abide by rate rules
4052: if l_payment_tbl(l_installment_number).period_begin_date < p_loan_details.NEXT_RATE_CHANGE_DATE and l_installment_number > 1 then
4053:
4054: -- no need to recalculate interest, use current interest rate found on last installment
4055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
4056:
4057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4058: l_annualized_rate := p_loan_details.LAST_INTEREST_RATE + l_rate_details.spread;
4059:

Line 4057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

4053:
4054: -- no need to recalculate interest, use current interest rate found on last installment
4055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
4056:
4057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
4058: l_annualized_rate := p_loan_details.LAST_INTEREST_RATE + l_rate_details.spread;
4059:
4060: --elsif l_installment_number = 1 OR l_payment_tbl(l_installment_number).period_begin_date >= p_loan_details.NEXT_RATE_CHANGE_DATE then
4061: else

Line 4065: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');

4061: else
4062:
4063: if p_based_on_terms = 'CURRENT' then
4064:
4065: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');
4066:
4067: l_rate_details.ANNUAL_RATE := lns_fin_utils.getRateForDate(p_loan_details.OPEN_INDEX_RATE_ID
4068: ,l_payment_tbl(l_installment_number).period_begin_date);
4069:

Line 4074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);

4070: -- raise error as rates does not exist
4071: if l_rate_details.ANNUAL_RATE is null then
4072: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
4073: FND_MSG_PUB.ADD;
4074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);
4075: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4076: RAISE FND_API.G_EXC_ERROR;
4077: end if;
4078:

Line 4075: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);

4071: if l_rate_details.ANNUAL_RATE is null then
4072: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
4073: FND_MSG_PUB.ADD;
4074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);
4075: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
4076: RAISE FND_API.G_EXC_ERROR;
4077: end if;
4078:
4079: -- add the spread into the rate

Line 4081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);

4077: end if;
4078:
4079: -- add the spread into the rate
4080: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
4081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);
4082:
4083: -- adjust the rate as per rate rules
4084: l_annualized_rate := calculateInterestRate(p_initial_rate => p_loan_details.INITIAL_INTEREST_RATE
4085: ,p_rate_to_compare => l_raw_rate

Line 4096: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ASSIGNING PROJECTED RATE ');

4092: ,p_installment_number => l_installment_number);
4093:
4094: else -- not billing
4095:
4096: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ASSIGNING PROJECTED RATE ');
4097: l_annualized_rate := p_loan_details.TERM_PROJECTED_INTEREST_RATE;
4098:
4099: end if; -- billing
4100:

Line 4101: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': converting rate for floating loan ');

4097: l_annualized_rate := p_loan_details.TERM_PROJECTED_INTEREST_RATE;
4098:
4099: end if; -- billing
4100:
4101: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': converting rate for floating loan ');
4102: -- recalculate calculatePayment amount
4103: -- payment is based on original amortized portion of loan
4104: -- make sure to pass correct rate id back to billing
4105: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': assigning RATE_ID ' || l_rate_details.rate_id);

Line 4105: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': assigning RATE_ID ' || l_rate_details.rate_id);

4101: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': converting rate for floating loan ');
4102: -- recalculate calculatePayment amount
4103: -- payment is based on original amortized portion of loan
4104: -- make sure to pass correct rate id back to billing
4105: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': assigning RATE_ID ' || l_rate_details.rate_id);
4106: l_current_rate_id := l_rate_details.rate_id;
4107:
4108: end if; -- recalculate rate
4109:

Line 4112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);

4108: end if; -- recalculate rate
4109:
4110: end if; -- rate_type and / or float
4111:
4112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
4113: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);

Line 4113: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);

4109:
4110: end if; -- rate_type and / or float
4111:
4112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
4113: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);

Line 4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);

4110: end if; -- rate_type and / or float
4111:
4112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
4113: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
4118: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_prev_periodic_principal ' || l_prev_periodic_principal);

Line 4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);

4111:
4112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
4113: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
4118: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_prev_periodic_principal ' || l_prev_periodic_principal);
4119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);

Line 4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);

4112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
4113: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
4118: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_prev_periodic_principal ' || l_prev_periodic_principal);
4119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
4120:

Line 4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);

4113: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
4118: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_prev_periodic_principal ' || l_prev_periodic_principal);
4119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
4120:
4121: -- conditions to recalculate principal payment

Line 4118: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_prev_periodic_principal ' || l_prev_periodic_principal);

4114: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
4118: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_prev_periodic_principal ' || l_prev_periodic_principal);
4119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
4120:
4121: -- conditions to recalculate principal payment
4122: -- 1. 1-st installment

Line 4119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);

4115: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
4116: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
4117: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
4118: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_prev_periodic_principal ' || l_prev_periodic_principal);
4119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
4120:
4121: -- conditions to recalculate principal payment
4122: -- 1. 1-st installment
4123: -- 2. reamortization from installment = current installment

Line 4133: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- RE-calculating periodic principal payment');

4129: (l_extend_from_installment is not null and (l_extend_from_installment + 1 >= l_installment_number)) OR
4130: (l_previous_interest_only_flag = 'Y' and l_interest_only_flag = 'N' and l_prev_periodic_principal = 0))
4131: then
4132:
4133: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- RE-calculating periodic principal payment');
4134:
4135: -- fix for bug 6599682: EQUALLY SPREAD PRINCIPAL FROM IO PERIODS FOR EPRP LOANS
4136: l_non_ro_intervals := get_num_non_ro_instal(l_rate_tbl, l_installment_number, l_orig_num_install) + l_intervals_diff;
4137:

Line 4138: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_amortization_intervals=' || l_amortization_intervals);

4134:
4135: -- fix for bug 6599682: EQUALLY SPREAD PRINCIPAL FROM IO PERIODS FOR EPRP LOANS
4136: l_non_ro_intervals := get_num_non_ro_instal(l_rate_tbl, l_installment_number, l_orig_num_install) + l_intervals_diff;
4137:
4138: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_amortization_intervals=' || l_amortization_intervals);
4139: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_non_ro_intervals=' || l_non_ro_intervals);
4140:
4141: if l_installment_number = 1 and l_reamortize_from_installment is null then
4142: l_remaining_balance := l_original_loan_amount;

Line 4139: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_non_ro_intervals=' || l_non_ro_intervals);

4135: -- fix for bug 6599682: EQUALLY SPREAD PRINCIPAL FROM IO PERIODS FOR EPRP LOANS
4136: l_non_ro_intervals := get_num_non_ro_instal(l_rate_tbl, l_installment_number, l_orig_num_install) + l_intervals_diff;
4137:
4138: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_amortization_intervals=' || l_amortization_intervals);
4139: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ': l_non_ro_intervals=' || l_non_ro_intervals);
4140:
4141: if l_installment_number = 1 and l_reamortize_from_installment is null then
4142: l_remaining_balance := l_original_loan_amount;
4143: else

Line 4154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': NEW periodic principal = ' || l_periodic_principal);

4150: ,p_ending_balance=> l_balloon_amount
4151: ,p_pay_in_arrears=> l_pay_in_arrears);
4152: l_prev_periodic_principal := l_periodic_principal;
4153:
4154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': NEW periodic principal = ' || l_periodic_principal);
4155:
4156: else
4157: l_periodic_principal := l_prev_periodic_principal;
4158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INHERIT periodic principal is ' || l_periodic_principal);

Line 4158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INHERIT periodic principal is ' || l_periodic_principal);

4154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': NEW periodic principal = ' || l_periodic_principal);
4155:
4156: else
4157: l_periodic_principal := l_prev_periodic_principal;
4158: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INHERIT periodic principal is ' || l_periodic_principal);
4159: end if;
4160:
4161: l_previous_interest_only_flag := l_interest_only_flag;
4162: l_previous_rate_id := l_current_rate_id;

Line 4179: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');

4175: l_last_installment_billed >= 0 and
4176: l_last_installment_billed + 1 = l_installment_number
4177: then
4178:
4179: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');
4180: l_norm_interest := LNS_FINANCIALS.CALC_NORM_INTEREST(p_loan_id => l_loan_id,
4181: p_calc_method => l_calc_method,
4182: p_period_start_date => l_payment_tbl(l_installment_number).period_begin_date,
4183: p_period_end_date => l_payment_tbl(l_installment_number).period_end_date,

Line 4211: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');

4207: else
4208: l_prev_grace_end_date := l_payment_tbl(l_installment_number).period_begin_date;
4209: end if;
4210:
4211: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');
4212: -- calculate additional interest on unpaid principal
4213: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => l_loan_id,
4214: p_calc_method => l_calc_method,
4215: p_period_start_date => l_add_start_date,

Line 4232: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');

4228: l_add_prin_interest := round(l_add_prin_interest, l_precision);
4229:
4230: if (l_calc_method = 'COMPOUND') then
4231:
4232: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');
4233: -- calculate additional interest on unpaid interest
4234: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => l_loan_id,
4235: p_calc_method => l_calc_method,
4236: p_period_start_date => l_add_start_date,

Line 4257: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_remaining_balance_actual);

4253: end if;
4254:
4255: else
4256:
4257: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_remaining_balance_actual);
4258:
4259: if (l_calc_method = 'SIMPLE') then
4260:
4261: -- recalculate periodic rate for each period if day counting methodolgy varies

Line 4288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);

4284:
4285: l_penal_interest := round(l_penal_prin_interest + l_penal_int_interest, l_precision);
4286: l_periodic_interest := round(l_norm_interest + l_add_prin_interest + l_add_int_interest + l_penal_interest, l_precision);
4287:
4288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);
4289: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
4290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
4291: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
4292: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);

Line 4289: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);

4285: l_penal_interest := round(l_penal_prin_interest + l_penal_int_interest, l_precision);
4286: l_periodic_interest := round(l_norm_interest + l_add_prin_interest + l_add_int_interest + l_penal_interest, l_precision);
4287:
4288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);
4289: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
4290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
4291: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
4292: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
4293:

Line 4290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);

4286: l_periodic_interest := round(l_norm_interest + l_add_prin_interest + l_add_int_interest + l_penal_interest, l_precision);
4287:
4288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);
4289: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
4290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
4291: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
4292: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
4293:
4294: if l_interest_only_flag <> 'Y' or l_intervals_remaining = 1 then

Line 4291: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);

4287:
4288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);
4289: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
4290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
4291: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
4292: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
4293:
4294: if l_interest_only_flag <> 'Y' or l_intervals_remaining = 1 then
4295:

Line 4292: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);

4288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);
4289: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
4290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
4291: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
4292: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
4293:
4294: if l_interest_only_flag <> 'Y' or l_intervals_remaining = 1 then
4295:
4296: if l_remaining_balance_theory < l_periodic_principal or l_intervals_remaining = 1 then

Line 4298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');

4294: if l_interest_only_flag <> 'Y' or l_intervals_remaining = 1 then
4295:
4296: if l_remaining_balance_theory < l_periodic_principal or l_intervals_remaining = 1 then
4297: l_periodic_principal := l_remaining_balance_theory;
4298: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
4299: end if;
4300:
4301: else
4302: -- we are in an interest only period

Line 4310: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory = ' || l_remaining_balance_theory);

4306:
4307: l_periodic_principal := round(l_periodic_principal, l_precision);
4308: l_periodic_payment := l_periodic_principal + l_periodic_interest;
4309:
4310: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory = ' || l_remaining_balance_theory);
4311: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);
4312:
4313: -- calculate balances and total payment
4314: l_begin_balance := l_remaining_balance_theory;

Line 4311: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);

4307: l_periodic_principal := round(l_periodic_principal, l_precision);
4308: l_periodic_payment := l_periodic_principal + l_periodic_interest;
4309:
4310: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory = ' || l_remaining_balance_theory);
4311: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);
4312:
4313: -- calculate balances and total payment
4314: l_begin_balance := l_remaining_balance_theory;
4315: l_end_balance := l_remaining_balance_theory - l_periodic_principal;

Line 4355: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);

4351: -- fix for bug 7207609
4352: open c_fees(l_loan_id, l_installment_number);
4353: fetch c_fees into l_fee_amount;
4354: close c_fees;
4355: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);
4356: /*
4357: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
4358: ,p_installment => l_installment_number
4359: ,p_fee_basis_tbl => l_fee_basis_tbl

Line 4365: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);

4361: ,x_fees_tbl => l_orig_fees_tbl
4362: ,x_return_status => l_return_status
4363: ,x_msg_count => l_msg_count
4364: ,x_msg_data => l_msg_data);
4365: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);
4366: */
4367: -- l_other_amount := lns_fee_engine.calculateFees(p_amortization_rec => l_amortization_rec
4368: -- ,p_fee_structures => l_memo_fee_structures);
4369: end if;

Line 4381: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);

4377: ,x_fees_tbl => l_memo_fees_tbl
4378: ,x_return_status => l_return_status
4379: ,x_msg_count => l_msg_count
4380: ,x_msg_data => l_msg_data);
4381: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);
4382:
4383: -- l_other_amount := lns_fee_engine.calculateFees(p_amortization_rec => l_amortization_rec
4384: -- ,p_fee_structures => l_memo_fee_structures);
4385: end if;

Line 4397: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);

4393: ,x_fees_tbl => l_fees_tbl
4394: ,x_return_status => l_return_status
4395: ,x_msg_count => l_msg_count
4396: ,x_msg_data => l_msg_data);
4397: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);
4398:
4399: -- l_fee_amount := lns_fee_engine.calculateFees(p_amortization_rec => l_amortization_rec
4400: -- ,p_fee_structures => l_fee_structures);
4401: end if;

Line 4405: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);

4401: end if;
4402: /*
4403: for i in 1..l_orig_fees_tbl.count loop
4404: l_fee_amount := l_fee_amount + l_orig_fees_tbl(i).FEE_AMOUNT;
4405: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);
4406: end loop;
4407: */
4408: for k in 1..l_fees_tbl.count loop
4409: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;

Line 4410: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);

4406: end loop;
4407: */
4408: for k in 1..l_fees_tbl.count loop
4409: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;
4410: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);
4411: end loop;
4412:
4413: for j in 1..l_memo_fees_tbl.count loop
4414: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;

Line 4415: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);

4411: end loop;
4412:
4413: for j in 1..l_memo_fees_tbl.count loop
4414: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;
4415: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);
4416: end loop;
4417:
4418: l_total := l_fee_amount + l_periodic_principal + l_periodic_interest + l_other_amount;
4419: l_amortization_rec.total := l_total;

Line 4439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);

4435:
4436: -- add the record to the amortization table
4437: l_amortization_tbl(i) := l_amortization_rec;
4438:
4439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
4440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);

Line 4440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);

4436: -- add the record to the amortization table
4437: l_amortization_tbl(i) := l_amortization_rec;
4438:
4439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
4440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);

Line 4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);

4437: l_amortization_tbl(i) := l_amortization_rec;
4438:
4439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
4440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

Line 4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);

4438:
4439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
4440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

Line 4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);

4439: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
4440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

Line 4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);

4440: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

Line 4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

4441: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

Line 4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

4442: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
4450: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);

Line 4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

4443: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
4450: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
4451: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );

Line 4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

4444: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
4450: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
4451: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
4452:

Line 4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

4445: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
4450: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
4451: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
4452:
4453: -- adjust new loan amount to reflect less periodic principal paid

Line 4450: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);

4446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
4450: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
4451: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
4452:
4453: -- adjust new loan amount to reflect less periodic principal paid
4454: -- theoretically without over/underpayments l_loan_amount should = l_remaining_balance

Line 4451: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );

4447: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
4448: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
4449: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
4450: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
4451: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
4452:
4453: -- adjust new loan amount to reflect less periodic principal paid
4454: -- theoretically without over/underpayments l_loan_amount should = l_remaining_balance
4455: -- if they diverge then we will calculate interest based from l_remaining_balance

Line 4477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);

4473: end loop;
4474:
4475: --printAmortizationTable(p_amort_tbl => l_amortization_tbl);
4476:
4477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
4478: x_loan_amort_tbl := l_amortization_tbl;
4479:
4480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
4481:

Line 4480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

4476:
4477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
4478: x_loan_amort_tbl := l_amortization_tbl;
4479:
4480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
4481:
4482: Exception
4483: WHEN FND_API.G_EXC_ERROR THEN
4484: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

Line 4484: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

4480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
4481:
4482: Exception
4483: WHEN FND_API.G_EXC_ERROR THEN
4484: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
4485:
4486: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4487: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
4488:

Line 4487: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

4483: WHEN FND_API.G_EXC_ERROR THEN
4484: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
4485:
4486: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4487: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
4488:
4489: WHEN OTHERS THEN
4490: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
4491:

Line 4490: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

4486: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4487: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
4488:
4489: WHEN OTHERS THEN
4490: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
4491:
4492: end amortizeEPLoan;
4493:
4494:

Line 4729: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

4725: l_rate_to_calculate := 0;
4726: l_billing := false; -- switch to notify if billing is calling API
4727: l_api_name := 'amortizeLoan MAIN';
4728:
4729: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
4730: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
4731: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
4732:
4733: l_amortized_amount := p_loan_details.amortized_amount;

Line 4730: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);

4726: l_billing := false; -- switch to notify if billing is calling API
4727: l_api_name := 'amortizeLoan MAIN';
4728:
4729: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
4730: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
4731: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
4732:
4733: l_amortized_amount := p_loan_details.amortized_amount;
4734: l_amortized_term := p_loan_details.amortized_term;

Line 4731: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);

4727: l_api_name := 'amortizeLoan MAIN';
4728:
4729: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
4730: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - based on TERMS====> ' || p_based_on_terms);
4731: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_installment_number = ' || p_installment_number);
4732:
4733: l_amortized_amount := p_loan_details.amortized_amount;
4734: l_amortized_term := p_loan_details.amortized_term;
4735: l_amortized_term_period := p_loan_details.amortized_term_period;

Line 4772: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);

4768: l_extend_from_installment := p_loan_details.EXTEND_FROM_INSTALLMENT;
4769:
4770: -- get the interest rate schedule
4771: l_rate_tbl := p_rate_schedule;
4772: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
4773:
4774: -- get payment schedule
4775: -- this will return the acutal dates that payments will be due on
4776: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

Line 4776: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

4772: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
4773:
4774: -- get payment schedule
4775: -- this will return the acutal dates that payments will be due on
4776: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');
4777: l_payment_tbl := LNS_FIN_UTILS.buildPaymentSchedule(p_loan_start_date => l_loan_start_date
4778: ,p_loan_maturity_date => l_maturity_date
4779: ,p_first_pay_date => l_first_payment_date
4780: ,p_num_intervals => l_intervals

Line 4785: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);

4781: ,p_interval_type => l_payment_frequency
4782: ,p_pay_in_arrears => l_pay_in_arrears);
4783:
4784: l_num_pay_dates := l_payment_tbl.count;
4785: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);
4786:
4787: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');
4788: l_conv_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4789: ,p_fee_category => 'EVENT'

Line 4787: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');

4783:
4784: l_num_pay_dates := l_payment_tbl.count;
4785: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);
4786:
4787: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting conv fee structures');
4788: l_conv_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4789: ,p_fee_category => 'EVENT'
4790: ,p_fee_type => 'EVENT_CONVERSION'
4791: ,p_installment => null

Line 4793: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);

4789: ,p_fee_category => 'EVENT'
4790: ,p_fee_type => 'EVENT_CONVERSION'
4791: ,p_installment => null
4792: ,p_fee_id => null);
4793: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);
4794:
4795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
4796: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4797: ,p_fee_category => 'EVENT'

Line 4795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');

4791: ,p_installment => null
4792: ,p_fee_id => null);
4793: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': conv structures count is ' || l_conv_fee_structures.count);
4794:
4795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
4796: l_orig_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4797: ,p_fee_category => 'EVENT'
4798: ,p_fee_type => 'EVENT_ORIGINATION'
4799: ,p_installment => null

Line 4801: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);

4797: ,p_fee_category => 'EVENT'
4798: ,p_fee_type => 'EVENT_ORIGINATION'
4799: ,p_installment => null
4800: ,p_fee_id => null);
4801: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
4802:
4803: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');
4804: l_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4805: ,p_fee_category => 'RECUR'

Line 4803: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');

4799: ,p_installment => null
4800: ,p_fee_id => null);
4801: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
4802:
4803: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting recurring fee structures');
4804: l_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4805: ,p_fee_category => 'RECUR'
4806: ,p_fee_type => null
4807: ,p_installment => null

Line 4809: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);

4805: ,p_fee_category => 'RECUR'
4806: ,p_fee_type => null
4807: ,p_installment => null
4808: ,p_fee_id => null);
4809: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
4810:
4811: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
4812: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4813: ,p_fee_category => 'MEMO'

Line 4811: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');

4807: ,p_installment => null
4808: ,p_fee_id => null);
4809: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': fee structures count is ' || l_fee_structures.count);
4810:
4811: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting memo fee structures');
4812: l_memo_fee_structures := lns_fee_engine.getFeeStructures(p_loan_id => l_loan_id
4813: ,p_fee_category => 'MEMO'
4814: ,p_fee_type => null
4815: ,p_installment => null

Line 4817: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);

4813: ,p_fee_category => 'MEMO'
4814: ,p_fee_type => null
4815: ,p_installment => null
4816: ,p_fee_id => null);
4817: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': memo fee structures count is ' || l_memo_fee_structures.count);
4818:
4819: -- 2-24-2005 raverma add 0 installment to amortization schedule
4820: if l_orig_fee_structures.count > 0 or l_conv_fee_structures.count > 0 then
4821:

Line 4917: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);

4913:
4914: end if;
4915:
4916: l_remaining_balance_actual := l_original_loan_amount;
4917: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);
4918: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);
4919:
4920: l_begin := 1;
4921:

Line 4918: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);

4914: end if;
4915:
4916: l_remaining_balance_actual := l_original_loan_amount;
4917: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_payment_number = ' || l_payment_number);
4918: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed = ' || l_last_installment_billed);
4919:
4920: l_begin := 1;
4921:
4922: if p_based_on_terms = 'CURRENT' and l_last_installment_billed > 0 then

Line 4927: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);

4923:
4924: open c_first_billed_instal(l_loan_id);
4925: fetch c_first_billed_instal into l_first_installment_billed;
4926: close c_first_billed_instal;
4927: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);
4928:
4929: if l_first_installment_billed < l_last_installment_billed then
4930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Querying INSTALLMENT ' || l_last_installment_billed || '-----');
4931: open c_get_last_payment(l_loan_id, l_last_installment_billed);

Line 4930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Querying INSTALLMENT ' || l_last_installment_billed || '-----');

4926: close c_first_billed_instal;
4927: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_first_installment_billed = ' || l_first_installment_billed);
4928:
4929: if l_first_installment_billed < l_last_installment_billed then
4930: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Querying INSTALLMENT ' || l_last_installment_billed || '-----');
4931: open c_get_last_payment(l_loan_id, l_last_installment_billed);
4932: fetch c_get_last_payment into l_periodic_payment;
4933: close c_get_last_payment;
4934:

Line 4938: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Last periodic payment = ' || l_periodic_payment);

4934:
4935: if l_periodic_payment is null then
4936: l_periodic_payment := 0;
4937: end if;
4938: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Last periodic payment = ' || l_periodic_payment);
4939:
4940: l_begin := l_last_installment_billed + 1;
4941:
4942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

Line 4942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

4938: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Last periodic payment = ' || l_periodic_payment);
4939:
4940: l_begin := l_last_installment_billed + 1;
4941:
4942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
4943: l_rate_details := getRateDetails(p_installment => l_last_installment_billed
4944: ,p_rate_tbl => l_rate_tbl);
4945:
4946: if p_loan_details.rate_type = 'FIXED' OR (p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'N')

Line 4964: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);

4960: l_rate_details.ANNUAL_RATE := lns_fin_utils.getRateForDate(p_loan_details.OPEN_INDEX_RATE_ID
4961: ,l_payment_tbl(l_last_installment_billed).period_begin_date);
4962:
4963: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
4964: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);
4965:
4966: -- adjust the rate as per rate rules
4967: l_previous_annualized := calculateInterestRate(p_initial_rate => p_loan_details.INITIAL_INTEREST_RATE
4968: ,p_rate_to_compare => l_raw_rate

Line 4982: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_begin = ' || l_begin);

4978: end if;
4979:
4980: end if;
4981:
4982: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_begin = ' || l_begin);
4983:
4984: for l_installment_number in l_begin..l_payment_number
4985: loop
4986:

Line 4987: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');

4983:
4984: for l_installment_number in l_begin..l_payment_number
4985: loop
4986:
4987: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ----- Calculating INSTALLMENT ' || l_installment_number || '-----');
4988:
4989: i := i + 1;
4990: l_periodic_interest := 0;
4991: l_periodic_principal := 0;

Line 5002: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': BASED ON CURRENT TERMS FROM INSTALLMENT: ' || l_installment_number);

4998: -- this is the main check for calculating interest on actual balance not theoretical
4999: -- intercept and overwrite the remaining balance theory with remain balance actual
5000: if (l_last_installment_billed >= 0) and (l_last_installment_billed + 1 = l_installment_number)
5001: and p_based_on_terms = 'CURRENT' then
5002: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': BASED ON CURRENT TERMS FROM INSTALLMENT: ' || l_installment_number);
5003:
5004: l_principal_cumulative := 0;
5005: l_interest_cumulative := 0;
5006: l_fees_cumulative := 0;

Line 5029: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);

5025: l_remaining_balance_theory := 0;
5026: end if;
5027: end if;
5028:
5029: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
5030: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
5031:
5032: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
5033: l_rate_details := getRateDetails(p_installment => l_installment_number

Line 5030: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);

5026: end if;
5027: end if;
5028:
5029: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
5030: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
5031:
5032: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
5033: l_rate_details := getRateDetails(p_installment => l_installment_number
5034: ,p_rate_tbl => l_rate_tbl);

Line 5032: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');

5028:
5029: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_actual: ' || l_remaining_balance_actual);
5030: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory: ' || l_remaining_balance_theory);
5031:
5032: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
5033: l_rate_details := getRateDetails(p_installment => l_installment_number
5034: ,p_rate_tbl => l_rate_tbl);
5035:
5036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);

Line 5036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);

5032: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting rate details');
5033: l_rate_details := getRateDetails(p_installment => l_installment_number
5034: ,p_rate_tbl => l_rate_tbl);
5035:
5036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
5037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
5038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
5039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
5040:

Line 5037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);

5033: l_rate_details := getRateDetails(p_installment => l_installment_number
5034: ,p_rate_tbl => l_rate_tbl);
5035:
5036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
5037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
5038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
5039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
5040:
5041: -- get the rate details only need to get it once if a single interest rate exists

Line 5038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);

5034: ,p_rate_tbl => l_rate_tbl);
5035:
5036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
5037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
5038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
5039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
5040:
5041: -- get the rate details only need to get it once if a single interest rate exists
5042: l_current_rate_id := l_rate_details.rate_id;

Line 5039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);

5035:
5036: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate annual rate ' || l_rate_details.annual_rate);
5037: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate spread ' || l_rate_details.spread);
5038: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate id ' || l_rate_details.rate_id);
5039: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate floating_flag ' || l_rate_details.floating_flag);
5040:
5041: -- get the rate details only need to get it once if a single interest rate exists
5042: l_current_rate_id := l_rate_details.rate_id;
5043: l_annualized_rate := l_rate_details.annual_rate;

Line 5049: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');

5045:
5046: -- add in support here for floating rate loans
5047: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
5048:
5049: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
5050: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);

Line 5050: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);

5046: -- add in support here for floating rate loans
5047: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
5048:
5049: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
5050: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);

Line 5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

5047: if p_loan_details.rate_type = 'VARIABLE' and l_rate_details.floating_flag = 'Y' then
5048:
5049: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
5050: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

Line 5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);

5048:
5049: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
5050: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);

Line 5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);

5049: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING ');
5050: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);

Line 5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);

5050: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': period_begin_date ' || l_payment_tbl(l_installment_number).period_begin_date);
5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);

Line 5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);

5051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
5059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);

Line 5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);

5052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.NEXT_RATE_CHANGE_DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
5059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
5060: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);

Line 5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);

5053: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.OPEN_INDEX_RATE_ID ' || p_loan_details.OPEN_INDEX_RATE_ID);
5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
5059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
5060: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
5061:

Line 5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);

5054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.INITIAL_INTEREST_RATE ' || p_loan_details.INITIAL_INTEREST_RATE);
5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
5059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
5060: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
5061:
5062: -- if float and no rate then error;

Line 5059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);

5055: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.LAST_INTEREST_RATE ' || p_loan_details.LAST_INTEREST_RATE);
5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
5059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
5060: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
5061:
5062: -- if float and no rate then error;
5063: -- we only need to get the new rate if

Line 5060: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);

5056: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FIRST_PERCENT_INCREASE ' || p_loan_details.TERM_FIRST_PERCENT_INCREASE);
5057: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_ADJ_PERCENT_INCREASE ' || p_loan_details.TERM_ADJ_PERCENT_INCREASE);
5058: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_LIFE_PERCENT_INCREASE ' || p_loan_details.TERM_LIFE_PERCENT_INCREASE);
5059: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_CEILING_RATE ' || p_loan_details.TERM_CEILING_RATE);
5060: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': p_loan_details.TERM_FLOOR_RATE ' || p_loan_details.TERM_FLOOR_RATE);
5061:
5062: -- if float and no rate then error;
5063: -- we only need to get the new rate if
5064: -- 1. no rate has ever been calculated (i.e. 1st installment)

Line 5070: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');

5066: -- 3. make sure to add spread and abide by rate rules
5067: if l_payment_tbl(l_installment_number).period_begin_date < p_loan_details.NEXT_RATE_CHANGE_DATE and l_installment_number > 1 then
5068:
5069: -- no need to recalculate interest, use current interest rate found on last installment
5070: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING NO RECALC');
5071:
5072: l_annualized_rate := p_loan_details.LAST_INTEREST_RATE + l_rate_details.spread;
5073:
5074: --elsif l_installment_number = 1 OR l_payment_tbl(l_installment_number).period_begin_date >= p_loan_details.NEXT_RATE_CHANGE_DATE then

Line 5079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');

5075: else
5076:
5077: if p_based_on_terms = 'CURRENT' then
5078:
5079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': FLOATING RECALCULATE');
5080:
5081: l_rate_details.ANNUAL_RATE := lns_fin_utils.getRateForDate(p_loan_details.OPEN_INDEX_RATE_ID
5082: ,l_payment_tbl(l_installment_number).period_begin_date);
5083:

Line 5088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);

5084: -- raise error as rates does not exist
5085: if l_rate_details.ANNUAL_RATE is null then
5086: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
5087: FND_MSG_PUB.ADD;
5088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);
5089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5090: RAISE FND_API.G_EXC_ERROR;
5091: end if;
5092:

Line 5089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);

5085: if l_rate_details.ANNUAL_RATE is null then
5086: FND_MESSAGE.SET_NAME('LNS', 'LNS_RATES_ERROR');
5087: FND_MSG_PUB.ADD;
5088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for INDEX_ID ' || p_loan_details.TERM_INDEX_RATE_ID);
5089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rates missing for DATE ' || p_loan_details.NEXT_RATE_CHANGE_DATE);
5090: RAISE FND_API.G_EXC_ERROR;
5091: end if;
5092:
5093: -- add the spread into the rate

Line 5095: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);

5091: end if;
5092:
5093: -- add the spread into the rate
5094: l_raw_rate := l_rate_details.ANNUAL_RATE + l_rate_details.spread;
5095: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_raw_rate ' || l_raw_rate);
5096:
5097: -- adjust the rate as per rate rules
5098: l_annualized_rate := calculateInterestRate(p_initial_rate => p_loan_details.INITIAL_INTEREST_RATE
5099: ,p_rate_to_compare => l_raw_rate

Line 5110: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ASSIGNING PROJECTED RATE ');

5106: ,p_installment_number => l_installment_number);
5107:
5108: else -- not billing
5109:
5110: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ASSIGNING PROJECTED RATE ');
5111: l_annualized_rate := p_loan_details.TERM_PROJECTED_INTEREST_RATE;
5112:
5113: end if; -- billing
5114:

Line 5119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_rate_id = ' || l_previous_rate_id);

5115: end if; -- recalculate rate
5116:
5117: end if; -- rate_type and / or float
5118:
5119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_rate_id = ' || l_previous_rate_id);
5120: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);

Line 5120: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);

5116:
5117: end if; -- rate_type and / or float
5118:
5119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_rate_id = ' || l_previous_rate_id);
5120: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);

Line 5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);

5117: end if; -- rate_type and / or float
5118:
5119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_rate_id = ' || l_previous_rate_id);
5120: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
5125: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);

Line 5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);

5118:
5119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_rate_id = ' || l_previous_rate_id);
5120: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
5125: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
5126: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);

Line 5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);

5119: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_rate_id = ' || l_previous_rate_id);
5120: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
5125: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
5126: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
5127:

Line 5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);

5120: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_current_rate_id ' || l_current_rate_id);
5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
5125: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
5126: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
5127:
5128: -- conditions to recalculate payment

Line 5125: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);

5121: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_annualized ' || l_previous_annualized);
5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
5125: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
5126: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
5127:
5128: -- conditions to recalculate payment
5129: -- 1. 1-st installment

Line 5126: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);

5122: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_annualized_rate ' || l_annualized_rate);
5123: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_previous_interest_only_flag ' || l_previous_interest_only_flag);
5124: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_interest_only_flag ' || l_interest_only_flag);
5125: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_last_installment_billed ' || l_last_installment_billed);
5126: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_extend_from_installment ' || l_extend_from_installment);
5127:
5128: -- conditions to recalculate payment
5129: -- 1. 1-st installment
5130: -- 2. previous interest rate <> current interest rate

Line 5142: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- RE-calculating periodic payment');

5138: (l_previous_interest_only_flag = 'Y' and l_interest_only_flag = 'N') OR
5139: (l_extend_from_installment is not null and (l_extend_from_installment + 1 >= l_installment_number)))
5140: then
5141:
5142: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- RE-calculating periodic payment');
5143: -- rate has changed so we know we are on a new rate schedule
5144: -- we need to recalculate the payment_amount
5145: l_amortization_intervals := l_amortization_intervals_orig - l_installment_number + 1;
5146:

Line 5164: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_to_calculate = ' || l_rate_to_calculate);

5160:
5161: end if;
5162:
5163: -- we need to calculate payment ONCE per interest rate change
5164: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_to_calculate = ' || l_rate_to_calculate);
5165: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_amortization_intervals = ' || l_amortization_intervals);
5166:
5167: if l_installment_number = 1 and l_reamortize_from_installment is null then
5168: l_remaining_balance := l_original_loan_amount;

Line 5165: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_amortization_intervals = ' || l_amortization_intervals);

5161: end if;
5162:
5163: -- we need to calculate payment ONCE per interest rate change
5164: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_rate_to_calculate = ' || l_rate_to_calculate);
5165: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_amortization_intervals = ' || l_amortization_intervals);
5166:
5167: if l_installment_number = 1 and l_reamortize_from_installment is null then
5168: l_remaining_balance := l_original_loan_amount;
5169: else

Line 5187: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': NEW periodic payment = ' || l_periodic_payment);

5183: ,p_ending_balance=> l_balloon_amount
5184: ,p_pay_in_arrears=> true);
5185: end if;
5186:
5187: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': NEW periodic payment = ' || l_periodic_payment);
5188:
5189: else
5190: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': KEEPING OLD periodic payment = ' || l_periodic_payment);
5191: end if;

Line 5190: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': KEEPING OLD periodic payment = ' || l_periodic_payment);

5186:
5187: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': NEW periodic payment = ' || l_periodic_payment);
5188:
5189: else
5190: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': KEEPING OLD periodic payment = ' || l_periodic_payment);
5191: end if;
5192:
5193: l_previous_interest_only_flag := l_interest_only_flag;
5194: l_previous_rate_id := l_current_rate_id;

Line 5210: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');

5206: l_last_installment_billed >= 0 and
5207: l_last_installment_billed + 1 = l_installment_number
5208: then
5209:
5210: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');
5211: l_norm_interest := LNS_FINANCIALS.CALC_NORM_INTEREST(p_loan_id => l_loan_id,
5212: p_calc_method => l_calc_method,
5213: p_period_start_date => l_payment_tbl(l_installment_number).period_begin_date,
5214: p_period_end_date => l_payment_tbl(l_installment_number).period_end_date,

Line 5242: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');

5238: else
5239: l_prev_grace_end_date := l_payment_tbl(l_installment_number).period_begin_date;
5240: end if;
5241:
5242: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');
5243: -- calculate additional interest on unpaid principal
5244: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => l_loan_id,
5245: p_calc_method => l_calc_method,
5246: p_period_start_date => l_add_start_date,

Line 5263: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');

5259: l_add_prin_interest := round(l_add_prin_interest, l_precision);
5260:
5261: if (l_calc_method = 'COMPOUND') then
5262:
5263: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');
5264: -- calculate additional interest on unpaid interest
5265: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => l_loan_id,
5266: p_calc_method => l_calc_method,
5267: p_period_start_date => l_add_start_date,

Line 5288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_remaining_balance_actual);

5284: end if;
5285:
5286: else
5287:
5288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_remaining_balance_actual);
5289:
5290: if (l_calc_method = 'SIMPLE') then
5291:
5292: -- recalculate periodic rate for each period if day counting methodolgy varies

Line 5320: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);

5316:
5317: l_penal_interest := round(l_penal_prin_interest + l_penal_int_interest, l_precision);
5318: l_periodic_interest := round(l_norm_interest + l_add_prin_interest + l_add_int_interest + l_penal_interest, l_precision);
5319:
5320: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);
5321: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
5322: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
5323: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
5324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);

Line 5321: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);

5317: l_penal_interest := round(l_penal_prin_interest + l_penal_int_interest, l_precision);
5318: l_periodic_interest := round(l_norm_interest + l_add_prin_interest + l_add_int_interest + l_penal_interest, l_precision);
5319:
5320: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);
5321: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
5322: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
5323: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
5324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
5325:

Line 5322: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);

5318: l_periodic_interest := round(l_norm_interest + l_add_prin_interest + l_add_int_interest + l_penal_interest, l_precision);
5319:
5320: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);
5321: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
5322: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
5323: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
5324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
5325:
5326: -- check to see if we are in an interest only period

Line 5323: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);

5319:
5320: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);
5321: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
5322: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
5323: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
5324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
5325:
5326: -- check to see if we are in an interest only period
5327: -- if this is the case then the periodic_principal = 0

Line 5324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);

5320: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_payment = ' || l_periodic_payment);
5321: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_interest = ' || l_periodic_interest);
5322: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_penal_interest = ' || l_penal_interest);
5323: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_intervals_remaining = ' || l_intervals_remaining);
5324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled_principal = ' || l_unbilled_principal);
5325:
5326: -- check to see if we are in an interest only period
5327: -- if this is the case then the periodic_principal = 0
5328: -- there is a chance that the loan negatively amortizes

Line 5331: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculating principal due');

5327: -- if this is the case then the periodic_principal = 0
5328: -- there is a chance that the loan negatively amortizes
5329: if l_interest_only_flag <> 'Y' or l_intervals_remaining = 1 then
5330:
5331: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculating principal due');
5332: l_periodic_principal := l_periodic_payment - l_periodic_interest;
5333: l_periodic_principal := round(l_periodic_principal, l_precision);
5334:
5335: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);

Line 5335: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);

5331: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculating principal due');
5332: l_periodic_principal := l_periodic_payment - l_periodic_interest;
5333: l_periodic_principal := round(l_periodic_principal, l_precision);
5334:
5335: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);
5336:
5337: -- this is temporary according to not letting amortizations go negative
5338: if l_periodic_principal < 0 then
5339: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': DISALLOW NEGATIVE AMORTIZATION');

Line 5339: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': DISALLOW NEGATIVE AMORTIZATION');

5335: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal = ' || l_periodic_principal);
5336:
5337: -- this is temporary according to not letting amortizations go negative
5338: if l_periodic_principal < 0 then
5339: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': DISALLOW NEGATIVE AMORTIZATION');
5340: l_periodic_principal := 0;
5341: end if;
5342:
5343: -- if the loan is being pre-paid this will ensure that balance gets to zero

Line 5347: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');

5343: -- if the loan is being pre-paid this will ensure that balance gets to zero
5344: -- make sure the final installment gets the remaining balance on the loan irregardless
5345: if l_remaining_balance_theory < l_periodic_principal then
5346: l_periodic_principal := l_remaining_balance_theory;
5347: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
5348: else
5349: if l_intervals_remaining = 1 then
5350: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
5351: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);

Line 5350: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');

5346: l_periodic_principal := l_remaining_balance_theory;
5347: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
5348: else
5349: if l_intervals_remaining = 1 then
5350: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
5351: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
5352: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
5353: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
5354: l_periodic_principal := l_unbilled_principal;

Line 5351: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);

5347: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
5348: else
5349: if l_intervals_remaining = 1 then
5350: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
5351: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
5352: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
5353: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
5354: l_periodic_principal := l_unbilled_principal;
5355: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');

Line 5352: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);

5348: else
5349: if l_intervals_remaining = 1 then
5350: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATING LAST INSTALLMENT PRINCIPAL');
5351: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
5352: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
5353: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
5354: l_periodic_principal := l_unbilled_principal;
5355: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
5356: else

Line 5355: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');

5351: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_unbilled principal is ' || l_unbilled_principal);
5352: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
5353: if p_based_on_terms = 'CURRENT' and l_unbilled_principal > 0 then
5354: l_periodic_principal := l_unbilled_principal;
5355: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
5356: else
5357: l_periodic_principal := l_remaining_balance_theory;
5358: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
5359: end if;

Line 5358: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');

5354: l_periodic_principal := l_unbilled_principal;
5355: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_unbilled_principal');
5356: else
5357: l_periodic_principal := l_remaining_balance_theory;
5358: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_principal := l_remaining_balance_theory');
5359: end if;
5360: end if;
5361: end if;
5362:

Line 5369: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);

5365: l_periodic_principal := 0;
5366:
5367: end if;
5368:
5369: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
5370: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': principal is ' || l_periodic_principal);
5371:
5372: -- calculate balances and total payment
5373: l_begin_balance := l_remaining_balance_theory;

Line 5370: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': principal is ' || l_periodic_principal);

5366:
5367: end if;
5368:
5369: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_remaining_balance_theory is ' || l_remaining_balance_theory);
5370: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': principal is ' || l_periodic_principal);
5371:
5372: -- calculate balances and total payment
5373: l_begin_balance := l_remaining_balance_theory;
5374: l_end_balance := l_remaining_balance_theory - l_periodic_principal;

Line 5421: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);

5417:
5418: open c_fees(l_loan_id, l_installment_number);
5419: fetch c_fees into l_fee_amount;
5420: close c_fees;
5421: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);
5422:
5423: /*
5424: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
5425: ,p_installment => l_installment_number

Line 5432: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);

5428: ,x_fees_tbl => l_orig_fees_tbl
5429: ,x_return_status => l_return_status
5430: ,x_msg_count => l_msg_count
5431: ,x_msg_data => l_msg_data);
5432: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fee_structures.count);
5433: */
5434: end if;
5435: end if;
5436:

Line 5446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);

5442: ,x_fees_tbl => l_memo_fees_tbl
5443: ,x_return_status => l_return_status
5444: ,x_msg_count => l_msg_count
5445: ,x_msg_data => l_msg_data);
5446: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated memo fees ' || l_memo_fees_tbl.count);
5447: end if;
5448:
5449:
5450: if l_fee_structures.count > 0 then

Line 5459: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);

5455: ,x_fees_tbl => l_fees_tbl
5456: ,x_return_status => l_return_status
5457: ,x_msg_count => l_msg_count
5458: ,x_msg_data => l_msg_data);
5459: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated fees ' || l_fees_tbl.count);
5460: end if;
5461: /*
5462: for i in 1..l_orig_fees_tbl.count loop
5463: l_fee_amount := l_fee_amount + l_orig_fees_tbl(i).FEE_AMOUNT;

Line 5464: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);

5460: end if;
5461: /*
5462: for i in 1..l_orig_fees_tbl.count loop
5463: l_fee_amount := l_fee_amount + l_orig_fees_tbl(i).FEE_AMOUNT;
5464: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig calculated fees ' || l_fee_amount);
5465: end loop;
5466: */
5467: for k in 1..l_fees_tbl.count loop
5468: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;

Line 5469: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);

5465: end loop;
5466: */
5467: for k in 1..l_fees_tbl.count loop
5468: l_fee_amount := l_fee_amount + l_fees_tbl(k).FEE_AMOUNT;
5469: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': recurring calculated fees ' || l_fee_amount);
5470: end loop;
5471:
5472: for j in 1..l_memo_fees_tbl.count loop
5473: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;

Line 5474: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);

5470: end loop;
5471:
5472: for j in 1..l_memo_fees_tbl.count loop
5473: l_other_amount := l_other_amount + l_memo_fees_tbl(j).FEE_AMOUNT;
5474: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': other calculated fees ' || l_other_amount);
5475: end loop;
5476:
5477: l_total := l_fee_amount + l_periodic_principal + l_periodic_interest + l_other_amount;
5478: l_amortization_rec.total := l_total;

Line 5498: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);

5494:
5495: -- add the record to the amortization table
5496: l_amortization_tbl(i) := l_amortization_rec;
5497:
5498: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5499: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);

Line 5499: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);

5495: -- add the record to the amortization table
5496: l_amortization_tbl(i) := l_amortization_rec;
5497:
5498: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5499: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);

Line 5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);

5496: l_amortization_tbl(i) := l_amortization_rec;
5497:
5498: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5499: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

Line 5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);

5497:
5498: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5499: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

Line 5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);

5498: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5499: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

Line 5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);

5499: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

Line 5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

5500: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

Line 5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

5501: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5509: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);

Line 5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

5502: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.total);
5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5509: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
5510: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );

Line 5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

5503: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_amount is ' || l_amortization_rec.other_amount);
5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5509: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
5510: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
5511:

Line 5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

5504: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5509: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
5510: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
5511:
5512: -- adjust new loan amount to reflect less periodic principal paid

Line 5509: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);

5505: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5509: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
5510: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
5511:
5512: -- adjust new loan amount to reflect less periodic principal paid
5513: -- theoretically without over/underpayments l_loan_amount should = l_remaining_balance

Line 5510: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );

5506: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5507: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5508: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5509: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: other_cumulative is ' || l_amortization_rec.other_cumulative);
5510: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: current_rate_id is ' || l_amortization_rec.rate_id );
5511:
5512: -- adjust new loan amount to reflect less periodic principal paid
5513: -- theoretically without over/underpayments l_loan_amount should = l_remaining_balance
5514: -- if they diverge then we will calculate interest based from l_remaining_balance

Line 5534: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);

5530: end loop;
5531:
5532: --printAmortizationTable(p_amort_tbl => l_amortization_tbl);
5533:
5534: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
5535: x_loan_amort_tbl := l_amortization_tbl;
5536:
5537: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5538:

Line 5537: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

5533:
5534: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
5535: x_loan_amort_tbl := l_amortization_tbl;
5536:
5537: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5538:
5539: Exception
5540: WHEN FND_API.G_EXC_ERROR THEN
5541: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

Line 5541: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

5537: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5538:
5539: Exception
5540: WHEN FND_API.G_EXC_ERROR THEN
5541: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5542:
5543: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5544: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
5545:

Line 5544: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

5540: WHEN FND_API.G_EXC_ERROR THEN
5541: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5542:
5543: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5544: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
5545:
5546: WHEN OTHERS THEN
5547: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5548:

Line 5547: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

5543: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5544: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
5545:
5546: WHEN OTHERS THEN
5547: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5548:
5549: end amortizeLoan;
5550:
5551: /*=========================================================================

Line 5591: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

5587: l_api_name varchar2(20);
5588: begin
5589:
5590: l_api_name := 'amortizeLoan LOANID';
5591: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
5592: l_loan_details := lns_financials.getLoanDetails(p_loan_Id => p_loan_id
5593: ,p_based_on_terms => p_based_on_terms
5594: ,p_phase => 'TERM');
5595:

Line 5624: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' Tbl count is ' || l_amortization_tbl.count);

5620: ,x_loan_amort_tbl => l_amortization_tbl);
5621:
5622: end if;
5623:
5624: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' Tbl count is ' || l_amortization_tbl.count);
5625:
5626: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5627: x_loan_amort_tbl := l_amortization_tbl;
5628: Exception

Line 5626: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

5622: end if;
5623:
5624: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' Tbl count is ' || l_amortization_tbl.count);
5625:
5626: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5627: x_loan_amort_tbl := l_amortization_tbl;
5628: Exception
5629: When others then
5630: null;

Line 5773: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

5769: l_rate_to_calculate := 0;
5770: l_total_disbursed := 0;
5771: l_api_name := 'loanProjection';
5772:
5773: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
5774:
5775: l_payment_frequency := p_loan_details.payment_frequency;
5776: l_first_payment_date := p_loan_details.first_payment_date;
5777: l_original_loan_amount := p_loan_details.funded_amount;

Line 5795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);

5791: l_unpaid_interest := p_loan_details.UNPAID_INTEREST;
5792:
5793: -- get the interest rate schedule
5794: l_rate_tbl := p_rate_schedule;
5795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
5796:
5797: -- get payment schedule
5798: -- this will return the acutal dates that payments will be due on
5799: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

Line 5799: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');

5795: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- rate schedule count: ' || l_rate_tbl.count);
5796:
5797: -- get payment schedule
5798: -- this will return the acutal dates that payments will be due on
5799: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting payment schedule');
5800: l_payment_tbl := LNS_FIN_UTILS.buildPaymentSchedule(p_loan_start_date => l_loan_start_date
5801: ,p_loan_maturity_date => l_maturity_date
5802: ,p_first_pay_date => l_first_payment_date
5803: ,p_num_intervals => l_intervals

Line 5808: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);

5804: ,p_interval_type => l_payment_frequency
5805: ,p_pay_in_arrears => l_pay_in_arrears);
5806:
5807: l_num_pay_dates := l_payment_tbl.count;
5808: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- payment schedule count: ' || l_num_pay_dates);
5809:
5810: -- loop to build the amortization schedule
5811: for l_installment_number in 1..l_num_pay_dates
5812: loop

Line 5814: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' -----CALCULATING -----> installment #' || l_installment_number);

5810: -- loop to build the amortization schedule
5811: for l_installment_number in 1..l_num_pay_dates
5812: loop
5813:
5814: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' -----CALCULATING -----> installment #' || l_installment_number);
5815: i := i + 1;
5816: l_periodic_interest := 0;
5817: l_fee_amount := 0;
5818: l_intervals_remaining := l_num_pay_dates - l_installment_number + 1;

Line 5821: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' getting total funded amount thru' || l_payment_tbl(l_installment_number).period_end_date);

5817: l_fee_amount := 0;
5818: l_intervals_remaining := l_num_pay_dates - l_installment_number + 1;
5819:
5820: -- get the total funded amount
5821: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' getting total funded amount thru' || l_payment_tbl(l_installment_number).period_end_date);
5822:
5823: open c_total_disbursed(l_loan_id , l_payment_tbl(1).period_begin_date , l_payment_tbl(l_installment_number).period_end_date);
5824: fetch c_total_disbursed into l_end_balance;
5825: close c_total_disbursed;

Line 5841: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - ERROR COMPUTING BALANCE');

5837: exception
5838: when others then
5839: FND_MESSAGE.SET_NAME('LNS', 'LNS_COMPUTE_BALANCE_ERROR');
5840: FND_MSG_PUB.ADD;
5841: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - ERROR COMPUTING BALANCE');
5842: RAISE FND_API.G_EXC_ERROR;
5843: end;
5844:
5845: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);

Line 5845: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);

5841: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - ERROR COMPUTING BALANCE');
5842: RAISE FND_API.G_EXC_ERROR;
5843: end;
5844:
5845: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);
5846:
5847: -- now we will caculate the interest due for this period
5848: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);
5849:

Line 5848: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);

5844:
5845: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - l_wtd_balance is ' || l_wtd_balance);
5846:
5847: -- now we will caculate the interest due for this period
5848: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest is based upon an amount of ' || l_wtd_balance);
5849:
5850: -- recalculate periodic rate for each period if day counting methodolgy varies
5851: if (l_calc_method = 'SIMPLE') then
5852: l_periodic_rate := lns_financials.getPeriodicRate(p_period_start_date => l_payment_tbl(l_installment_number).period_begin_date

Line 5866: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate rate is ' || l_periodic_rate);

5862: ,p_period_end_date => l_payment_tbl(l_installment_number).period_end_date
5863: ,p_days_count_method => l_day_count_method);
5864:
5865: end if;
5866: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_periodic_rate rate is ' || l_periodic_rate);
5867:
5868: -- if we are going to compound, then based on compounding the amount should be passed to calculateInterest call here.
5869: -- how do we determine what the amount to compound on
5870: -- for example: compound daily at .5% over 30 day period

Line 5885: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');

5881: l_periodic_principal := 0;
5882: end if;
5883:
5884: -- get the disbursement fees
5885: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '- getting origination fee structures');
5886: l_orig_fee_structures := lns_fee_engine.getDisbursementFeeStructures(p_loan_id => l_loan_id
5887: ,p_fee_category => 'EVENT'
5888: ,p_fee_type => 'EVENT_ORIGINATION'
5889: ,p_from_date => l_payment_tbl(l_installment_number).period_begin_date

Line 5893: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);

5889: ,p_from_date => l_payment_tbl(l_installment_number).period_begin_date
5890: ,p_to_date => l_payment_tbl(l_installment_number).period_end_date
5891: ,p_disb_header_id => null
5892: ,p_fee_id => null);
5893: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': orig structures count is ' || l_orig_fee_structures.count);
5894:
5895: -- calculate the fees one by one
5896: for j in 1..l_orig_fee_structures.count
5897: loop

Line 5900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': IND_DISB_AMOUNT ' || l_orig_fee_structures(j).disbursement_date);

5896: for j in 1..l_orig_fee_structures.count
5897: loop
5898: -- get the fee basis
5899: -- get the total disbursed thru the target date of the fee
5900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': IND_DISB_AMOUNT ' || l_orig_fee_structures(j).disbursement_date);
5901: l_fee_basis_tbl(1).fee_basis_name := 'IND_DISB_AMT';
5902: l_fee_basis_tbl(1).fee_basis_amount := l_orig_fee_structures(j).disbursement_amount;
5903: l_fee_basis_tbl(2).fee_basis_name := 'ORIG_LOAN';
5904: l_fee_basis_tbl(2).fee_basis_amount := l_original_loan_amount;

Line 5914: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fees_tbl.count);

5910: ,x_fees_tbl => l_orig_fees_tbl
5911: ,x_return_status => l_return_status
5912: ,x_msg_count => l_msg_count
5913: ,x_msg_data => l_msg_data);
5914: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fees_tbl.count);
5915: for m in 1..l_orig_fees_tbl.count
5916: loop
5917: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': m ' || l_orig_fees_tbl(m).FEE_AMOUNT);
5918: l_fee_amount := l_fee_amount + l_orig_fees_tbl(m).FEE_AMOUNT;

Line 5917: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': m ' || l_orig_fees_tbl(m).FEE_AMOUNT);

5913: ,x_msg_data => l_msg_data);
5914: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calculated origination fees ' || l_orig_fees_tbl.count);
5915: for m in 1..l_orig_fees_tbl.count
5916: loop
5917: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': m ' || l_orig_fees_tbl(m).FEE_AMOUNT);
5918: l_fee_amount := l_fee_amount + l_orig_fees_tbl(m).FEE_AMOUNT;
5919: end loop;
5920:
5921: end loop;

Line 5952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);

5948:
5949: -- add the record to the amortization table
5950: l_amortization_tbl(i) := l_amortization_rec;
5951:
5952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5953: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);

Line 5953: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);

5949: -- add the record to the amortization table
5950: l_amortization_tbl(i) := l_amortization_rec;
5951:
5952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5953: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

Line 5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);

5950: l_amortization_tbl(i) := l_amortization_rec;
5951:
5952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5953: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

Line 5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);

5951:
5952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5953: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

Line 5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);

5952: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: due date ' || l_amortization_rec.due_date);
5953: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5960: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

Line 5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);

5953: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_principal ' || l_amortization_rec.principal_amount);
5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5960: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

Line 5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);

5954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: periodic_interest ' || l_amortization_rec.interest_amount);
5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5960: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5962:

Line 5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);

5955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fee_amount is ' || l_amortization_rec.fee_amount);
5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5960: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5962:
5963: end loop;

Line 5960: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);

5956: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: total is ' || l_amortization_rec.fee_amount);
5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5960: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5962:
5963: end loop;
5964: --printAmortizationTable(p_amort_tbl => l_amortization_tbl);

Line 5961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);

5957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: begin_balance is ' || l_amortization_rec.begin_balance);
5958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: end_balance is ' || l_amortization_rec.end_balance);
5959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: interest_cumulative is ' || l_amortization_rec.interest_cumulative);
5960: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: principal_cumulative is ' || l_amortization_rec.principal_cumulative);
5961: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization rec: fees_cumulative is ' || l_amortization_rec.fees_cumulative);
5962:
5963: end loop;
5964: --printAmortizationTable(p_amort_tbl => l_amortization_tbl);
5965:

Line 5966: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);

5962:
5963: end loop;
5964: --printAmortizationTable(p_amort_tbl => l_amortization_tbl);
5965:
5966: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
5967: x_loan_amort_tbl := l_amortization_tbl;
5968:
5969: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5970:

Line 5969: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

5965:
5966: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - AMORTIZATION TABLE COUNT IS ' || l_amortization_tbl.count);
5967: x_loan_amort_tbl := l_amortization_tbl;
5968:
5969: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5970:
5971: Exception
5972: WHEN FND_API.G_EXC_ERROR THEN
5973: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

Line 5973: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

5969: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
5970:
5971: Exception
5972: WHEN FND_API.G_EXC_ERROR THEN
5973: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5974:
5975: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5976: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
5977:

Line 5976: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

5972: WHEN FND_API.G_EXC_ERROR THEN
5973: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5974:
5975: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5976: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
5977:
5978: WHEN OTHERS THEN
5979: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5980:

Line 5979: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

5975: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5976: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
5977:
5978: WHEN OTHERS THEN
5979: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
5980:
5981: end loanProjection;
5982:
5983: /*=========================================================================

Line 6088: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

6084: l_api_name := 'runLoanProjection';
6085: i := 0;
6086: l_manual_fee_amount := 0;
6087:
6088: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6089:
6090: -- Initialize message list IF p_init_msg_list is set to TRUE.
6091: IF FND_API.to_Boolean( p_init_msg_list ) THEN
6092: FND_MSG_PUB.initialize;

Line 6150: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - amortization returns # records '|| l_num_records);

6146: -- delete predicted records based on ORIGINAL amortization
6147: if p_based_on_terms = 'CURRENT' then
6148:
6149: l_num_records := l_amort_tbl.count;
6150: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - amortization returns # records '|| l_num_records);
6151: l_last_installment_billed := LNS_BILLING_UTIL_PUB.LAST_PAYMENT_NUMBER_EXT(p_loan_id);
6152: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - last installment billed '|| l_last_installment_billed);
6153:
6154: -- copy the records not billed to a temp collection

Line 6152: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - last installment billed '|| l_last_installment_billed);

6148:
6149: l_num_records := l_amort_tbl.count;
6150: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - amortization returns # records '|| l_num_records);
6151: l_last_installment_billed := LNS_BILLING_UTIL_PUB.LAST_PAYMENT_NUMBER_EXT(p_loan_id);
6152: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - last installment billed '|| l_last_installment_billed);
6153:
6154: -- copy the records not billed to a temp collection
6155: m := 0;
6156: for i in 1..l_num_records

Line 6158: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - copying record ' || i);

6154: -- copy the records not billed to a temp collection
6155: m := 0;
6156: for i in 1..l_num_records
6157: loop
6158: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - copying record ' || i);
6159: if l_amort_tbl(i).installment_number > l_last_installment_billed then
6160: m := m + 1;
6161: l_amort_tbl2(m) := l_amort_tbl(i);
6162: end if;

Line 6170: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - re-copying record ' || i);

6166: l_amort_tbl.delete;
6167: m := 0;
6168: for i in 1..l_amort_tbl2.count
6169: loop
6170: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - re-copying record ' || i);
6171: m := m + 1;
6172: l_amort_tbl(m) := l_amort_tbl2(i);
6173: end loop;
6174:

Line 6177: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - late + manual fee amount is '|| l_manual_fee_amount);

6173: end loop;
6174:
6175: -- finally get the manual fees for the 1st record and add them to the total "other Amount"
6176: -- there has got to be a better way to do this
6177: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - late + manual fee amount is '|| l_manual_fee_amount);
6178: begin
6179: open c_manual_fees(p_loan_id, l_last_installment_billed + 1);
6180: fetch c_manual_fees into l_manual_fee_amount;
6181: close c_manual_fees;

Line 6187: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - manual fee amount is '|| l_manual_fee_amount);

6183:
6184: if l_manual_fee_amount is null then
6185: l_manual_fee_amount := 0;
6186: end if;
6187: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - manual fee amount is '|| l_manual_fee_amount);
6188:
6189: if l_amort_tbl.count > 0 then
6190: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': adding fees...');
6191: l_amort_tbl(1).fee_amount := l_amort_tbl(1).fee_amount + l_manual_fee_amount;

Line 6190: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': adding fees...');

6186: end if;
6187: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - manual fee amount is '|| l_manual_fee_amount);
6188:
6189: if l_amort_tbl.count > 0 then
6190: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': adding fees...');
6191: l_amort_tbl(1).fee_amount := l_amort_tbl(1).fee_amount + l_manual_fee_amount;
6192: l_amort_tbl(1).total := l_amort_tbl(1).total + l_manual_fee_amount;
6193: end if;
6194:

Line 6204: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

6200: --
6201:
6202: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6203:
6204: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
6205:
6206: EXCEPTION
6207: WHEN FND_API.G_EXC_ERROR THEN
6208: ROLLBACK TO runLoanProjection_PVT;

Line 6213: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

6209: x_return_status := FND_API.G_RET_STS_ERROR;
6210: x_msg_count := l_msg_count;
6211: x_msg_data := l_msg_data;
6212: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6213: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
6214:
6215: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6216: ROLLBACK TO runLoanProjection_PVT;
6217: x_return_status := FND_API.G_RET_STS_ERROR;

Line 6221: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

6217: x_return_status := FND_API.G_RET_STS_ERROR;
6218: x_msg_count := l_msg_count;
6219: x_msg_data := l_msg_data;
6220: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6221: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
6222:
6223: WHEN OTHERS THEN
6224: ROLLBACK TO runLoanProjection_PVT;
6225: x_return_status := FND_API.G_RET_STS_ERROR;

Line 6229: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

6225: x_return_status := FND_API.G_RET_STS_ERROR;
6226: x_msg_count := l_msg_count;
6227: x_msg_data := l_msg_data;
6228: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
6229: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
6230:
6231: END runOpenProjection;
6232:
6233: ---------------------------------------------------------------------------

Line 6310: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

6306: begin
6307:
6308: i := 0;
6309: l_api_name := 'getRateSchedule';
6310: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6311:
6312: Begin
6313: OPEN c_rate_schedule(p_loan_id, p_phase);
6314: LOOP

Line 6344: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

6340: FND_MSG_PUB.Add;
6341: RAISE FND_API.G_EXC_ERROR;
6342: End;
6343:
6344: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
6345:
6346: return l_rate_tbl;
6347:
6348: Exception

Line 6350: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

6346: return l_rate_tbl;
6347:
6348: Exception
6349: WHEN FND_API.G_EXC_ERROR THEN
6350: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
6351:
6352: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6353: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
6354:

Line 6353: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);

6349: WHEN FND_API.G_EXC_ERROR THEN
6350: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
6351:
6352: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6353: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
6354:
6355: WHEN OTHERS THEN
6356: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
6357:

Line 6356: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

6352: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6353: logMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, sqlerrm);
6354:
6355: WHEN OTHERS THEN
6356: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
6357:
6358: end getRateSchedule;
6359:
6360: /*=========================================================================

Line 6474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

6470: l_days_at_rate := 0;
6471: l_weighted_rate := 0;
6472: l_running_weight := 0;
6473: l_total_days := 0;
6474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6475: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' start date ' || p_start_date);
6476: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' end date ' || p_end_date);
6477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate table count ' || p_rate_tbl.count);
6478:

Line 6475: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' start date ' || p_start_date);

6471: l_weighted_rate := 0;
6472: l_running_weight := 0;
6473: l_total_days := 0;
6474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6475: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' start date ' || p_start_date);
6476: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' end date ' || p_end_date);
6477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate table count ' || p_rate_tbl.count);
6478:
6479: if p_loan_details.custom_schedule = 'N' then

Line 6476: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' end date ' || p_end_date);

6472: l_running_weight := 0;
6473: l_total_days := 0;
6474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6475: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' start date ' || p_start_date);
6476: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' end date ' || p_end_date);
6477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate table count ' || p_rate_tbl.count);
6478:
6479: if p_loan_details.custom_schedule = 'N' then
6480:

Line 6477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate table count ' || p_rate_tbl.count);

6473: l_total_days := 0;
6474: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6475: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' start date ' || p_start_date);
6476: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' end date ' || p_end_date);
6477: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate table count ' || p_rate_tbl.count);
6478:
6479: if p_loan_details.custom_schedule = 'N' then
6480:
6481: if p_loan_details.PAYMENT_CALC_METHOD = 'SEPARATE_SCHEDULES' then

Line 6515: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' num pay dates is ' || l_num_pay_dates);

6511:
6512: end if;
6513:
6514: l_num_pay_dates := l_payment_tbl.count;
6515: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' num pay dates is ' || l_num_pay_dates);
6516: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' num installments is ' || p_loan_details.number_installments);
6517:
6518: -- for k in 1..p_loan_details.number_installments
6519: for k in 1..l_num_pay_dates

Line 6516: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' num installments is ' || p_loan_details.number_installments);

6512: end if;
6513:
6514: l_num_pay_dates := l_payment_tbl.count;
6515: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' num pay dates is ' || l_num_pay_dates);
6516: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' num installments is ' || p_loan_details.number_installments);
6517:
6518: -- for k in 1..p_loan_details.number_installments
6519: for k in 1..l_num_pay_dates
6520: loop

Line 6522: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Period: ' || k);

6518: -- for k in 1..p_loan_details.number_installments
6519: for k in 1..l_num_pay_dates
6520: loop
6521:
6522: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Period: ' || k);
6523: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period start is ' || l_payment_tbl(k).period_begin_date);
6524: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period end is ' || l_payment_tbl(k).period_end_date);
6525: -- check to see if this period is covered in the time
6526:

Line 6523: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period start is ' || l_payment_tbl(k).period_begin_date);

6519: for k in 1..l_num_pay_dates
6520: loop
6521:
6522: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Period: ' || k);
6523: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period start is ' || l_payment_tbl(k).period_begin_date);
6524: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period end is ' || l_payment_tbl(k).period_end_date);
6525: -- check to see if this period is covered in the time
6526:
6527: l_exit_loop := false;

Line 6524: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period end is ' || l_payment_tbl(k).period_end_date);

6520: loop
6521:
6522: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Period: ' || k);
6523: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period start is ' || l_payment_tbl(k).period_begin_date);
6524: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' period end is ' || l_payment_tbl(k).period_end_date);
6525: -- check to see if this period is covered in the time
6526:
6527: l_exit_loop := false;
6528: l_period_start_date := null;

Line 6552: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_period_start_date: ' || l_period_start_date);

6548: l_period_end_date := l_payment_tbl(k).period_end_date;
6549: end if;
6550: end if;
6551:
6552: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_period_start_date: ' || l_period_start_date);
6553: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_period_end_date: ' || l_period_end_date);
6554:
6555: if l_period_start_date is not null and l_period_end_date is not null then
6556:

Line 6553: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_period_end_date: ' || l_period_end_date);

6549: end if;
6550: end if;
6551:
6552: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_period_start_date: ' || l_period_start_date);
6553: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_period_end_date: ' || l_period_end_date);
6554:
6555: if l_period_start_date is not null and l_period_end_date is not null then
6556:
6557: l_days_at_rate := LNS_FIN_UTILS.getDayCount(p_start_date => l_period_start_date

Line 6568: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_days_at_rate: ' || l_days_at_rate);

6564: l_running_weight := l_running_weight + (l_rate_details.annual_rate * l_days_at_rate);
6565:
6566: end if;
6567:
6568: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_days_at_rate: ' || l_days_at_rate);
6569: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_rate: ' || l_rate_details.annual_rate);
6570: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_running_weight: ' || l_running_weight);
6571:
6572: if l_exit_loop then

Line 6569: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_rate: ' || l_rate_details.annual_rate);

6565:
6566: end if;
6567:
6568: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_days_at_rate: ' || l_days_at_rate);
6569: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_rate: ' || l_rate_details.annual_rate);
6570: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_running_weight: ' || l_running_weight);
6571:
6572: if l_exit_loop then
6573: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Exiting loop');

Line 6570: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_running_weight: ' || l_running_weight);

6566: end if;
6567:
6568: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_days_at_rate: ' || l_days_at_rate);
6569: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_rate: ' || l_rate_details.annual_rate);
6570: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_running_weight: ' || l_running_weight);
6571:
6572: if l_exit_loop then
6573: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Exiting loop');
6574: exit;

Line 6573: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Exiting loop');

6569: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_rate: ' || l_rate_details.annual_rate);
6570: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_running_weight: ' || l_running_weight);
6571:
6572: if l_exit_loop then
6573: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' Exiting loop');
6574: exit;
6575: end if;
6576:
6577: end loop;

Line 6579: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' total days is ' || l_total_days);

6575: end if;
6576:
6577: end loop;
6578:
6579: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' total days is ' || l_total_days);
6580:
6581: if l_total_days = 0 then
6582: l_total_days := 1;
6583: end if;

Line 6586: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_weighted_rate ' || l_weighted_rate);

6582: l_total_days := 1;
6583: end if;
6584:
6585: l_weighted_rate := l_running_weight / l_total_days;
6586: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_weighted_rate ' || l_weighted_rate);
6587:
6588: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
6589:
6590: return l_weighted_rate;

Line 6588: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

6584:
6585: l_weighted_rate := l_running_weight / l_total_days;
6586: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' l_weighted_rate ' || l_weighted_rate);
6587:
6588: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
6589:
6590: return l_weighted_rate;
6591:
6592: end getWeightedRate;

Line 6634: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

6630: begin
6631:
6632: l_rate := 0;
6633: l_api_name := 'getRateDetails2';
6634: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6635: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - installment ' || p_installment);
6636:
6637: x := 1;
6638: Begin

Line 6635: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - installment ' || p_installment);

6631:
6632: l_rate := 0;
6633: l_api_name := 'getRateDetails2';
6634: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6635: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - installment ' || p_installment);
6636:
6637: x := 1;
6638: Begin
6639: LOOP

Line 6640: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - match row ' || x);

6636:
6637: x := 1;
6638: Begin
6639: LOOP
6640: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - match row ' || x);
6641: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate ' || p_rate_tbl(x).annual_rate);
6642: l_rate := p_rate_tbl(x).annual_rate;
6643: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate 1');
6644: l_rate_rec := p_rate_tbl(x);

Line 6641: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate ' || p_rate_tbl(x).annual_rate);

6637: x := 1;
6638: Begin
6639: LOOP
6640: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - match row ' || x);
6641: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate ' || p_rate_tbl(x).annual_rate);
6642: l_rate := p_rate_tbl(x).annual_rate;
6643: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate 1');
6644: l_rate_rec := p_rate_tbl(x);
6645: EXIT WHEN p_installment >= p_rate_tbl(x).begin_installment_number and

Line 6643: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate 1');

6639: LOOP
6640: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - match row ' || x);
6641: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate ' || p_rate_tbl(x).annual_rate);
6642: l_rate := p_rate_tbl(x).annual_rate;
6643: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - rate 1');
6644: l_rate_rec := p_rate_tbl(x);
6645: EXIT WHEN p_installment >= p_rate_tbl(x).begin_installment_number and
6646: p_installment <= p_rate_tbl(x).end_installment_number;
6647: x := x + 1;

Line 6653: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - no rate found for period');

6649: Exception
6650: When No_Data_found then
6651: -- when there is not a rate for this period it is assumed to be zero (see scenarios 3, 6, 8 in comments on getWeightedRate)
6652: --l_rate := 0;
6653: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - no rate found for period');
6654: when others then
6655: l_rate := 0;
6656:
6657: End;

Line 6663: --logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

6659: if l_rate = 0 then
6660: l_rate_rec.annual_rate := 0;
6661: end if;
6662:
6663: --logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
6664: return l_rate_rec;
6665:
6666: end getRateDetails;
6667:

Line 6709: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

6705: begin
6706:
6707: l_rate := 0;
6708: l_api_name := 'getRateDetails';
6709: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6710:
6711: x := 1;
6712: Begin
6713: LOOP

Line 6724: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - no rate found for period');

6720: Exception
6721: When No_Data_found then
6722: -- when there is not a rate for this period it is assumed to be zero (see scenarios 3, 6, 8 in comments on getWeightedRate)
6723: l_rate := 0;
6724: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' - no rate found for period');
6725: when others then
6726: l_rate := 0;
6727:
6728: End;

Line 6734: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

6730: if l_rate = 0 then
6731: l_rate_rec.annual_rate := 0;
6732: end if;
6733:
6734: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
6735:
6736: return l_rate_rec;
6737:
6738: end getRateDetails;

Line 6964: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

6960:
6961: begin
6962:
6963: l_api_name := 'getLoanDetails';
6964: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6965:
6966: --l_loan_id := p_loan_id;
6967: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_loan_id: ' || p_loan_id);
6968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_based_on_terms: ' || p_based_on_terms);

Line 6967: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_loan_id: ' || p_loan_id);

6963: l_api_name := 'getLoanDetails';
6964: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6965:
6966: --l_loan_id := p_loan_id;
6967: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_loan_id: ' || p_loan_id);
6968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_based_on_terms: ' || p_based_on_terms);
6969: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_phase: ' || p_phase);
6970:
6971: OPEN c_loan_details(p_loan_id, p_based_on_terms, p_phase);

Line 6968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_based_on_terms: ' || p_based_on_terms);

6964: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
6965:
6966: --l_loan_id := p_loan_id;
6967: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_loan_id: ' || p_loan_id);
6968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_based_on_terms: ' || p_based_on_terms);
6969: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_phase: ' || p_phase);
6970:
6971: OPEN c_loan_details(p_loan_id, p_based_on_terms, p_phase);
6972: FETCH c_loan_details INTO

Line 6969: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_phase: ' || p_phase);

6965:
6966: --l_loan_id := p_loan_id;
6967: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_loan_id: ' || p_loan_id);
6968: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_based_on_terms: ' || p_based_on_terms);
6969: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' p_phase: ' || p_phase);
6970:
6971: OPEN c_loan_details(p_loan_id, p_based_on_terms, p_phase);
6972: FETCH c_loan_details INTO
6973: l_loan_details.loan_id

Line 7047: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate_type ' || l_loan_details.rate_type);

7043: ,l_loan_details.open_floor_rate;
7044: close c_rate_information;
7045: */
7046:
7047: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate_type ' || l_loan_details.rate_type);
7048: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_rate_chg_freq ' || l_loan_details.open_rate_chg_freq);
7049: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_rate_id ' || l_loan_details.open_index_rate_id);
7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);
7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);

Line 7048: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_rate_chg_freq ' || l_loan_details.open_rate_chg_freq);

7044: close c_rate_information;
7045: */
7046:
7047: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate_type ' || l_loan_details.rate_type);
7048: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_rate_chg_freq ' || l_loan_details.open_rate_chg_freq);
7049: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_rate_id ' || l_loan_details.open_index_rate_id);
7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);
7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);
7052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_floor_rate ' || l_loan_details.open_floor_rate);

Line 7049: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_rate_id ' || l_loan_details.open_index_rate_id);

7045: */
7046:
7047: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate_type ' || l_loan_details.rate_type);
7048: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_rate_chg_freq ' || l_loan_details.open_rate_chg_freq);
7049: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_rate_id ' || l_loan_details.open_index_rate_id);
7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);
7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);
7052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_floor_rate ' || l_loan_details.open_floor_rate);
7053:

Line 7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);

7046:
7047: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate_type ' || l_loan_details.rate_type);
7048: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_rate_chg_freq ' || l_loan_details.open_rate_chg_freq);
7049: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_rate_id ' || l_loan_details.open_index_rate_id);
7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);
7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);
7052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_floor_rate ' || l_loan_details.open_floor_rate);
7053:
7054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': balloon_payment_amount' || l_loan_details.balloon_payment_amount);

Line 7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);

7047: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate_type ' || l_loan_details.rate_type);
7048: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_rate_chg_freq ' || l_loan_details.open_rate_chg_freq);
7049: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_rate_id ' || l_loan_details.open_index_rate_id);
7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);
7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);
7052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_floor_rate ' || l_loan_details.open_floor_rate);
7053:
7054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': balloon_payment_amount' || l_loan_details.balloon_payment_amount);
7055:

Line 7052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_floor_rate ' || l_loan_details.open_floor_rate);

7048: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_rate_chg_freq ' || l_loan_details.open_rate_chg_freq);
7049: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_rate_id ' || l_loan_details.open_index_rate_id);
7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);
7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);
7052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_floor_rate ' || l_loan_details.open_floor_rate);
7053:
7054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': balloon_payment_amount' || l_loan_details.balloon_payment_amount);
7055:
7056: -- begin fix for bug 6724522

Line 7054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': balloon_payment_amount' || l_loan_details.balloon_payment_amount);

7050: --logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_index_date ' || l_loan_details.open_index_date);
7051: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_ceiling_rate ' || l_loan_details.open_ceiling_rate);
7052: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': open_floor_rate ' || l_loan_details.open_floor_rate);
7053:
7054: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': balloon_payment_amount' || l_loan_details.balloon_payment_amount);
7055:
7056: -- begin fix for bug 6724522
7057: -- replacing loan terms with original data for p_based_on_terms <> 'CURRENT'
7058: if p_based_on_terms <> 'CURRENT' then

Line 7111: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting number of intervals');

7107: open c_last_interest_accrual(p_loan_id);
7108: fetch c_last_interest_accrual into l_loan_details.last_interest_accrual;
7109: close c_last_interest_accrual;
7110:
7111: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting number of intervals');
7112: -- get the number of installments on a loan
7113: -- this represents the number of payments on the loan
7114: /*
7115: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');

Line 7115: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');

7111: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting number of intervals');
7112: -- get the number of installments on a loan
7113: -- this represents the number of payments on the loan
7114: /*
7115: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7116: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.first_payment_date' || l_loan_Details.first_payment_date);
7117: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_amortized_to_Date' || l_amortized_to_Date);
7118: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_details.num_amortization_intervals' || l_loan_details.num_amortization_intervals);
7119: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.amortization_frequency' || l_loan_Details.amortization_frequency);

Line 7116: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.first_payment_date' || l_loan_Details.first_payment_date);

7112: -- get the number of installments on a loan
7113: -- this represents the number of payments on the loan
7114: /*
7115: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7116: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.first_payment_date' || l_loan_Details.first_payment_date);
7117: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_amortized_to_Date' || l_amortized_to_Date);
7118: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_details.num_amortization_intervals' || l_loan_details.num_amortization_intervals);
7119: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.amortization_frequency' || l_loan_Details.amortization_frequency);
7120: */

Line 7117: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_amortized_to_Date' || l_amortized_to_Date);

7113: -- this represents the number of payments on the loan
7114: /*
7115: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7116: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.first_payment_date' || l_loan_Details.first_payment_date);
7117: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_amortized_to_Date' || l_amortized_to_Date);
7118: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_details.num_amortization_intervals' || l_loan_details.num_amortization_intervals);
7119: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.amortization_frequency' || l_loan_Details.amortization_frequency);
7120: */
7121:

Line 7118: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_details.num_amortization_intervals' || l_loan_details.num_amortization_intervals);

7114: /*
7115: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7116: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.first_payment_date' || l_loan_Details.first_payment_date);
7117: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_amortized_to_Date' || l_amortized_to_Date);
7118: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_details.num_amortization_intervals' || l_loan_details.num_amortization_intervals);
7119: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.amortization_frequency' || l_loan_Details.amortization_frequency);
7120: */
7121:
7122: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');

Line 7119: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.amortization_frequency' || l_loan_Details.amortization_frequency);

7115: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7116: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.first_payment_date' || l_loan_Details.first_payment_date);
7117: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_amortized_to_Date' || l_amortized_to_Date);
7118: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_details.num_amortization_intervals' || l_loan_details.num_amortization_intervals);
7119: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.amortization_frequency' || l_loan_Details.amortization_frequency);
7120: */
7121:
7122: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7123: l_loan_details.number_installments := lns_fin_utils.intervalsInPeriod(l_loan_Details.loan_term

Line 7122: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');

7118: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_details.num_amortization_intervals' || l_loan_details.num_amortization_intervals);
7119: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_loan_Details.amortization_frequency' || l_loan_Details.amortization_frequency);
7120: */
7121:
7122: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7123: l_loan_details.number_installments := lns_fin_utils.intervalsInPeriod(l_loan_Details.loan_term
7124: ,l_loan_Details.loan_term_period
7125: ,l_loan_Details.payment_frequency);
7126:

Line 7127: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of principal payment intervals');

7123: l_loan_details.number_installments := lns_fin_utils.intervalsInPeriod(l_loan_Details.loan_term
7124: ,l_loan_Details.loan_term_period
7125: ,l_loan_Details.payment_frequency);
7126:
7127: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of principal payment intervals');
7128: l_loan_details.PRIN_NUMBER_INSTALLMENTS := lns_fin_utils.intervalsInPeriod(l_loan_Details.loan_term
7129: ,l_loan_Details.loan_term_period
7130: ,l_loan_Details.prin_payment_frequency);
7131:

Line 7132: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of principal amortized payment intervals');

7128: l_loan_details.PRIN_NUMBER_INSTALLMENTS := lns_fin_utils.intervalsInPeriod(l_loan_Details.loan_term
7129: ,l_loan_Details.loan_term_period
7130: ,l_loan_Details.prin_payment_frequency);
7131:
7132: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of principal amortized payment intervals');
7133: l_loan_details.PRIN_AMORT_INSTALLMENTS := lns_fin_utils.intervalsInPeriod(l_loan_Details.amortized_term
7134: ,l_loan_Details.amortized_term_period
7135: ,l_loan_Details.prin_payment_frequency);
7136:

Line 7152: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of amortization intervals');

7148: else
7149: l_loan_details.PRIN_PAY_IN_ARREARS_BOOL := false;
7150: end if;
7151:
7152: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of amortization intervals');
7153: l_loan_details.num_amortization_intervals := lns_fin_utils.intervalsInPeriod(l_loan_Details.amortized_term
7154: ,l_loan_Details.amortized_term_period
7155: ,l_loan_Details.amortization_frequency);
7156: if l_loan_details.balloon_payment_amount > 0 then

Line 7157: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - reducing number of amortization intervals');

7153: l_loan_details.num_amortization_intervals := lns_fin_utils.intervalsInPeriod(l_loan_Details.amortized_term
7154: ,l_loan_Details.amortized_term_period
7155: ,l_loan_Details.amortization_frequency);
7156: if l_loan_details.balloon_payment_amount > 0 then
7157: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - reducing number of amortization intervals');
7158: l_loan_details.num_amortization_intervals := l_loan_details.num_amortization_intervals - 1;
7159: end if;
7160:
7161: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting amortized to date');

Line 7161: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting amortized to date');

7157: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - reducing number of amortization intervals');
7158: l_loan_details.num_amortization_intervals := l_loan_details.num_amortization_intervals - 1;
7159: end if;
7160:
7161: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting amortized to date');
7162: l_amortized_to_Date := LNS_FIN_UTILS.getMaturityDate(p_term => l_loan_Details.amortized_term
7163: ,p_term_period => l_loan_Details.amortized_term_period
7164: ,p_frequency => l_loan_Details.amortization_frequency
7165: ,p_start_date => l_loan_Details.loan_start_date);

Line 7167: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting payment schedule');

7163: ,p_term_period => l_loan_Details.amortized_term_period
7164: ,p_frequency => l_loan_Details.amortization_frequency
7165: ,p_start_date => l_loan_Details.loan_start_date);
7166:
7167: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting payment schedule');
7168: -- fix for bug 5842639: added p_loan_start_date parameter to LNS_FIN_UTILS.getPaymentSchedule
7169: l_amortize_dates := LNS_FIN_UTILS.getPaymentSchedule(p_loan_start_date => l_loan_Details.loan_start_date
7170: ,p_first_pay_date => l_loan_Details.first_payment_date
7171: ,p_maturity_Date => l_amortized_to_Date

Line 7247: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting number of intervals');

7243: --open c_last_interest_accrual(p_loan_id);
7244: --fetch c_last_interest_accrual into l_loan_details.last_interest_accrual;
7245: --close c_last_interest_accrual;
7246: /*
7247: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting number of intervals');
7248: -- get the number of installments on a loan
7249: -- this represents the number of payments on the loan
7250: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7251: l_loan_details.number_installments := lns_fin_utils.intervalsInPeriod(l_loan_Details.loan_term

Line 7250: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');

7246: /*
7247: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': getting number of intervals');
7248: -- get the number of installments on a loan
7249: -- this represents the number of payments on the loan
7250: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting number of payment intervals');
7251: l_loan_details.number_installments := lns_fin_utils.intervalsInPeriod(l_loan_Details.loan_term
7252: ,l_loan_Details.loan_term_period
7253: ,l_loan_Details.payment_frequency);
7254:

Line 7264: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- BEGIN LOAN DETAILS ------------->');

7260: else
7261: l_loan_details.pay_in_arrears_boolean := false;
7262: end if;
7263: */
7264: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- BEGIN LOAN DETAILS ------------->');
7265:
7266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term: ' || l_loan_details.amortized_term);
7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);
7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);

Line 7266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term: ' || l_loan_details.amortized_term);

7262: end if;
7263: */
7264: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- BEGIN LOAN DETAILS ------------->');
7265:
7266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term: ' || l_loan_details.amortized_term);
7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);
7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);
7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);

Line 7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);

7263: */
7264: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- BEGIN LOAN DETAILS ------------->');
7265:
7266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term: ' || l_loan_details.amortized_term);
7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);
7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);
7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);

Line 7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);

7264: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- BEGIN LOAN DETAILS ------------->');
7265:
7266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term: ' || l_loan_details.amortized_term);
7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);
7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);
7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);

Line 7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);

7265:
7266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term: ' || l_loan_details.amortized_term);
7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);
7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);
7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);

Line 7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);

7266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term: ' || l_loan_details.amortized_term);
7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);
7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);
7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);

Line 7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);

7267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortized_term_period: ' || l_loan_details.amortized_term_period);
7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);
7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);

Line 7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);

7268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': amortization_frequency: ' || l_loan_details.amortization_frequency);
7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);

Line 7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);

7269: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': first_payment_date: ' || l_loan_details.first_payment_date);
7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);

Line 7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);

7270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_start_date: ' || l_loan_details.loan_start_date);
7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);

Line 7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);

7271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': funded_amount: ' || l_loan_details.funded_amount);
7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);

Line 7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);

7272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remaining_balance: ' || l_loan_details.remaining_balance);
7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);

Line 7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);

7273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number_installments: ' || l_loan_details.number_installments);
7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);

Line 7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);

7274: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': num_amortization_intervals: ' || l_loan_details.num_amortization_intervals);
7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);

Line 7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);

7275: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_amount: ' || l_loan_details.reamortize_amount);
7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);

Line 7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);

7276: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': reamortize_from_installment: ' || l_loan_details.reamortize_from_installment);
7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);

Line 7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);

7277: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': day_count_method: ' || l_loan_details.day_count_method);
7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);

Line 7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);

7278: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': last_installment_billed: ' || l_loan_details.last_installment_billed);
7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);
7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);

Line 7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);

7279: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': PAYMENT_CALC_METHOD: ' || l_loan_details.PAYMENT_CALC_METHOD);
7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);
7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);
7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);

Line 7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);

7280: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': CALCULATION_METHOD: ' || l_loan_details.CALCULATION_METHOD);
7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);
7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);
7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);
7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);

Line 7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);

7281: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': INTEREST_COMPOUNDING_FREQ: ' || l_loan_details.INTEREST_COMPOUNDING_FREQ);
7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);
7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);
7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);
7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);
7289:

Line 7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);

7282: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_first_pay_date: ' || l_loan_details.prin_first_pay_date);
7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);
7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);
7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);
7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);
7289:
7290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- END LOAN DETAILS --------------->');

Line 7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);

7283: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prin_payment_frequency: ' || l_loan_details.prin_payment_frequency);
7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);
7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);
7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);
7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);
7289:
7290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- END LOAN DETAILS --------------->');
7291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

Line 7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);

7284: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unbilled_principal ' || l_loan_details.unbilled_principal);
7285: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': unpaid_principal ' || l_loan_details.unpaid_principal);
7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);
7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);
7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);
7289:
7290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- END LOAN DETAILS --------------->');
7291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7292:

Line 7290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- END LOAN DETAILS --------------->');

7286: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': UNPAID_INTEREST ' || l_loan_details.UNPAID_INTEREST);
7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);
7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);
7289:
7290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- END LOAN DETAILS --------------->');
7291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7292:
7293: return l_loan_details;
7294:

Line 7291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

7287: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': extend_from_installment ' || l_loan_Details.extend_from_installment);
7288: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ORIG_PAY_CALC_METHOD ' || l_loan_Details.ORIG_PAY_CALC_METHOD);
7289:
7290: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '<---------- END LOAN DETAILS --------------->');
7291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7292:
7293: return l_loan_details;
7294:
7295: Exception

Line 7297: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - LOAN ID: ' || l_loan_id || ' not found');

7293: return l_loan_details;
7294:
7295: Exception
7296: When No_Data_Found then
7297: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - LOAN ID: ' || l_loan_id || ' not found');
7298: FND_MESSAGE.Set_Name('LNS', 'LNS_INVALID_LOAN_ID');
7299: FND_MSG_PUB.Add;
7300: RAISE FND_API.G_EXC_ERROR;
7301:

Line 7303: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || 'Err: ' || sqlerrm);

7299: FND_MSG_PUB.Add;
7300: RAISE FND_API.G_EXC_ERROR;
7301:
7302: When Others then
7303: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || 'Err: ' || sqlerrm);
7304: RAISE FND_API.G_EXC_ERROR;
7305:
7306: end getLoanDetails;
7307:

Line 7413: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

7409: SAVEPOINT shiftLoan;
7410: l_api_name := 'shiftLoan';
7411: i := 0;
7412:
7413: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7414: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
7415:
7416: -- Initialize API return status to SUCCESS
7417: x_return_status := FND_API.G_RET_STS_SUCCESS;

Line 7414: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);

7410: l_api_name := 'shiftLoan';
7411: i := 0;
7412:
7413: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7414: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
7415:
7416: -- Initialize API return status to SUCCESS
7417: x_return_status := FND_API.G_RET_STS_SUCCESS;
7418:

Line 7428: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - we need to move the loan');

7424: close move_maturity_date_cur;
7425:
7426: if l_move_maturity_date = -1 then
7427:
7428: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - we need to move the loan');
7429:
7430: -- get the final payment request date
7431: open c_max_pay_req_date(p_loan_id);
7432: fetch c_max_pay_req_date into l_max_pay_request_date;

Line 7434: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_max_pay_request_date' || l_max_pay_request_date);

7430: -- get the final payment request date
7431: open c_max_pay_req_date(p_loan_id);
7432: fetch c_max_pay_req_date into l_max_pay_request_date;
7433: close c_max_pay_req_date;
7434: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_max_pay_request_date' || l_max_pay_request_date);
7435:
7436: -- get loan info
7437: open c_loan_info(p_loan_id);
7438: fetch c_loan_info into

Line 7451: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_payment_frequency ' || l_payment_frequency);

7447: ,l_term_id
7448: ,l_current_phase;
7449: close c_loan_info;
7450:
7451: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_payment_frequency ' || l_payment_frequency);
7452: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_old_maturity_date ' || l_old_maturity_date );
7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);
7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);

Line 7452: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_old_maturity_date ' || l_old_maturity_date );

7448: ,l_current_phase;
7449: close c_loan_info;
7450:
7451: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_payment_frequency ' || l_payment_frequency);
7452: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_old_maturity_date ' || l_old_maturity_date );
7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);
7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );

Line 7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);

7449: close c_loan_info;
7450:
7451: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_payment_frequency ' || l_payment_frequency);
7452: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_old_maturity_date ' || l_old_maturity_date );
7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);
7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );
7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );

Line 7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );

7450:
7451: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_payment_frequency ' || l_payment_frequency);
7452: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_old_maturity_date ' || l_old_maturity_date );
7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);
7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );
7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );
7458: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_terms_version_number ' || l_terms_version_number );

Line 7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);

7451: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_payment_frequency ' || l_payment_frequency);
7452: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_old_maturity_date ' || l_old_maturity_date );
7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);
7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );
7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );
7458: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_terms_version_number ' || l_terms_version_number );
7459: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_id ' || l_term_id );

Line 7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );

7452: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_old_maturity_date ' || l_old_maturity_date );
7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);
7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );
7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );
7458: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_terms_version_number ' || l_terms_version_number );
7459: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_id ' || l_term_id );
7460:

Line 7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );

7453: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_custom_payments_flag ' || l_custom_payments_flag);
7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );
7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );
7458: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_terms_version_number ' || l_terms_version_number );
7459: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_id ' || l_term_id );
7460:
7461: if l_custom_payments_flag <> 'Y' then

Line 7458: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_terms_version_number ' || l_terms_version_number );

7454: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_phase_exists ' || l_term_phase_exists );
7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );
7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );
7458: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_terms_version_number ' || l_terms_version_number );
7459: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_id ' || l_term_id );
7460:
7461: if l_custom_payments_flag <> 'Y' then
7462: -- we will be converting the term of the loan if frequency > MONTHLY

Line 7459: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_id ' || l_term_id );

7455: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term ' || l_term);
7456: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_period ' || l_term_period );
7457: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_version_number ' || l_version_number );
7458: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_terms_version_number ' || l_terms_version_number );
7459: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_term_id ' || l_term_id );
7460:
7461: if l_custom_payments_flag <> 'Y' then
7462: -- we will be converting the term of the loan if frequency > MONTHLY
7463: if l_payment_frequency <> 'SEMI-MONTHLY' AND l_payment_frequency <> 'WEEKLY' then

Line 7482: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - i ' || l_new_maturity_date);

7478:
7479: loop
7480: -- i will be the number of "TERMS" to add the LNS_LOAN_HEADERS.TERM
7481: i := i + 1;
7482: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - i ' || l_new_maturity_date);
7483: l_new_maturity_date := lns_fin_utils.getNextDate(p_date => l_new_maturity_date
7484: ,p_interval_type => l_new_frequency
7485: ,p_direction => 1);
7486: exit when l_new_maturity_date >= l_max_pay_request_date;

Line 7489: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - NEW MATURITY DATE' || l_new_maturity_date );

7485: ,p_direction => 1);
7486: exit when l_new_maturity_date >= l_max_pay_request_date;
7487: end loop;
7488:
7489: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - NEW MATURITY DATE' || l_new_maturity_date );
7490:
7491: --now we move the loan dates
7492: if (l_current_phase = 'OPEN' and l_term_phase_exists = 'Y') then
7493: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting new term dates');

Line 7493: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting new term dates');

7489: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - NEW MATURITY DATE' || l_new_maturity_date );
7490:
7491: --now we move the loan dates
7492: if (l_current_phase = 'OPEN' and l_term_phase_exists = 'Y') then
7493: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting new term dates');
7494:
7495: -- Bug#6169438, Added new parameter l_dates_shifted_flag
7496: shiftLoanDates(p_loan_id => p_loan_id
7497: ,p_new_start_date => l_new_maturity_date

Line 7504: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM start date is ' || l_loan_details.loan_start_date);

7500: ,x_dates_shifted_flag => l_dates_shifted_flag
7501: ,x_return_status => l_return_status
7502: ,x_msg_count => l_msg_count
7503: ,x_msg_data => l_msg_data);
7504: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM start date is ' || l_loan_details.loan_start_date);
7505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM first payment date is ' || l_loan_details.first_payment_Date);
7506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM maturity date is ' || l_loan_details.maturity_date);
7507:
7508: -- items to update for term phase

Line 7505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM first payment date is ' || l_loan_details.first_payment_Date);

7501: ,x_return_status => l_return_status
7502: ,x_msg_count => l_msg_count
7503: ,x_msg_data => l_msg_data);
7504: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM start date is ' || l_loan_details.loan_start_date);
7505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM first payment date is ' || l_loan_details.first_payment_Date);
7506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM maturity date is ' || l_loan_details.maturity_date);
7507:
7508: -- items to update for term phase
7509: l_term_rec.term_id := l_term_id;

Line 7506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM maturity date is ' || l_loan_details.maturity_date);

7502: ,x_msg_count => l_msg_count
7503: ,x_msg_data => l_msg_data);
7504: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM start date is ' || l_loan_details.loan_start_date);
7505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM first payment date is ' || l_loan_details.first_payment_Date);
7506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' new TERM maturity date is ' || l_loan_details.maturity_date);
7507:
7508: -- items to update for term phase
7509: l_term_rec.term_id := l_term_id;
7510: l_term_rec.FIRST_PAYMENT_DATE := l_loan_details.first_payment_Date;

Line 7553: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - NOTHING TO MOVE');

7549: end if; -- open phase
7550: end if; -- custom payments
7551:
7552: else
7553: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - NOTHING TO MOVE');
7554: end if;
7555:
7556: --
7557: -- End of API body

Line 7568: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

7564:
7565:
7566: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7567:
7568: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7569:
7570: EXCEPTION
7571: WHEN FND_API.G_EXC_ERROR THEN
7572: ROLLBACK TO shiftLoan;

Line 7577: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

7573: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7574: x_return_status := FND_API.G_RET_STS_ERROR;
7575: x_msg_count := l_msg_count;
7576: x_msg_data := l_msg_data;
7577: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
7578:
7579: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7580: ROLLBACK TO shiftLoan;
7581: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);

Line 7585: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

7581: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7582: x_return_status := FND_API.G_RET_STS_ERROR;
7583: x_msg_count := l_msg_count;
7584: x_msg_data := l_msg_data;
7585: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
7586:
7587: WHEN OTHERS THEN
7588: ROLLBACK TO shiftLoan;
7589: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);

Line 7593: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

7589: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7590: x_return_status := FND_API.G_RET_STS_ERROR;
7591: x_msg_count := l_msg_count;
7592: x_msg_data := l_msg_data;
7593: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
7594:
7595: end shiftLoan;
7596:
7597: /*=========================================================================

Line 7651: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

7647: SAVEPOINT shiftLoanDates;
7648: l_api_name := 'shiftLoanDates';
7649: x := 0;
7650:
7651: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7652: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
7653: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_new_start_date ' || p_new_start_date);
7654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
7655:

Line 7652: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);

7648: l_api_name := 'shiftLoanDates';
7649: x := 0;
7650:
7651: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7652: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
7653: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_new_start_date ' || p_new_start_date);
7654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
7655:
7656: -- Initialize API return status to SUCCESS

Line 7653: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_new_start_date ' || p_new_start_date);

7649: x := 0;
7650:
7651: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7652: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
7653: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_new_start_date ' || p_new_start_date);
7654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
7655:
7656: -- Initialize API return status to SUCCESS
7657: x_return_status := FND_API.G_RET_STS_SUCCESS;

Line 7654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);

7650:
7651: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7652: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
7653: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_new_start_date ' || p_new_start_date);
7654: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_phase ' || p_phase);
7655:
7656: -- Initialize API return status to SUCCESS
7657: x_return_status := FND_API.G_RET_STS_SUCCESS;
7658: x_dates_shifted_flag := 'N';

Line 7697: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - matched date at ' || x);

7693: for i in 1..l_loan_details.number_installments Loop
7694: x := x + 1;
7695: if l_loan_details.first_payment_date = add_months(l_loan_details.loan_start_date, x) then
7696: l_new_first_payment_date := add_months(p_new_start_date, x);
7697: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - matched date at ' || x);
7698: exit;
7699: end if;
7700: end loop;
7701:

Line 7708: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_day_difference ' || l_day_difference);

7704: -- this is according to the day count method
7705: l_day_difference := LNS_FIN_UTILS.getDayCount(p_start_date => l_loan_details.loan_start_Date
7706: ,p_end_date => l_loan_details.first_payment_Date
7707: ,p_day_count_method => l_loan_details.day_count_method);
7708: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_day_difference ' || l_day_difference);
7709:
7710: -- tack on the same number of days to the new loan start date
7711: l_new_first_payment_date := p_new_start_Date + l_day_difference;
7712: */

Line 7713: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_first_payment_date ' || l_new_first_payment_date);

7709:
7710: -- tack on the same number of days to the new loan start date
7711: l_new_first_payment_date := p_new_start_Date + l_day_difference;
7712: */
7713: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_first_payment_date ' || l_new_first_payment_date);
7714:
7715: -- get the new maturity date
7716: l_new_maturity_date := LNS_FIN_UTILS.getMaturityDate(p_term => l_loan_Details.loan_term
7717: ,p_term_period => l_loan_Details.loan_term_period

Line 7721: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_maturity_date ' || l_new_maturity_date);

7717: ,p_term_period => l_loan_Details.loan_term_period
7718: ,p_frequency => l_loan_Details.amortization_frequency
7719: ,p_start_date => p_new_start_date);
7720:
7721: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_maturity_date ' || l_new_maturity_date);
7722:
7723: --Bug#6169438 - Check whether the loan dates are changed or not.
7724: IF ((l_loan_Details.loan_start_date <> p_new_start_date) OR (l_loan_details.first_payment_Date <> l_new_first_payment_date) OR (l_loan_Details.maturity_Date <> l_new_maturity_Date)) THEN
7725: x_dates_shifted_flag := 'Y';

Line 7728: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - x_dates_shifted_flag ' || x_dates_shifted_flag);

7724: IF ((l_loan_Details.loan_start_date <> p_new_start_date) OR (l_loan_details.first_payment_Date <> l_new_first_payment_date) OR (l_loan_Details.maturity_Date <> l_new_maturity_Date)) THEN
7725: x_dates_shifted_flag := 'Y';
7726: END IF;
7727:
7728: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - x_dates_shifted_flag ' || x_dates_shifted_flag);
7729:
7730:
7731: -- assign the new dates to the loan details record
7732: l_loan_Details.loan_start_date := p_new_start_date;

Line 7742: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

7738: -- End of API body
7739: --
7740: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7741:
7742: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7743:
7744: EXCEPTION
7745: WHEN FND_API.G_EXC_ERROR THEN
7746: ROLLBACK TO shiftLoanDates;

Line 7751: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

7747: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7748: x_return_status := FND_API.G_RET_STS_ERROR;
7749: x_msg_count := l_msg_count;
7750: x_msg_data := l_msg_data;
7751: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
7752:
7753: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7754: ROLLBACK TO shiftLoanDates;
7755: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);

Line 7759: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

7755: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7756: x_return_status := FND_API.G_RET_STS_ERROR;
7757: x_msg_count := l_msg_count;
7758: x_msg_data := l_msg_data;
7759: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
7760:
7761: WHEN OTHERS THEN
7762: ROLLBACK TO shiftLoanDates;
7763: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);

Line 7767: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

7763: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
7764: x_return_status := FND_API.G_RET_STS_ERROR;
7765: x_msg_count := l_msg_count;
7766: x_msg_data := l_msg_data;
7767: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
7768: end shiftLoanDates;
7769:
7770:
7771: /*=========================================================================

Line 7816: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

7812:
7813: begin
7814:
7815: l_api_name := 'calculateEPPayment';
7816: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7817:
7818: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7820: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);

Line 7818: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);

7814:
7815: l_api_name := 'calculateEPPayment';
7816: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7817:
7818: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7820: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7821:
7822: l_periodic_amount := (p_loan_amount - p_ending_balance) / p_num_intervals;

Line 7819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);

7815: l_api_name := 'calculateEPPayment';
7816: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7817:
7818: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7820: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7821:
7822: l_periodic_amount := (p_loan_amount - p_ending_balance) / p_num_intervals;
7823:

Line 7820: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);

7816: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7817:
7818: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7820: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7821:
7822: l_periodic_amount := (p_loan_amount - p_ending_balance) / p_num_intervals;
7823:
7824: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic_prin_amount: ' || l_periodic_amount);

Line 7824: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic_prin_amount: ' || l_periodic_amount);

7820: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7821:
7822: l_periodic_amount := (p_loan_amount - p_ending_balance) / p_num_intervals;
7823:
7824: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic_prin_amount: ' || l_periodic_amount);
7825: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7826:
7827: return l_periodic_amount;
7828:

Line 7825: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

7821:
7822: l_periodic_amount := (p_loan_amount - p_ending_balance) / p_num_intervals;
7823:
7824: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic_prin_amount: ' || l_periodic_amount);
7825: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7826:
7827: return l_periodic_amount;
7828:
7829: Exception

Line 7892: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

7888:
7889: begin
7890:
7891: l_api_name := 'calculatePayment';
7892: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7893:
7894: if p_pay_in_arrears then
7895: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in arrears');
7896: else

Line 7895: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in arrears');

7891: l_api_name := 'calculatePayment';
7892: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
7893:
7894: if p_pay_in_arrears then
7895: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in arrears');
7896: else
7897: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in advance');
7898: end if;
7899: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);

Line 7897: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in advance');

7893:
7894: if p_pay_in_arrears then
7895: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in arrears');
7896: else
7897: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in advance');
7898: end if;
7899: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate is ' || p_periodic_rate);
7901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);

Line 7899: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);

7895: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in arrears');
7896: else
7897: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in advance');
7898: end if;
7899: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate is ' || p_periodic_rate);
7901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7902: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7903:

Line 7900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate is ' || p_periodic_rate);

7896: else
7897: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in advance');
7898: end if;
7899: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate is ' || p_periodic_rate);
7901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7902: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7903:
7904: l_num_intervals := p_num_intervals;

Line 7901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);

7897: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' pay in advance');
7898: end if;
7899: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate is ' || p_periodic_rate);
7901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7902: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7903:
7904: l_num_intervals := p_num_intervals;
7905: if l_num_intervals = 0 then

Line 7902: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);

7898: end if;
7899: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': number of intervals is ' || p_num_intervals);
7900: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate is ' || p_periodic_rate);
7901: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': ending balance is ' || p_ending_balance);
7902: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ': loan amount is ' || p_loan_amount);
7903:
7904: l_num_intervals := p_num_intervals;
7905: if l_num_intervals = 0 then
7906: l_num_intervals := 1;

Line 7915: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 1');

7911: if p_ending_balance = 0 then
7912:
7913: if p_pay_in_arrears then
7914: if p_periodic_rate <> 0 then
7915: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 1');
7916: l_numerator := p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals) * p_loan_amount;
7917: l_denominator := Power ((1 + p_periodic_rate), l_num_intervals) - 1;
7918: else
7919: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 2');

Line 7919: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 2');

7915: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 1');
7916: l_numerator := p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals) * p_loan_amount;
7917: l_denominator := Power ((1 + p_periodic_rate), l_num_intervals) - 1;
7918: else
7919: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 2');
7920: l_numerator := Power (1, l_num_intervals) * p_loan_amount;
7921: l_denominator := l_num_intervals;
7922: end if;
7923: else

Line 7925: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 3');

7921: l_denominator := l_num_intervals;
7922: end if;
7923: else
7924: if p_periodic_rate <> 0 then
7925: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 3');
7926: l_numerator := p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals - 1) * p_loan_amount;
7927: l_denominator := Power ((1 + p_periodic_rate), l_num_intervals) - 1;
7928: else
7929: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 4');

Line 7929: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 4');

7925: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 3');
7926: l_numerator := p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals - 1) * p_loan_amount;
7927: l_denominator := Power ((1 + p_periodic_rate), l_num_intervals) - 1;
7928: else
7929: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 4');
7930: l_numerator := Power (1, l_num_intervals - 1) * p_loan_amount;
7931: l_denominator := l_num_intervals;
7932: end if;
7933:

Line 7936: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': numerator:' || l_numerator);

7932: end if;
7933:
7934: end if;
7935:
7936: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': numerator:' || l_numerator);
7937: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': denominator:' || l_denominator);
7938:
7939: l_periodic_amount := l_numerator / l_denominator;
7940:

Line 7937: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': denominator:' || l_denominator);

7933:
7934: end if;
7935:
7936: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': numerator:' || l_numerator);
7937: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': denominator:' || l_denominator);
7938:
7939: l_periodic_amount := l_numerator / l_denominator;
7940:
7941: else -- for case of balloon payment

Line 7946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 5');

7942:
7943: if p_pay_in_arrears then
7944: if p_periodic_rate <> 0 then
7945:
7946: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 5');
7947: l_periodic_amount := ( (p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals) * p_loan_amount) / (Power ((1 + p_periodic_rate), l_num_intervals) - 1) ) +
7948: ( (p_periodic_rate * p_ending_balance) / ((1 + p_periodic_rate) - Power ((1 + p_periodic_rate), l_num_intervals + 1)) );
7949:
7950: else

Line 7951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 6');

7947: l_periodic_amount := ( (p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals) * p_loan_amount) / (Power ((1 + p_periodic_rate), l_num_intervals) - 1) ) +
7948: ( (p_periodic_rate * p_ending_balance) / ((1 + p_periodic_rate) - Power ((1 + p_periodic_rate), l_num_intervals + 1)) );
7949:
7950: else
7951: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 6');
7952: l_periodic_amount := ( (Power ((1 + p_periodic_rate), l_num_intervals) * p_loan_amount) / l_num_intervals ) -
7953: ( p_ending_balance / l_num_intervals );
7954: end if;
7955:

Line 7958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 7');

7954: end if;
7955:
7956: else
7957: if p_periodic_rate <> 0 then
7958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 7');
7959: l_periodic_amount := ( (p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals - 1) * p_loan_amount) / (Power ((1 + p_periodic_rate), l_num_intervals) - 1) ) +
7960: ( (p_periodic_rate * p_ending_balance) / ((1 + p_periodic_rate) - Power ((1 + p_periodic_rate), l_num_intervals + 1)) );
7961: else
7962: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 8');

Line 7962: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 8');

7958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 7');
7959: l_periodic_amount := ( (p_periodic_rate * Power ((1 + p_periodic_rate), l_num_intervals - 1) * p_loan_amount) / (Power ((1 + p_periodic_rate), l_num_intervals) - 1) ) +
7960: ( (p_periodic_rate * p_ending_balance) / ((1 + p_periodic_rate) - Power ((1 + p_periodic_rate), l_num_intervals + 1)) );
7961: else
7962: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': if 8');
7963: l_periodic_amount := ( (Power ((1 + p_periodic_rate), l_num_intervals - 1) * p_loan_amount) / l_num_intervals ) -
7964: ( p_ending_balance / l_num_intervals );
7965: end if;
7966:

Line 7971: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic_amount: ' || l_periodic_amount);

7967: end if;
7968:
7969: end if;
7970:
7971: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic_amount: ' || l_periodic_amount);
7972: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7973:
7974: return l_periodic_amount;
7975:

Line 7972: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

7968:
7969: end if;
7970:
7971: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic_amount: ' || l_periodic_amount);
7972: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
7973:
7974: return l_periodic_amount;
7975:
7976: Exception

Line 8035: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

8031:
8032: begin
8033:
8034: l_api_name := 'calculateInterest';
8035: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8036: if p_amount > 0 then
8037: l_amount := p_amount;
8038: else
8039: l_amount := 0;

Line 8042: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

8038: else
8039: l_amount := 0;
8040: end if;
8041:
8042: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8043:
8044: return l_amount * p_periodic_rate;
8045:
8046: end calculateInterest;

Line 8091: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

8087:
8088: -- Initialize API return status to SUCCESS
8089: x_return_status := FND_API.G_RET_STS_SUCCESS;
8090: l_api_name := 'validatePayoff';
8091: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8092: --
8093: -- Api body
8094: -- --------------------------------------------------------------------
8095:

Line 8113: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff too early');

8109: RAISE FND_API.G_EXC_ERROR;
8110: end if;
8111:
8112: if p_payoff_date < p_loan_details.last_interest_accrual then
8113: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff too early');
8114: FND_MESSAGE.Set_Name('LNS', 'LNS_PAYOFF_TOO_EARLY');
8115: FND_MESSAGE.SET_TOKEN('PAYOFF_DATE', fnd_date.date_to_displaydate(p_loan_details.last_interest_accrual));
8116: FND_MSG_PUB.Add;
8117: RAISE FND_API.G_EXC_ERROR;

Line 8121: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff too early');

8117: RAISE FND_API.G_EXC_ERROR;
8118: end if;
8119:
8120: if p_payoff_date < p_loan_details.last_activity_date then
8121: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff too early');
8122: FND_MESSAGE.Set_Name('LNS', 'LNS_PAYOFF_TOO_EARLY2');
8123: FND_MESSAGE.SET_TOKEN('PARAMETER', 'LAST_ACTIVITY_DATE');
8124: FND_MESSAGE.SET_TOKEN('VALUE', fnd_date.date_to_displaydate(p_loan_details.last_activity_date));
8125: FND_MSG_PUB.Add;

Line 8130: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - calling LNS_FUNDING_PUB.validate_disb_for_payoff returns ');

8126: RAISE FND_API.G_EXC_ERROR;
8127: end if;
8128:
8129: /* raverma added 12-08-05 */
8130: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - calling LNS_FUNDING_PUB.validate_disb_for_payoff returns ');
8131: LNS_FUNDING_PUB.VALIDATE_DISB_FOR_PAYOFF(P_API_VERSION => 1.0
8132: ,P_INIT_MSG_LIST => FND_API.G_FALSE
8133: ,P_COMMIT => FND_API.G_FALSE
8134: ,P_VALIDATION_LEVEL => 100

Line 8140: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate_disb_for_payoff returns ' || l_return_Status);

8136: ,x_return_status => l_return_status
8137: ,x_msg_count => l_msg_count
8138: ,x_msg_data => l_msg_data);
8139: if l_return_Status <> FND_API.G_RET_STS_SUCCESS then
8140: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - validate_disb_for_payoff returns ' || l_return_Status);
8141: RAISE FND_API.G_EXC_ERROR;
8142: end if;
8143:
8144: x_return_status := l_return_Status;

Line 8151: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

8147: --
8148:
8149: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8150:
8151: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8152:
8153: exception
8154:
8155: WHEN FND_API.G_EXC_ERROR THEN

Line 8160: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

8156: x_return_status := FND_API.G_RET_STS_ERROR;
8157: x_msg_count := l_msg_count;
8158: x_msg_data := l_msg_data;
8159: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8160: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
8161:
8162: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8163: x_return_status := FND_API.G_RET_STS_ERROR;
8164: x_msg_count := l_msg_count;

Line 8167: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

8163: x_return_status := FND_API.G_RET_STS_ERROR;
8164: x_msg_count := l_msg_count;
8165: x_msg_data := l_msg_data;
8166: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8167: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
8168:
8169: WHEN OTHERS THEN
8170: x_return_status := FND_API.G_RET_STS_ERROR;
8171: x_msg_count := l_msg_count;

Line 8174: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

8170: x_return_status := FND_API.G_RET_STS_ERROR;
8171: x_msg_count := l_msg_count;
8172: x_msg_data := l_msg_data;
8173: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8174: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
8175:
8176: end validatePayoff;
8177:
8178: /*=========================================================================

Line 8289: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

8285: l_principal_unpaid := 0;
8286: l_interest_unpaid := 0;
8287: l_fees_unpaid := 0;
8288: l_balance := 0;
8289: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8290: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
8291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_payoff_date ' || p_payoff_date);
8292:
8293: -- Standard Start of API savepoint

Line 8290: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);

8286: l_interest_unpaid := 0;
8287: l_fees_unpaid := 0;
8288: l_balance := 0;
8289: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8290: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
8291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_payoff_date ' || p_payoff_date);
8292:
8293: -- Standard Start of API savepoint
8294: SAVEPOINT calculatePayoff;

Line 8291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_payoff_date ' || p_payoff_date);

8287: l_fees_unpaid := 0;
8288: l_balance := 0;
8289: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8290: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id ' || p_loan_id);
8291: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_payoff_date ' || p_payoff_date);
8292:
8293: -- Standard Start of API savepoint
8294: SAVEPOINT calculatePayoff;
8295:

Line 8315: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting current phase');

8311: --
8312: -- Api body
8313: -- --------------------------------------------------------------------
8314:
8315: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting current phase');
8316: open c_loan_info(p_loan_id);
8317: fetch c_loan_info into l_current_phase, l_rate_type, l_index_rate_id;
8318: close c_loan_info;
8319: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - current phase ' || l_current_phase);

Line 8319: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - current phase ' || l_current_phase);

8315: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting current phase');
8316: open c_loan_info(p_loan_id);
8317: fetch c_loan_info into l_current_phase, l_rate_type, l_index_rate_id;
8318: close c_loan_info;
8319: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - current phase ' || l_current_phase);
8320: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_type ' || l_rate_type);
8321: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_index_rate_id ' || l_index_rate_id);
8322:
8323: -- bug #4865575

Line 8320: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_type ' || l_rate_type);

8316: open c_loan_info(p_loan_id);
8317: fetch c_loan_info into l_current_phase, l_rate_type, l_index_rate_id;
8318: close c_loan_info;
8319: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - current phase ' || l_current_phase);
8320: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_type ' || l_rate_type);
8321: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_index_rate_id ' || l_index_rate_id);
8322:
8323: -- bug #4865575
8324: if l_rate_type = 'VARIABLE' then

Line 8321: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_index_rate_id ' || l_index_rate_id);

8317: fetch c_loan_info into l_current_phase, l_rate_type, l_index_rate_id;
8318: close c_loan_info;
8319: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - current phase ' || l_current_phase);
8320: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_type ' || l_rate_type);
8321: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_index_rate_id ' || l_index_rate_id);
8322:
8323: -- bug #4865575
8324: if l_rate_type = 'VARIABLE' then
8325:

Line 8330: LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, l_api_name || FND_MSG_PUB.Get(p_encoded => 'F'));

8326: l_rate_for_date := lns_fin_utils.getRateForDate(p_index_rate_id => l_index_rate_id
8327: ,p_rate_date => p_payoff_date);
8328:
8329: if l_rate_for_date is null then
8330: LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, l_api_name || FND_MSG_PUB.Get(p_encoded => 'F'));
8331: FND_MESSAGE.Set_Name('LNS', 'LNS_INVALID_PAYOFF_DATE');
8332: FND_MSG_PUB.Add;
8333: RAISE FND_API.G_EXC_ERROR;
8334: end if;

Line 8342: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - got loan details and rate info');

8338: l_loan_details := lns_financials.getLoanDetails(p_loan_id => p_loan_id
8339: ,p_based_on_terms => 'CURRENT'
8340: ,p_phase => l_current_phase);
8341: l_rate_tbl := lns_financials.getRateSchedule(p_loan_id, l_current_phase);
8342: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - got loan details and rate info');
8343:
8344: lns_financials.validatePayoff(p_loan_details => l_loan_details
8345: ,p_payoff_date => p_payoff_date
8346: ,x_return_status => l_return_status

Line 8350: LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, l_api_name || FND_MSG_PUB.Get(p_encoded => 'F'));

8346: ,x_return_status => l_return_status
8347: ,x_msg_count => l_msg_count
8348: ,x_msg_data => l_msg_data);
8349: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8350: LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, l_api_name || FND_MSG_PUB.Get(p_encoded => 'F'));
8351: RAISE FND_API.G_EXC_ERROR;
8352: END IF;
8353:
8354: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - processing late fees');

Line 8354: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - processing late fees');

8350: LogMessage(FND_LOG.LEVEL_UNEXPECTED, G_PKG_NAME, l_api_name || FND_MSG_PUB.Get(p_encoded => 'F'));
8351: RAISE FND_API.G_EXC_ERROR;
8352: END IF;
8353:
8354: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - processing late fees');
8355: lns_fee_engine.processLateFees(p_loan_id => p_loan_id
8356: ,p_init_msg_list => p_init_msg_list
8357: ,p_commit => 'F'
8358: ,x_return_status => l_return_status

Line 8363: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff prior to last interest accrual');

8359: ,x_msg_count => l_msg_count
8360: ,x_msg_data => l_msg_data);
8361:
8362: if p_payoff_date < l_loan_details.last_interest_accrual then
8363: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff prior to last interest accrual');
8364: -- we will have a interest credit
8365: l_from_date := p_payoff_date;
8366: l_to_date := l_loan_details.last_interest_accrual;
8367: l_multipler := -1;

Line 8376: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff after lastinterest accrual');

8372: ,p_to_date => l_loan_details.last_interest_accrual
8373: ,p_calc_method => null);
8374: */
8375: else
8376: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - payoff after lastinterest accrual');
8377: l_from_date := l_loan_details.last_interest_accrual;
8378: l_to_date := p_payoff_date;
8379: l_multipler := 1;
8380: -- l_balance := l_loan_details.remaining_balance;

Line 8382: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - computed principal balance: ' || l_balance);

8378: l_to_date := p_payoff_date;
8379: l_multipler := 1;
8380: -- l_balance := l_loan_details.remaining_balance;
8381: end if;
8382: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - computed principal balance: ' || l_balance);
8383: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - from date: ' || l_from_date);
8384: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - to date: ' || l_to_date);
8385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_muliplier: ' || l_multipler);
8386:

Line 8383: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - from date: ' || l_from_date);

8379: l_multipler := 1;
8380: -- l_balance := l_loan_details.remaining_balance;
8381: end if;
8382: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - computed principal balance: ' || l_balance);
8383: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - from date: ' || l_from_date);
8384: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - to date: ' || l_to_date);
8385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_muliplier: ' || l_multipler);
8386:
8387: BEGIN

Line 8384: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - to date: ' || l_to_date);

8380: -- l_balance := l_loan_details.remaining_balance;
8381: end if;
8382: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - computed principal balance: ' || l_balance);
8383: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - from date: ' || l_from_date);
8384: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - to date: ' || l_to_date);
8385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_muliplier: ' || l_multipler);
8386:
8387: BEGIN
8388: -- changes as per scherkas 11-16-2005

Line 8385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_muliplier: ' || l_multipler);

8381: end if;
8382: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - computed principal balance: ' || l_balance);
8383: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - from date: ' || l_from_date);
8384: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - to date: ' || l_to_date);
8385: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_muliplier: ' || l_multipler);
8386:
8387: BEGIN
8388: -- changes as per scherkas 11-16-2005
8389: select

Line 8406: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_principal_unpaid: ' || l_principal_unpaid);

8402: Exception
8403: when no_data_found then
8404: null;
8405: END;
8406: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_principal_unpaid: ' || l_principal_unpaid);
8407: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_interest_unpaid: ' || l_interest_unpaid);
8408: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_fees_unpaid: ' || l_fees_unpaid);
8409: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - status: ' || l_loan_details.loan_status);
8410:

Line 8407: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_interest_unpaid: ' || l_interest_unpaid);

8403: when no_data_found then
8404: null;
8405: END;
8406: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_principal_unpaid: ' || l_principal_unpaid);
8407: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_interest_unpaid: ' || l_interest_unpaid);
8408: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_fees_unpaid: ' || l_fees_unpaid);
8409: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - status: ' || l_loan_details.loan_status);
8410:
8411: -- get the wtd rate if necessary

Line 8408: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_fees_unpaid: ' || l_fees_unpaid);

8404: null;
8405: END;
8406: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_principal_unpaid: ' || l_principal_unpaid);
8407: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_interest_unpaid: ' || l_interest_unpaid);
8408: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_fees_unpaid: ' || l_fees_unpaid);
8409: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - status: ' || l_loan_details.loan_status);
8410:
8411: -- get the wtd rate if necessary
8412: -- need to address floating rates here

Line 8409: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - status: ' || l_loan_details.loan_status);

8405: END;
8406: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_principal_unpaid: ' || l_principal_unpaid);
8407: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_interest_unpaid: ' || l_interest_unpaid);
8408: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_fees_unpaid: ' || l_fees_unpaid);
8409: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - status: ' || l_loan_details.loan_status);
8410:
8411: -- get the wtd rate if necessary
8412: -- need to address floating rates here
8413: if l_rate_tbl.count = 1 then

Line 8421: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_annualized_rate: ' || l_annualized_rate);

8417: ,p_start_date => l_from_date
8418: ,p_end_date => l_to_date
8419: ,p_rate_tbl => l_rate_tbl);
8420: end if;
8421: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_annualized_rate: ' || l_annualized_rate);
8422:
8423: l_norm_interest := 0;
8424: l_add_prin_interest := 0;
8425: l_add_int_interest := 0;

Line 8430: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');

8426: l_penal_prin_interest := 0;
8427: l_penal_int_interest := 0;
8428: l_penal_interest := 0;
8429:
8430: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating normal interest...');
8431: l_norm_interest := LNS_FINANCIALS.CALC_NORM_INTEREST(p_loan_id => p_loan_id,
8432: p_calc_method => l_loan_details.CALCULATION_METHOD,
8433: p_period_start_date => l_from_date,
8434: p_period_end_date => l_to_date,

Line 8453: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');

8449: l_add_start_date := l_from_date;
8450: end if;
8451: l_add_end_date := l_to_date;
8452:
8453: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid principal...');
8454: -- calculate additional interest on unpaid principal
8455: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => p_loan_id,
8456: p_calc_method => l_loan_details.CALCULATION_METHOD,
8457: p_period_start_date => l_add_start_date,

Line 8474: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');

8470: l_add_prin_interest := round(l_add_prin_interest, l_loan_details.currency_precision);
8471:
8472: if (l_loan_details.CALCULATION_METHOD = 'COMPOUND') then
8473:
8474: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Calculating additional interest on unpaid interest...');
8475: -- calculate additional interest on unpaid interest
8476:
8477: LNS_FINANCIALS.CALC_ADD_INTEREST(p_loan_id => p_loan_id,
8478: p_calc_method => l_loan_details.CALCULATION_METHOD,

Line 8498: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_additional_interest: ' || l_additional_interest);

8494: end if;
8495:
8496: l_penal_interest := round(l_penal_prin_interest + l_penal_int_interest, l_loan_details.currency_precision);
8497: l_additional_interest := (l_norm_interest + l_add_prin_interest + l_add_int_interest + l_penal_interest) * l_multipler;
8498: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_additional_interest: ' || l_additional_interest);
8499:
8500: begin
8501: open c_additional_fees(p_loan_id);
8502: fetch c_additional_fees into l_additional_fees;

Line 8531: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

8527: --
8528:
8529: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8530:
8531: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8532:
8533: EXCEPTION
8534: WHEN FND_API.G_EXC_ERROR THEN
8535: ROLLBACK TO calculatePayoff;

Line 8540: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

8536: x_return_status := FND_API.G_RET_STS_ERROR;
8537: x_msg_count := l_msg_count;
8538: x_msg_data := l_msg_data;
8539: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8540: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
8541:
8542: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8543: ROLLBACK TO calculatePayoff;
8544: x_return_status := FND_API.G_RET_STS_ERROR;

Line 8548: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

8544: x_return_status := FND_API.G_RET_STS_ERROR;
8545: x_msg_count := l_msg_count;
8546: x_msg_data := l_msg_data;
8547: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8548: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
8549:
8550: WHEN OTHERS THEN
8551: ROLLBACK TO calculatePayoff;
8552: x_return_status := FND_API.G_RET_STS_ERROR;

Line 8556: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);

8552: x_return_status := FND_API.G_RET_STS_ERROR;
8553: x_msg_count := l_msg_count;
8554: x_msg_data := l_msg_data;
8555: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
8556: logMessage(FND_LOG.LEVEL_ERROR, G_PKG_NAME, sqlerrm);
8557:
8558: end calculatePayoff;
8559:
8560: function frequency2ppy(p_frequency in varchar2) return number

Line 8646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

8642:
8643: begin
8644:
8645: l_api_name := 'getCompoundPeriodicRate';
8646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8647: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);

Line 8647: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);

8643: begin
8644:
8645: l_api_name := 'getCompoundPeriodicRate';
8646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8647: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8651: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);

Line 8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);

8644:
8645: l_api_name := 'getCompoundPeriodicRate';
8646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8647: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8651: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8652: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

Line 8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);

8645: l_api_name := 'getCompoundPeriodicRate';
8646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8647: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8651: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8652: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8653:

Line 8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);

8646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8647: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8651: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8652: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8653:
8654: l_periodic_rate := 0;

Line 8651: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);

8647: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8651: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8652: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8653:
8654: l_periodic_rate := 0;
8655:

Line 8652: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

8648: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
8649: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8650: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8651: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8652: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8653:
8654: l_periodic_rate := 0;
8655:
8656: l_payments_per_year := frequency2ppy(p_payment_freq);

Line 8658: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || l_payments_per_year);

8654: l_periodic_rate := 0;
8655:
8656: l_payments_per_year := frequency2ppy(p_payment_freq);
8657: l_compounds_per_year := frequency2ppy(p_compound_freq);
8658: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || l_payments_per_year);
8659: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compounds per year: ' || l_compounds_per_year);
8660:
8661: if (p_period_start_date is not null and p_period_end_date is not null) then
8662:

Line 8659: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compounds per year: ' || l_compounds_per_year);

8655:
8656: l_payments_per_year := frequency2ppy(p_payment_freq);
8657: l_compounds_per_year := frequency2ppy(p_compound_freq);
8658: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payments per year: ' || l_payments_per_year);
8659: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compounds per year: ' || l_compounds_per_year);
8660:
8661: if (p_period_start_date is not null and p_period_end_date is not null) then
8662:
8663: select to_number(to_char(p_period_start_date, 'YYYY')) into l_year1 from dual;

Line 8670: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ------ calculating for year ' || k);

8666: l_days_ratio := 0;
8667:
8668: for k in l_year1..l_year2 loop
8669:
8670: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ------ calculating for year ' || k);
8671: l_rate1 := 0;
8672: --l_rate2 := 0;
8673: l_day_count := 0;
8674: l_days_in_year := 0;

Line 8688: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_start_date ' || l_start_date);

8684: else
8685: l_end_date := to_date('01/01/' || to_char(k+1),'DD/MM/YYYY');
8686: end if;
8687:
8688: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_start_date ' || l_start_date);
8689: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_end_date ' || l_end_date);
8690:
8691: l_day_count := LNS_FIN_UTILS.getDayCount(p_start_date => l_start_date
8692: ,p_end_date => l_end_date

Line 8689: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_end_date ' || l_end_date);

8685: l_end_date := to_date('01/01/' || to_char(k+1),'DD/MM/YYYY');
8686: end if;
8687:
8688: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_start_date ' || l_start_date);
8689: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_end_date ' || l_end_date);
8690:
8691: l_day_count := LNS_FIN_UTILS.getDayCount(p_start_date => l_start_date
8692: ,p_end_date => l_end_date
8693: ,p_day_count_method => p_days_count_method);

Line 8699: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days ratio ' || l_rate1);

8695: l_days_in_year := LNS_FIN_UTILS.daysInYear(p_year => k
8696: ,p_year_count_method => p_days_count_method);
8697:
8698: l_rate1 := l_day_count / (l_days_in_year/l_payments_per_year);
8699: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days ratio ' || l_rate1);
8700:
8701: l_days_ratio := l_days_ratio + l_rate1;
8702: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total days ratio ' || l_days_ratio);
8703:

Line 8702: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total days ratio ' || l_days_ratio);

8698: l_rate1 := l_day_count / (l_days_in_year/l_payments_per_year);
8699: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days ratio ' || l_rate1);
8700:
8701: l_days_ratio := l_days_ratio + l_rate1;
8702: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total days ratio ' || l_days_ratio);
8703:
8704: end loop;
8705:
8706: else

Line 8710: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');

8706: else
8707: l_days_ratio := 1;
8708: end if;
8709:
8710: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');
8711: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final days ratio ' || l_days_ratio);
8712:
8713: l_periodic_rate := l_days_ratio * (Power((1+((p_annualized_rate)/(100*l_compounds_per_year))),(l_compounds_per_year/l_payments_per_year))-1);
8714:

Line 8711: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final days ratio ' || l_days_ratio);

8707: l_days_ratio := 1;
8708: end if;
8709:
8710: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');
8711: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final days ratio ' || l_days_ratio);
8712:
8713: l_periodic_rate := l_days_ratio * (Power((1+((p_annualized_rate)/(100*l_compounds_per_year))),(l_compounds_per_year/l_payments_per_year))-1);
8714:
8715: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);

Line 8715: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);

8711: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final days ratio ' || l_days_ratio);
8712:
8713: l_periodic_rate := l_days_ratio * (Power((1+((p_annualized_rate)/(100*l_compounds_per_year))),(l_compounds_per_year/l_payments_per_year))-1);
8714:
8715: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);
8716: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8717:
8718: return l_periodic_rate;
8719:

Line 8716: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

8712:
8713: l_periodic_rate := l_days_ratio * (Power((1+((p_annualized_rate)/(100*l_compounds_per_year))),(l_compounds_per_year/l_payments_per_year))-1);
8714:
8715: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': periodic rate: ' || l_periodic_rate);
8716: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8717:
8718: return l_periodic_rate;
8719:
8720: end getCompoundPeriodicRate;

Line 8777: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

8773:
8774: begin
8775:
8776: l_api_name := 'getPeriodicRate';
8777: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8778: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8780: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8781: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

Line 8778: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);

8774: begin
8775:
8776: l_api_name := 'getPeriodicRate';
8777: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8778: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8780: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8781: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8782:

Line 8779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);

8775:
8776: l_api_name := 'getPeriodicRate';
8777: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8778: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8780: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8781: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8782:
8783: l_annual_rate := p_annualized_rate / 100;

Line 8780: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);

8776: l_api_name := 'getPeriodicRate';
8777: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8778: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8780: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8781: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8782:
8783: l_annual_rate := p_annualized_rate / 100;
8784: l_periodic_rate := 0;

Line 8781: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

8777: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8778: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_days_count_method);
8779: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': annualized rate: ' || p_annualized_rate);
8780: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
8781: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
8782:
8783: l_annual_rate := p_annualized_rate / 100;
8784: l_periodic_rate := 0;
8785:

Line 8791: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ------ calculating for year ' || k);

8787: select to_number(to_char(p_period_end_date, 'YYYY')) into l_year2 from dual;
8788:
8789: for k in l_year1..l_year2 loop
8790:
8791: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ' ------ calculating for year ' || k);
8792: l_rate1 := 0;
8793: l_day_count := 0;
8794: l_days_in_year := 0;
8795:

Line 8808: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_start_date ' || l_start_date);

8804: else
8805: l_end_date := to_date('01/01/' || to_char(k+1),'DD/MM/YYYY');
8806: end if;
8807:
8808: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_start_date ' || l_start_date);
8809: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_end_date ' || l_end_date);
8810:
8811: l_day_count := LNS_FIN_UTILS.getDayCount(p_start_date => l_start_date
8812: ,p_end_date => l_end_date

Line 8809: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_end_date ' || l_end_date);

8805: l_end_date := to_date('01/01/' || to_char(k+1),'DD/MM/YYYY');
8806: end if;
8807:
8808: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_start_date ' || l_start_date);
8809: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': l_end_date ' || l_end_date);
8810:
8811: l_day_count := LNS_FIN_UTILS.getDayCount(p_start_date => l_start_date
8812: ,p_end_date => l_end_date
8813: ,p_day_count_method => p_days_count_method);

Line 8819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate1 ' || l_rate1);

8815: l_days_in_year := LNS_FIN_UTILS.daysInYear(p_year => k
8816: ,p_year_count_method => p_days_count_method);
8817:
8818: l_rate1 := (l_day_count / l_days_in_year) * l_annual_rate;
8819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate1 ' || l_rate1);
8820:
8821: l_periodic_rate := l_periodic_rate + l_rate1;
8822: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Periodic rate ' || l_periodic_rate);
8823:

Line 8822: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Periodic rate ' || l_periodic_rate);

8818: l_rate1 := (l_day_count / l_days_in_year) * l_annual_rate;
8819: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': rate1 ' || l_rate1);
8820:
8821: l_periodic_rate := l_periodic_rate + l_rate1;
8822: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Periodic rate ' || l_periodic_rate);
8823:
8824: end loop;
8825:
8826: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');

Line 8826: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');

8822: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Periodic rate ' || l_periodic_rate);
8823:
8824: end loop;
8825:
8826: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');
8827: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final Periodic rate ' || l_periodic_rate);
8828: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8829:
8830: return l_periodic_rate;

Line 8827: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final Periodic rate ' || l_periodic_rate);

8823:
8824: end loop;
8825:
8826: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');
8827: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final Periodic rate ' || l_periodic_rate);
8828: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8829:
8830: return l_periodic_rate;
8831:

Line 8828: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

8824: end loop;
8825:
8826: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || '-------------');
8827: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Final Periodic rate ' || l_periodic_rate);
8828: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8829:
8830: return l_periodic_rate;
8831:
8832: end getPeriodicRate;

Line 8890: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

8886: l_api_name varchar2(20);
8887:
8888: begin
8889:
8890: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
8891:
8892: select rs.current_interest_rate into l_rate
8893: from lns_rate_schedules rs,
8894: lns_terms t,

Line 8902: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

8898: and rs.term_id = t.term_id
8899: and rs.start_date_active <= sysdate
8900: and rs.end_date_active >= sysdate;
8901:
8902: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
8903:
8904: return l_rate;
8905:
8906: Exception

Line 8909: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Error: ' || sqlerrm);

8905:
8906: Exception
8907:
8908: When Others then
8909: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Error: ' || sqlerrm);
8910: --seed this message
8911: -- FND_MESSAGE.Set_Name('LNS', 'LNS_UNABLE_TO_COMPUTE_BALANCE');
8912: -- FND_MSG_PUB.Add;
8913: -- RAISE FND_API.G_EXC_ERROR;

Line 9033: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

9029: l_api_name varchar2(30);
9030:
9031: begin
9032:
9033: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9034: -- need to check for NULLs
9035: l_rate_diff := ABS(p_rate_to_compare - p_last_period_rate);
9036: l_life_rate_diff := ABS(p_rate_to_compare - p_initial_rate);
9037: l_sign1 := 1;

Line 9039: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_diff ' || l_rate_diff);

9035: l_rate_diff := ABS(p_rate_to_compare - p_last_period_rate);
9036: l_life_rate_diff := ABS(p_rate_to_compare - p_initial_rate);
9037: l_sign1 := 1;
9038: l_sign2 := 1;
9039: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_diff ' || l_rate_diff);
9040: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_life_rate_diff ' || l_life_rate_diff);
9041:
9042: -- rate differentials go both ways
9043: if p_rate_to_compare < p_last_period_rate then

Line 9040: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_life_rate_diff ' || l_life_rate_diff);

9036: l_life_rate_diff := ABS(p_rate_to_compare - p_initial_rate);
9037: l_sign1 := 1;
9038: l_sign2 := 1;
9039: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_rate_diff ' || l_rate_diff);
9040: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_life_rate_diff ' || l_life_rate_diff);
9041:
9042: -- rate differentials go both ways
9043: if p_rate_to_compare < p_last_period_rate then
9044: l_sign1 := -1;

Line 9056: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New Rate was above CEILING of: ' || p_ceiling_rate);

9052: l_new_rate := p_rate_to_compare;
9053:
9054: if l_new_rate > p_ceiling_rate and p_ceiling_rate is not null then
9055: l_new_rate := p_ceiling_rate;
9056: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New Rate was above CEILING of: ' || p_ceiling_rate);
9057: end if;
9058:
9059: l_life_rate_diff := ABS(l_new_rate - p_initial_rate);
9060: if l_life_rate_diff > p_max_lifetime_adjustment and p_max_lifetime_adjustment is not null then

Line 9061: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New Rate was above life differential of: ' || l_life_rate_diff );

9057: end if;
9058:
9059: l_life_rate_diff := ABS(l_new_rate - p_initial_rate);
9060: if l_life_rate_diff > p_max_lifetime_adjustment and p_max_lifetime_adjustment is not null then
9061: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New Rate was above life differential of: ' || l_life_rate_diff );
9062: l_new_rate := p_last_period_rate + (p_max_lifetime_adjustment * l_sign2);
9063: end if;
9064: l_rate_diff := ABS(l_new_rate - p_last_period_rate);
9065:

Line 9067: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New rate was above adjustment differential of: ' || l_rate_diff);

9063: end if;
9064: l_rate_diff := ABS(l_new_rate - p_last_period_rate);
9065:
9066: if l_rate_diff > p_max_period_adjustment and p_max_period_adjustment is not null then
9067: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New rate was above adjustment differential of: ' || l_rate_diff);
9068: l_new_rate := p_last_period_rate + (p_max_period_adjustment * l_sign1);
9069: end if;
9070:
9071: if l_new_rate < p_floor_rate and p_floor_rate is not null then

Line 9072: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New Rate was below floor of ' || p_floor_rate );

9068: l_new_rate := p_last_period_rate + (p_max_period_adjustment * l_sign1);
9069: end if;
9070:
9071: if l_new_rate < p_floor_rate and p_floor_rate is not null then
9072: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New Rate was below floor of ' || p_floor_rate );
9073: l_new_rate := p_floor_rate;
9074: end if;
9075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_rate ' || l_new_rate);
9076:

Line 9075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_rate ' || l_new_rate);

9071: if l_new_rate < p_floor_rate and p_floor_rate is not null then
9072: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - New Rate was below floor of ' || p_floor_rate );
9073: l_new_rate := p_floor_rate;
9074: end if;
9075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_new_rate ' || l_new_rate);
9076:
9077: return l_new_rate;
9078:
9079: end calculateInterestRate;

Line 9123: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

9119: l_balance := -1;
9120: l_initial_amount := 0;
9121: l_billed_amount := 0;
9122: l_api_name := 'getRemainingBalance';
9123: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9124:
9125: Execute Immediate
9126: ' Select Loan_Status ' ||
9127: ' From lns_loan_headers_all ' ||

Line 9183: -- logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remainingBalance: ' || l_balance);

9179: ' where loan_id = :p_loan_id'
9180: into l_balance
9181: using p_loan_id;
9182:
9183: -- logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remainingBalance: ' || l_balance);
9184: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
9185:
9186: return l_balance;
9187: /*

Line 9184: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

9180: into l_balance
9181: using p_loan_id;
9182:
9183: -- logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': remainingBalance: ' || l_balance);
9184: -- logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
9185:
9186: return l_balance;
9187: /*
9188: Exception

Line 9190: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Error: ' || sqlerrm);

9186: return l_balance;
9187: /*
9188: Exception
9189: When Others then
9190: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Error: ' || sqlerrm);
9191: --seed this message
9192: FND_MESSAGE.Set_Name('LNS', 'LNS_UNABLE_TO_COMPUTE_BALANCE');
9193: FND_MSG_PUB.Add;
9194: RAISE FND_API.G_EXC_ERROR;

Line 9254: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

9250:
9251:
9252: begin
9253: l_api_name := 'weightBalance';
9254: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9255: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || p_loan_activities.count);
9256: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9257: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9258: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_day_count_method: ' || p_day_count_method);

Line 9255: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || p_loan_activities.count);

9251:
9252: begin
9253: l_api_name := 'weightBalance';
9254: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9255: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || p_loan_activities.count);
9256: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9257: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9258: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_day_count_method: ' || p_day_count_method);
9259:

Line 9256: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);

9252: begin
9253: l_api_name := 'weightBalance';
9254: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9255: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || p_loan_activities.count);
9256: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9257: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9258: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_day_count_method: ' || p_day_count_method);
9259:
9260: -- sort activities by activity date

Line 9257: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);

9253: l_api_name := 'weightBalance';
9254: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9255: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || p_loan_activities.count);
9256: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9257: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9258: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_day_count_method: ' || p_day_count_method);
9259:
9260: -- sort activities by activity date
9261:

Line 9258: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_day_count_method: ' || p_day_count_method);

9254: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9255: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || p_loan_activities.count);
9256: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9257: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9258: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_day_count_method: ' || p_day_count_method);
9259:
9260: -- sort activities by activity date
9261:
9262: -- # of days @ balance 1

Line 9276: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - sorting the activities');

9272: l_num_days := 0;
9273: l_weighted_balance := 0;
9274: l_total_activity_amount := 0;
9275: l_loan_activities := p_loan_activities;
9276: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - sorting the activities');
9277: sortRows(l_loan_activities);
9278: /*
9279: for j in 1..p_loan_activities.count
9280: loop

Line 9293: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p ' || p);

9289:
9290: for p in 1..m loop
9291: --dbms_output.put_line('p is ' || p);
9292: if l_loan_activities(p).activity_amount > 0 then
9293: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p ' || p);
9294: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity date: ' || l_loan_activities(p).activity_date);
9295: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity amount: ' || l_loan_activities(p).activity_amount);
9296: if p = 1 then
9297: -- this is for the previous balance

Line 9294: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity date: ' || l_loan_activities(p).activity_date);

9290: for p in 1..m loop
9291: --dbms_output.put_line('p is ' || p);
9292: if l_loan_activities(p).activity_amount > 0 then
9293: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p ' || p);
9294: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity date: ' || l_loan_activities(p).activity_date);
9295: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity amount: ' || l_loan_activities(p).activity_amount);
9296: if p = 1 then
9297: -- this is for the previous balance
9298: l_num_days := LNS_FIN_UTILS.getDayCount(p_start_date => p_from_date

Line 9295: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity amount: ' || l_loan_activities(p).activity_amount);

9291: --dbms_output.put_line('p is ' || p);
9292: if l_loan_activities(p).activity_amount > 0 then
9293: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p ' || p);
9294: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity date: ' || l_loan_activities(p).activity_date);
9295: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - activity amount: ' || l_loan_activities(p).activity_amount);
9296: if p = 1 then
9297: -- this is for the previous balance
9298: l_num_days := LNS_FIN_UTILS.getDayCount(p_start_date => p_from_date
9299: ,p_end_date => p_to_date

Line 9316: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - total activity amount: ' || l_total_activity_amount);

9312: end if;
9313: if l_num_days > 0 then
9314: l_total_activity_amount := l_total_activity_amount + l_loan_activities(p).activity_amount;
9315: end if;
9316: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - total activity amount: ' || l_total_activity_amount);
9317: --dbms_output.put_line('day count is ' || l_num_days);
9318: --dbms_output.put_line('balance is ' || p_loan_activities(p).ending_balance);
9319: l_balance_days := l_balance_days + (l_num_days * l_loan_activities(p).activity_amount);
9320: end if;

Line 9330: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_balance_days: ' || l_balance_days);

9326: ,p_day_count_method => p_day_count_method);
9327: -- dbms_output.put_line('total days is ' || l_total_Days );
9328: l_weighted_balance := l_balance_days / l_total_days;
9329:
9330: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_balance_days: ' || l_balance_days);
9331: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_total_days: ' || l_total_days);
9332: --dbms_output.put_line('adb is ' || l_weighted_balance);
9333: end if;
9334:

Line 9331: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_total_days: ' || l_total_days);

9327: -- dbms_output.put_line('total days is ' || l_total_Days );
9328: l_weighted_balance := l_balance_days / l_total_days;
9329:
9330: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_balance_days: ' || l_balance_days);
9331: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_total_days: ' || l_total_days);
9332: --dbms_output.put_line('adb is ' || l_weighted_balance);
9333: end if;
9334:
9335: return l_weighted_balance;

Line 9437: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');

9433:
9434: l_api_name := 'getWeightedBalance';
9435: i := 0;
9436: l_wtd_balance := 0;
9437: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9438: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9439: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9440: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id: ' || p_loan_id);
9441: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_calc_method: ' || p_calc_method);

Line 9438: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);

9434: l_api_name := 'getWeightedBalance';
9435: i := 0;
9436: l_wtd_balance := 0;
9437: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9438: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9439: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9440: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id: ' || p_loan_id);
9441: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_calc_method: ' || p_calc_method);
9442:

Line 9439: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);

9435: i := 0;
9436: l_wtd_balance := 0;
9437: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9438: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9439: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9440: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id: ' || p_loan_id);
9441: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_calc_method: ' || p_calc_method);
9442:
9443: -- validate the from and to Dates

Line 9440: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id: ' || p_loan_id);

9436: l_wtd_balance := 0;
9437: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9438: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9439: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9440: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id: ' || p_loan_id);
9441: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_calc_method: ' || p_calc_method);
9442:
9443: -- validate the from and to Dates
9444: if p_from_date > p_to_date then

Line 9441: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_calc_method: ' || p_calc_method);

9437: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9438: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9439: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9440: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_loan_id: ' || p_loan_id);
9441: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_calc_method: ' || p_calc_method);
9442:
9443: -- validate the from and to Dates
9444: if p_from_date > p_to_date then
9445: FND_MESSAGE.Set_Name('LNS', 'LNS_INVALID_ACTIVE_DATE');

Line 9480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);

9476: l_activity_date
9477: ,l_activity_amount;
9478: EXIT WHEN c_actual_balance%NOTFOUND;
9479:
9480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9481: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9482: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9483: l_loan_activities(i).activity_date := l_activity_date;
9484: l_loan_activities(i).activity_amount := l_activity_amount;

Line 9481: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);

9477: ,l_activity_amount;
9478: EXIT WHEN c_actual_balance%NOTFOUND;
9479:
9480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9481: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9482: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9483: l_loan_activities(i).activity_date := l_activity_date;
9484: l_loan_activities(i).activity_amount := l_activity_amount;
9485: if i = 1 then

Line 9482: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);

9478: EXIT WHEN c_actual_balance%NOTFOUND;
9479:
9480: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9481: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9482: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9483: l_loan_activities(i).activity_date := l_activity_date;
9484: l_loan_activities(i).activity_amount := l_activity_amount;
9485: if i = 1 then
9486: l_loan_activities(i).ending_balance := l_activity_amount;

Line 9505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);

9501: l_activity_date
9502: ,l_activity_amount;
9503: EXIT WHEN c_theoretical_balance%NOTFOUND;
9504:
9505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9507: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9508: l_loan_activities(i).activity_date := l_activity_date;
9509: l_loan_activities(i).activity_amount := l_activity_amount;

Line 9506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);

9502: ,l_activity_amount;
9503: EXIT WHEN c_theoretical_balance%NOTFOUND;
9504:
9505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9507: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9508: l_loan_activities(i).activity_date := l_activity_date;
9509: l_loan_activities(i).activity_amount := l_activity_amount;
9510:

Line 9507: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);

9503: EXIT WHEN c_theoretical_balance%NOTFOUND;
9504:
9505: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9506: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9507: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9508: l_loan_activities(i).activity_date := l_activity_date;
9509: l_loan_activities(i).activity_amount := l_activity_amount;
9510:
9511: if i = 1 then

Line 9524: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting wtd balance');

9520: close c_theoretical_balance;
9521:
9522: end if;
9523:
9524: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - getting wtd balance');
9525: l_wtd_balance := weightBalance(p_loan_activities => l_loan_activities
9526: ,p_from_date => p_from_date
9527: ,p_to_date => p_to_date
9528: ,p_day_count_method => p_day_count_method);

Line 9529: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_wtd_balance' || l_wtd_balance);

9525: l_wtd_balance := weightBalance(p_loan_activities => l_loan_activities
9526: ,p_from_date => p_from_date
9527: ,p_to_date => p_to_date
9528: ,p_day_count_method => p_day_count_method);
9529: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_wtd_balance' || l_wtd_balance);
9530:
9531: return l_wtd_balance;
9532:
9533: end getWeightedBalance;

Line 9645: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');

9641: l_num_days := 0;
9642: l_total_days := 0;
9643: l_average_daily_balance:= 0;
9644: i := 0;
9645: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9648:
9649: -- validate the from and to Dates

Line 9646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);

9642: l_total_days := 0;
9643: l_average_daily_balance:= 0;
9644: i := 0;
9645: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9648:
9649: -- validate the from and to Dates
9650: if p_from_date > p_to_date then

Line 9647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);

9643: l_average_daily_balance:= 0;
9644: i := 0;
9645: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - Begin');
9646: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_from_date: ' || p_from_date);
9647: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - p_to_date: ' || p_to_date);
9648:
9649: -- validate the from and to Dates
9650: if p_from_date > p_to_date then
9651: FND_MESSAGE.Set_Name('LNS', 'LNS_INVALID_ACTIVE_DATE');

Line 9688: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);

9684: l_activity_date
9685: ,l_activity_amount
9686: ,l_end_balance;
9687: -- ,l_marker;
9688: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9689: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9690: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9691: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);
9692: EXIT WHEN c_balance_history%NOTFOUND;

Line 9689: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);

9685: ,l_activity_amount
9686: ,l_end_balance;
9687: -- ,l_marker;
9688: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9689: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9690: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9691: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);
9692: EXIT WHEN c_balance_history%NOTFOUND;
9693:

Line 9690: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);

9686: ,l_end_balance;
9687: -- ,l_marker;
9688: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9689: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9690: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9691: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);
9692: EXIT WHEN c_balance_history%NOTFOUND;
9693:
9694: l_loan_activities(i).activity_date := l_activity_date;

Line 9691: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);

9687: -- ,l_marker;
9688: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - #: ' || i);
9689: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_date: ' || l_activity_date);
9690: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_activity_amount: ' || l_activity_amount);
9691: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);
9692: EXIT WHEN c_balance_history%NOTFOUND;
9693:
9694: l_loan_activities(i).activity_date := l_activity_date;
9695: l_loan_activities(i).activity_amount := l_activity_amount;

Line 9699: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || l_loan_activities.count);

9695: l_loan_activities(i).activity_amount := l_activity_amount;
9696: l_loan_activities(i).ending_balance := l_end_balance;
9697:
9698: END LOOP;
9699: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - number of activities: ' || l_loan_activities.count);
9700:
9701: -- # of balance changes = l_loan_activities.count - 2
9702: -- # of days @ balance 1
9703: -- # of days @ balance 2

Line 9765: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_balance_days: ' || l_balance_days);

9761: --dbms_output.put_line('total days is ' || l_total_Days );
9762: l_average_daily_balance := l_balance_days / l_total_days;
9763: end if;
9764:
9765: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_balance_days: ' || l_balance_days);
9766: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_total_balance: ' || l_total_days);
9767: --dbms_output.put_line('adb is ' || l_average_daily_balance);
9768: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);
9769: return round(l_average_daily_balance, l_loan_details.currency_precision);

Line 9766: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_total_balance: ' || l_total_days);

9762: l_average_daily_balance := l_balance_days / l_total_days;
9763: end if;
9764:
9765: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_balance_days: ' || l_balance_days);
9766: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_total_balance: ' || l_total_days);
9767: --dbms_output.put_line('adb is ' || l_average_daily_balance);
9768: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);
9769: return round(l_average_daily_balance, l_loan_details.currency_precision);
9770:

Line 9768: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);

9764:
9765: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_balance_days: ' || l_balance_days);
9766: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_total_balance: ' || l_total_days);
9767: --dbms_output.put_line('adb is ' || l_average_daily_balance);
9768: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - l_end_balance: ' || l_end_balance);
9769: return round(l_average_daily_balance, l_loan_details.currency_precision);
9770:
9771: EXCEPTION
9772:

Line 9775: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - ' || sqlerrm);

9771: EXCEPTION
9772:
9773: When others Then
9774: return -1;
9775: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - ' || sqlerrm);
9776:
9777:
9778: end getAverageDailyBalance;
9779:

Line 9867: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');

9863:
9864: begin
9865:
9866: l_api_name := 'CALC_NORM_INTEREST';
9867: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9868: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);

Line 9868: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

9864: begin
9865:
9866: l_api_name := 'CALC_NORM_INTEREST';
9867: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9868: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);

Line 9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');

9865:
9866: l_api_name := 'CALC_NORM_INTEREST';
9867: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9868: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

Line 9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);

9866: l_api_name := 'CALC_NORM_INTEREST';
9867: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9868: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);

Line 9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);

9867: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9868: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);

Line 9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);

9868: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
9876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);

Line 9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

9869: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
9876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
9877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);

Line 9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);

9870: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
9876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
9877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
9878:

Line 9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);

9871: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
9876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
9877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
9878:
9879: -- calculating normal and additional interest

Line 9876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);

9872: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
9876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
9877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
9878:
9879: -- calculating normal and additional interest
9880: i := 1;

Line 9877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);

9873: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
9874: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
9875: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
9876: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
9877: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
9878:
9879: -- calculating normal and additional interest
9880: i := 1;
9881: l_norm_interest := 0;

Line 9886: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Querying trx history...');

9882: l_cum_norm_interest := 0;
9883: l_norm_prev_amount := 0;
9884: l_norm_prev_act_date := p_period_start_date;
9885:
9886: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Querying trx history...');
9887:
9888: OPEN c_trx_activities(p_loan_id, p_period_start_date, p_period_end_date);
9889: LOOP
9890:

Line 9902: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');

9898: ,l_display_order;
9899:
9900: EXIT WHEN c_trx_activities%NOTFOUND;
9901:
9902: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
9903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9904: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9905:
9906: -- normal interest

Line 9903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');

9899:
9900: EXIT WHEN c_trx_activities%NOTFOUND;
9901:
9902: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
9903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9904: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9905:
9906: -- normal interest
9907: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');

Line 9904: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);

9900: EXIT WHEN c_trx_activities%NOTFOUND;
9901:
9902: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
9903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9904: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9905:
9906: -- normal interest
9907: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9908: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - ' || l_activity_date);

Line 9907: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');

9903: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9904: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9905:
9906: -- normal interest
9907: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9908: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - ' || l_activity_date);
9909: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9911:

Line 9908: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - ' || l_activity_date);

9904: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9905:
9906: -- normal interest
9907: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9908: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - ' || l_activity_date);
9909: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9911:
9912: if (p_calc_method = 'SIMPLE') then

Line 9909: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);

9905:
9906: -- normal interest
9907: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9908: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - ' || l_activity_date);
9909: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9911:
9912: if (p_calc_method = 'SIMPLE') then
9913:

Line 9910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);

9906: -- normal interest
9907: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9908: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - ' || l_activity_date);
9909: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9910: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9911:
9912: if (p_calc_method = 'SIMPLE') then
9913:
9914: -- recalculate periodic rate for each period if day counting methodolgy varies

Line 9931: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);

9927: ,p_period_end_date => l_activity_date
9928: ,p_days_count_method => p_day_count_method);
9929:
9930: end if;
9931: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);
9932:
9933: l_norm_interest := lns_financials.calculateInterest(p_amount => l_norm_prev_amount
9934: ,p_periodic_rate => l_periodic_rate
9935: ,p_compounding_period => null);

Line 9936: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'normal interest = ' || l_norm_interest);

9932:
9933: l_norm_interest := lns_financials.calculateInterest(p_amount => l_norm_prev_amount
9934: ,p_periodic_rate => l_periodic_rate
9935: ,p_compounding_period => null);
9936: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'normal interest = ' || l_norm_interest);
9937:
9938: l_cum_norm_interest := l_cum_norm_interest + l_norm_interest;
9939: l_norm_prev_amount := l_theory_balance;
9940: l_norm_prev_act_date := l_activity_date;

Line 9942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative normal interest = ' || l_cum_norm_interest);

9938: l_cum_norm_interest := l_cum_norm_interest + l_norm_interest;
9939: l_norm_prev_amount := l_theory_balance;
9940: l_norm_prev_act_date := l_activity_date;
9941: i := i + 1;
9942: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative normal interest = ' || l_cum_norm_interest);
9943:
9944: END LOOP;
9945: close c_trx_activities;
9946:

Line 9953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');

9949: l_activity_code := 'DUE';
9950: l_activity_amount := 0;
9951: l_days_late := 0;
9952:
9953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
9954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9956:
9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');

Line 9954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');

9950: l_activity_amount := 0;
9951: l_days_late := 0;
9952:
9953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
9954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9956:
9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - *' || l_activity_date);

Line 9955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);

9951: l_days_late := 0;
9952:
9953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
9954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9956:
9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - *' || l_activity_date);
9959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);

Line 9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');

9953: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
9954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9956:
9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - *' || l_activity_date);
9959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9960: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9961:

Line 9958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - *' || l_activity_date);

9954: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Theory_Bal Actual_Bal Days_Late');
9955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9956:
9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - *' || l_activity_date);
9959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9960: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9961:
9962: -- normal interest

Line 9959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);

9955: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
9956:
9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - *' || l_activity_date);
9959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9960: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9961:
9962: -- normal interest
9963: if (p_calc_method = 'SIMPLE') then

Line 9960: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);

9956:
9957: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating normal interest...');
9958: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_norm_prev_act_date || ' - *' || l_activity_date);
9959: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_norm_prev_amount);
9960: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_interest_rate);
9961:
9962: -- normal interest
9963: if (p_calc_method = 'SIMPLE') then
9964:

Line 9982: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);

9978: ,p_period_end_date => l_activity_date
9979: ,p_days_count_method => p_day_count_method);
9980:
9981: end if;
9982: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);
9983:
9984: l_norm_interest := lns_financials.calculateInterest(p_amount => l_norm_prev_amount
9985: ,p_periodic_rate => l_periodic_rate
9986: ,p_compounding_period => null);

Line 9987: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'normal interest = ' || l_norm_interest);

9983:
9984: l_norm_interest := lns_financials.calculateInterest(p_amount => l_norm_prev_amount
9985: ,p_periodic_rate => l_periodic_rate
9986: ,p_compounding_period => null);
9987: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'normal interest = ' || l_norm_interest);
9988: l_cum_norm_interest := l_cum_norm_interest + l_norm_interest;
9989:
9990: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Normal Interest = ' || l_cum_norm_interest);
9991: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

Line 9990: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Normal Interest = ' || l_cum_norm_interest);

9986: ,p_compounding_period => null);
9987: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'normal interest = ' || l_norm_interest);
9988: l_cum_norm_interest := l_cum_norm_interest + l_norm_interest;
9989:
9990: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Normal Interest = ' || l_cum_norm_interest);
9991: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
9992: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9993:
9994: return l_cum_norm_interest;

Line 9991: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

9987: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'normal interest = ' || l_norm_interest);
9988: l_cum_norm_interest := l_cum_norm_interest + l_norm_interest;
9989:
9990: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Normal Interest = ' || l_cum_norm_interest);
9991: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
9992: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9993:
9994: return l_cum_norm_interest;
9995:

Line 9992: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');

9988: l_cum_norm_interest := l_cum_norm_interest + l_norm_interest;
9989:
9990: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Normal Interest = ' || l_cum_norm_interest);
9991: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
9992: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
9993:
9994: return l_cum_norm_interest;
9995:
9996: end;

Line 10074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');

10070:
10071: begin
10072:
10073: l_api_name := 'CALC_ADD_INTEREST';
10074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
10075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);

Line 10075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');

10071: begin
10072:
10073: l_api_name := 'CALC_ADD_INTEREST';
10074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
10075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);

Line 10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');

10072:
10073: l_api_name := 'CALC_ADD_INTEREST';
10074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
10075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

Line 10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);

10073: l_api_name := 'CALC_ADD_INTEREST';
10074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
10075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);

Line 10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);

10074: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
10075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);

Line 10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);

10075: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - BEGIN');
10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);

Line 10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);

10076: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Input:');
10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);

Line 10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);

10077: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': loan_id: ' || p_loan_id);
10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);

Line 10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);

10078: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': calc_method: ' || p_calc_method);
10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);

Line 10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);

10079: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': start date: ' || p_period_start_date);
10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);
10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);

Line 10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);

10080: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': end date: ' || p_period_end_date);
10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);
10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);
10088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_start_date: ' || p_grace_start_date);

Line 10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);

10081: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': interest rate: ' || p_interest_rate);
10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);
10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);
10088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_start_date: ' || p_grace_start_date);
10089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_end_date: ' || p_grace_end_date);

Line 10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);

10082: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': days count method: ' || p_day_count_method);
10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);
10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);
10088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_start_date: ' || p_grace_start_date);
10089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_end_date: ' || p_grace_end_date);
10090:

Line 10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);

10083: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': compound frequency: ' || p_compound_freq);
10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);
10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);
10088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_start_date: ' || p_grace_start_date);
10089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_end_date: ' || p_grace_end_date);
10090:
10091: if p_period_start_date > p_period_end_date then

Line 10088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_start_date: ' || p_grace_start_date);

10084: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': payment frequency: ' || p_payment_freq);
10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);
10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);
10088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_start_date: ' || p_grace_start_date);
10089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_end_date: ' || p_grace_end_date);
10090:
10091: if p_period_start_date > p_period_end_date then
10092: x_add_interest := 0;

Line 10089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_end_date: ' || p_grace_end_date);

10085: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': target: ' || p_target);
10086: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': penal_int_rate: ' || p_penal_int_rate);
10087: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': prev_grace_end_date: ' || p_prev_grace_end_date);
10088: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_start_date: ' || p_grace_start_date);
10089: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': grace_end_date: ' || p_grace_end_date);
10090:
10091: if p_period_start_date > p_period_end_date then
10092: x_add_interest := 0;
10093: x_penal_interest := 0;

Line 10094: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);

10090:
10091: if p_period_start_date > p_period_end_date then
10092: x_add_interest := 0;
10093: x_penal_interest := 0;
10094: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);
10095: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);
10096: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': exiting');
10097: return;
10098: end if;

Line 10095: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);

10091: if p_period_start_date > p_period_end_date then
10092: x_add_interest := 0;
10093: x_penal_interest := 0;
10094: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);
10095: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);
10096: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': exiting');
10097: return;
10098: end if;
10099:

Line 10096: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': exiting');

10092: x_add_interest := 0;
10093: x_penal_interest := 0;
10094: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);
10095: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': x_add_interest: ' || x_add_interest);
10096: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': exiting');
10097: return;
10098: end if;
10099:
10100: -- calculating normal and additional interest

Line 10112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Querying trx history...');

10108: l_interest_rate := 0;
10109: l_first_act_after_grace := true;
10110: l_first_act_after_prev_grace := true;
10111:
10112: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Querying trx history...');
10113:
10114: if p_target = 'UNPAID_PRIN' then
10115: OPEN c_trx_prin_activities(p_loan_id, p_period_start_date, p_period_end_date);
10116: elsif p_target = 'UNPAID_INT' then

Line 10148: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');

10144:
10145: EXIT WHEN c_trx_int_activities%NOTFOUND;
10146: end if;
10147:
10148: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
10149: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10150: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10151:
10152: -- additional interest

Line 10149: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');

10145: EXIT WHEN c_trx_int_activities%NOTFOUND;
10146: end if;
10147:
10148: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
10149: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10150: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10151:
10152: -- additional interest
10153: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');

Line 10150: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);

10146: end if;
10147:
10148: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
10149: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10150: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10151:
10152: -- additional interest
10153: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);

Line 10153: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');

10149: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10150: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10151:
10152: -- additional interest
10153: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10156: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10157:

Line 10154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);

10150: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10151:
10152: -- additional interest
10153: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10156: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10157:
10158: if (p_calc_method = 'SIMPLE') then

Line 10155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);

10151:
10152: -- additional interest
10153: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10156: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10157:
10158: if (p_calc_method = 'SIMPLE') then
10159:

Line 10156: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);

10152: -- additional interest
10153: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10154: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10155: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10156: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10157:
10158: if (p_calc_method = 'SIMPLE') then
10159:
10160: -- recalculate periodic rate for each period if day counting methodolgy varies

Line 10177: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);

10173: ,p_period_end_date => l_activity_date
10174: ,p_days_count_method => p_day_count_method);
10175:
10176: end if;
10177: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);
10178:
10179: l_add_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10180: ,p_periodic_rate => l_periodic_rate
10181: ,p_compounding_period => null);

Line 10182: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'additional interest = ' || l_add_interest);

10178:
10179: l_add_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10180: ,p_periodic_rate => l_periodic_rate
10181: ,p_compounding_period => null);
10182: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'additional interest = ' || l_add_interest);
10183:
10184: if p_penal_int_rate > 0 and
10185: ((trunc(l_activity_date) >= trunc(p_prev_grace_end_date) and trunc(l_activity_date) <= trunc(p_grace_start_date)) or
10186: (trunc(l_activity_date) > trunc(p_grace_end_date)))

Line 10206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');

10202: end if;
10203: l_first_act_after_prev_grace := false;
10204: end if;
10205:
10206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10208: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10210:

Line 10207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);

10203: l_first_act_after_prev_grace := false;
10204: end if;
10205:
10206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10208: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10210:
10211: -- calc penal interest rate

Line 10208: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);

10204: end if;
10205:
10206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10208: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10210:
10211: -- calc penal interest rate
10212: if (p_calc_method = 'SIMPLE') then

Line 10209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);

10205:
10206: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10207: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - ' || l_activity_date);
10208: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10209: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10210:
10211: -- calc penal interest rate
10212: if (p_calc_method = 'SIMPLE') then
10213:

Line 10231: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal periodic_rate = ' || l_penal_period_rate);

10227: ,p_days_count_method => p_day_count_method);
10228:
10229: end if;
10230:
10231: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal periodic_rate = ' || l_penal_period_rate);
10232:
10233: l_penal_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10234: ,p_periodic_rate => l_penal_period_rate
10235: ,p_compounding_period => null);

Line 10236: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal interest = ' || l_penal_interest);

10232:
10233: l_penal_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10234: ,p_periodic_rate => l_penal_period_rate
10235: ,p_compounding_period => null);
10236: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal interest = ' || l_penal_interest);
10237:
10238: end if;
10239:
10240: l_cum_add_interest := l_cum_add_interest + l_add_interest;

Line 10242: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative additional interest = ' || l_cum_add_interest);

10238: end if;
10239:
10240: l_cum_add_interest := l_cum_add_interest + l_add_interest;
10241: l_cum_penal_interest := l_cum_penal_interest + l_penal_interest;
10242: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative additional interest = ' || l_cum_add_interest);
10243: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative penal interest = ' || l_cum_penal_interest);
10244:
10245: l_add_prev_amount := l_actual_balance - l_theory_balance;
10246: l_add_prev_act_date := l_activity_date;

Line 10243: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative penal interest = ' || l_cum_penal_interest);

10239:
10240: l_cum_add_interest := l_cum_add_interest + l_add_interest;
10241: l_cum_penal_interest := l_cum_penal_interest + l_penal_interest;
10242: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative additional interest = ' || l_cum_add_interest);
10243: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'cumulative penal interest = ' || l_cum_penal_interest);
10244:
10245: l_add_prev_amount := l_actual_balance - l_theory_balance;
10246: l_add_prev_act_date := l_activity_date;
10247: i := i + 1;

Line 10266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');

10262: if p_interest_rate is not null then
10263: l_interest_rate := p_interest_rate;
10264: end if;
10265:
10266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
10267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10269:
10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');

Line 10267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');

10263: l_interest_rate := p_interest_rate;
10264: end if;
10265:
10266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
10267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10269:
10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);

Line 10268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);

10264: end if;
10265:
10266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
10267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10269:
10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);

Line 10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');

10266: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '--------- Record ' || i || '---------');
10267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10269:
10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10274:

Line 10271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);

10267: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Act_Date Act Act_Amount Rate Theory_Bal Actual_Bal Days_Late');
10268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10269:
10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10274:
10275: -- additional interest

Line 10272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);

10268: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, '*' || l_activity_date || ' ' || l_activity_code || ' ' || l_activity_amount || ' ' || l_interest_rate || ' ' || l_theory_balance || ' ' || l_actual_balance || ' ' || l_days_late);
10269:
10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10274:
10275: -- additional interest
10276: if (p_calc_method = 'SIMPLE') then

Line 10273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);

10269:
10270: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating additional interest...');
10271: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10272: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10273: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || l_interest_rate);
10274:
10275: -- additional interest
10276: if (p_calc_method = 'SIMPLE') then
10277:

Line 10295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);

10291: ,p_period_end_date => l_activity_date
10292: ,p_days_count_method => p_day_count_method);
10293:
10294: end if;
10295: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'periodic_rate = ' || l_periodic_rate);
10296:
10297: l_add_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10298: ,p_periodic_rate => l_periodic_rate
10299: ,p_compounding_period => null);

Line 10300: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'additional interest = ' || l_add_interest);

10296:
10297: l_add_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10298: ,p_periodic_rate => l_periodic_rate
10299: ,p_compounding_period => null);
10300: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'additional interest = ' || l_add_interest);
10301:
10302: if p_penal_int_rate > 0 and
10303: ((trunc(l_activity_date) >= trunc(p_prev_grace_end_date) and trunc(l_activity_date) <= trunc(p_grace_start_date)) or
10304: (trunc(l_activity_date) > trunc(p_grace_end_date)))

Line 10324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');

10320: end if;
10321: l_first_act_after_prev_grace := false;
10322: end if;
10323:
10324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10325: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10326: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10327: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10328:

Line 10325: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);

10321: l_first_act_after_prev_grace := false;
10322: end if;
10323:
10324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10325: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10326: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10327: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10328:
10329: -- calc penal interest rate

Line 10326: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);

10322: end if;
10323:
10324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10325: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10326: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10327: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10328:
10329: -- calc penal interest rate
10330: if (p_calc_method = 'SIMPLE') then

Line 10327: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);

10323:
10324: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Calculating penal interest...');
10325: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Period = ' || l_add_prev_act_date || ' - *' || l_activity_date);
10326: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Amount = ' || l_add_prev_amount);
10327: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'Interest Rate = ' || p_penal_int_rate);
10328:
10329: -- calc penal interest rate
10330: if (p_calc_method = 'SIMPLE') then
10331:

Line 10349: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal periodic_rate = ' || l_penal_period_rate);

10345: ,p_days_count_method => p_day_count_method);
10346:
10347: end if;
10348:
10349: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal periodic_rate = ' || l_penal_period_rate);
10350:
10351: l_penal_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10352: ,p_periodic_rate => l_penal_period_rate
10353: ,p_compounding_period => null);

Line 10354: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal interest = ' || l_penal_interest);

10350:
10351: l_penal_interest := lns_financials.calculateInterest(p_amount => l_add_prev_amount
10352: ,p_periodic_rate => l_penal_period_rate
10353: ,p_compounding_period => null);
10354: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, 'penal interest = ' || l_penal_interest);
10355:
10356: end if;
10357:
10358: l_cum_add_interest := l_cum_add_interest + l_add_interest;

Line 10361: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Additional Interest = ' || l_cum_add_interest);

10357:
10358: l_cum_add_interest := l_cum_add_interest + l_add_interest;
10359: l_cum_penal_interest := l_cum_penal_interest + l_penal_interest;
10360:
10361: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Additional Interest = ' || l_cum_add_interest);
10362: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Penal Interest = ' || l_cum_penal_interest);
10363:
10364: x_add_interest := l_cum_add_interest;
10365: x_penal_interest := l_cum_penal_interest;

Line 10362: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Penal Interest = ' || l_cum_penal_interest);

10358: l_cum_add_interest := l_cum_add_interest + l_add_interest;
10359: l_cum_penal_interest := l_cum_penal_interest + l_penal_interest;
10360:
10361: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Additional Interest = ' || l_cum_add_interest);
10362: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, l_api_name || ': Total Penal Interest = ' || l_cum_penal_interest);
10363:
10364: x_add_interest := l_cum_add_interest;
10365: x_penal_interest := l_cum_penal_interest;
10366:

Line 10367: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');

10363:
10364: x_add_interest := l_cum_add_interest;
10365: x_penal_interest := l_cum_penal_interest;
10366:
10367: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
10368: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
10369:
10370: end;
10371:

Line 10368: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');

10364: x_add_interest := l_cum_add_interest;
10365: x_penal_interest := l_cum_penal_interest;
10366:
10367: logMessage(FND_LOG.LEVEL_PROCEDURE, G_PKG_NAME, l_api_name || ' - END');
10368: logMessage(FND_LOG.LEVEL_STATEMENT, G_PKG_NAME, ' ');
10369:
10370: end;
10371:
10372: