619:
620: l_last_payment number;
621:
622: -- for fees
623: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
624: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
625: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
626: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
627: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
620: l_last_payment number;
621:
622: -- for fees
623: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
624: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
625: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
626: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
627: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
628: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
621:
622: -- for fees
623: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
624: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
625: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
626: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
627: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
628: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
629: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
622: -- for fees
623: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
624: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
625: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
626: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
627: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
628: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
629: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
630:
623: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
624: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
625: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
626: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
627: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
628: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
629: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
630:
631: l_custom_tbl LNS_CUSTOM_PUB.CUSTOM_TBL;
624: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
625: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
626: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
627: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
628: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
629: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
630:
631: l_custom_tbl LNS_CUSTOM_PUB.CUSTOM_TBL;
632: l_AMORT_METHOD varchar2(30);
625: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
626: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
627: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
628: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
629: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
630:
631: l_custom_tbl LNS_CUSTOM_PUB.CUSTOM_TBL;
632: l_AMORT_METHOD varchar2(30);
633:
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
748: ,p_fee_id => null);
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
791: ,p_fee_id => 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
799: ,p_fee_id => null);
846: l_installment_number := l_amort_tbl(i).installment_number;
847: -- calculate the origination fees
848: if l_installment_number = 1 then
849: if l_orig_fee_structures.count > 0 then
850: lns_fee_engine.calculateFees(p_loan_id => p_loan_id
851: ,p_installment => l_installment_number
852: ,p_fee_basis_tbl => l_fee_basis_tbl
853: ,p_fee_structures => l_orig_fee_structures
854: ,x_fees_tbl => l_orig_fees_tbl
861: end if;
862:
863: -- calculate the memo fees
864: if l_memo_fee_structures.count > 0 then
865: lns_fee_engine.calculateFees(p_loan_id => p_loan_id
866: ,p_installment => l_installment_number
867: ,p_fee_basis_tbl => l_fee_basis_tbl
868: ,p_fee_structures => l_memo_fee_structures
869: ,x_fees_tbl => l_memo_fees_tbl
875: end if;
876:
877: -- calculate the recurring fees
878: if l_fee_structures.count > 0 then
879: lns_fee_engine.calculateFees(p_loan_id => p_loan_id
880: ,p_installment => l_installment_number
881: ,p_fee_basis_tbl => l_fee_basis_tbl
882: ,p_fee_structures => l_fee_structures
883: ,x_fees_tbl => l_fees_tbl
1170: l_api_version_number number;
1171: l_return_status VARCHAR2(1);
1172: l_msg_count NUMBER;
1173: l_msg_data VARCHAR2(32767);
1174: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
1175: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
1176: l_overdue_amount number;
1177: i number;
1178: l_due_date date;
1171: l_return_status VARCHAR2(1);
1172: l_msg_count NUMBER;
1173: l_msg_data VARCHAR2(32767);
1174: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
1175: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
1176: l_overdue_amount number;
1177: i number;
1178: l_due_date date;
1179: l_installment number;
1641: l_return_status VARCHAR2(1);
1642: l_msg_count NUMBER;
1643: l_msg_data VARCHAR2(32767);
1644: l_api_name varchar2(25);
1645: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
1646: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
1647: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
1648: l_total_fees number;
1649: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
1642: l_msg_count NUMBER;
1643: l_msg_data VARCHAR2(32767);
1644: l_api_name varchar2(25);
1645: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
1646: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
1647: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
1648: l_total_fees number;
1649: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
1650: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
1645: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
1646: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
1647: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
1648: l_total_fees number;
1649: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
1650: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
1651: i number;
1652: --l_begin_balance number; -- used for fees calculation
1653: l_customized varchar2(1);
1646: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
1647: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
1648: l_total_fees number;
1649: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
1650: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
1651: i number;
1652: --l_begin_balance number; -- used for fees calculation
1653: l_customized varchar2(1);
1654: l_loan_start_date date;
1836: l_fee_basis_tbl(4).fee_basis_name := 'OVERDUE_PRIN_INT';
1837: -- l_fee_basis_tbl(4).fee_basis_amount := l_amortization_rec.principal_amount + l_amortization_rec.interest_amount;
1838: l_fee_basis_tbl(4).fee_basis_amount := l_amortization_rec.UNPAID_PRIN + l_amortization_rec.UNPAID_INT;
1839:
1840: lns_fee_engine.processFees(p_init_msg_list => FND_API.G_FALSE
1841: ,p_commit => FND_API.G_FALSE
1842: ,p_loan_id => p_loan_id
1843: ,p_installment_number => p_installment_number
1844: ,p_fee_basis_tbl => l_fee_basis_tbl
1856: end if;
1857:
1858: -- 12-21-2004 raverma added for lns.b
1859: -- only get the dis
1860: lns_fee_engine.getFeeSchedule(p_init_msg_list => FND_API.G_FALSE
1861: ,p_loan_id => p_loan_id
1862: ,p_installment_number => p_installment_number
1863: ,p_disb_header_id => null
1864: ,x_fees_tbl => l_fees_tbl_1
2052: l_msg_count NUMBER;
2053: l_msg_data VARCHAR2(32767);
2054: l_api_name varchar2(25);
2055:
2056: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2057: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
2058: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
2059: l_total_fees number;
2060: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2053: l_msg_data VARCHAR2(32767);
2054: l_api_name varchar2(25);
2055:
2056: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2057: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
2058: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
2059: l_total_fees number;
2060: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2061: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
2056: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2057: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
2058: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
2059: l_total_fees number;
2060: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2061: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
2062: i number;
2063: m number;
2064: l_wtd_balance number;
2057: l_fees_tbl_1 LNS_FEE_ENGINE.FEE_CALC_TBL;
2058: l_fees_tbl_2 LNS_FINANCIALS.FEES_TBL;
2059: l_total_fees number;
2060: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2061: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL; -- define what event(s) we are processing fees for
2062: i number;
2063: m number;
2064: l_wtd_balance number;
2065: l_periodic_rate number;
2249: l_amortization_rec.principal_amount := l_periodic_principal; /* needed to calculate fees */
2250: l_amortization_rec.interest_amount := l_periodic_interest;
2251:
2252: -- 12-21-2004 raverma added for lns.b
2253: lns_fee_engine.getFeeSchedule(p_init_msg_list => FND_API.G_FALSE
2254: ,p_loan_id => p_loan_id
2255: ,p_installment_number => p_installment_number
2256: ,p_disb_header_id => null
2257: ,x_fees_tbl => l_fees_tbl_1
2563: l_balloon_amount number;
2564: l_remaining_balance number;
2565:
2566: -- for fees
2567: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2568: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2569: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2564: l_remaining_balance number;
2565:
2566: -- for fees
2567: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2568: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2569: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2572: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2565:
2566: -- for fees
2567: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2568: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2569: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2572: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2573: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2566: -- for fees
2567: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2568: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2569: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2572: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2573: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2574: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2567: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2568: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2569: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2572: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2573: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2574: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2575:
2568: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2569: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2572: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2573: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2574: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2575:
2576: -- total fees on the schedule by installment
2569: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2572: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2573: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2574: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2575:
2576: -- total fees on the schedule by installment
2577: cursor c_fees(p_loan_id number, p_installment number) is
2570: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
2571: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2572: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2573: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
2574: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
2575:
2576: -- total fees on the schedule by installment
2577: cursor c_fees(p_loan_id number, p_installment number) is
2578: select nvl(sum(sched.fee_amount), 0)
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
2713: ,p_fee_id => 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
2721: ,p_fee_id => 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
2729: ,p_fee_id => 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
2737: ,p_fee_id => null);
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
3357: ,p_fee_structures => l_orig_fee_structures
3358: ,x_fees_tbl => l_orig_fees_tbl
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;
3367: end if;
3368:
3366: end if;
3367: end if;
3368:
3369: if l_memo_fee_structures.count > 0 then
3370: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
3371: ,p_installment => l_installment_number
3372: ,p_fee_basis_tbl => l_fee_basis_tbl
3373: ,p_fee_structures => l_memo_fee_structures
3374: ,x_fees_tbl => l_memo_fees_tbl
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;
3383:
3384:
3382: end if;
3383:
3384:
3385: if l_fee_structures.count > 0 then
3386: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
3387: ,p_installment => l_installment_number
3388: ,p_fee_basis_tbl => l_fee_basis_tbl
3389: ,p_fee_structures => l_fee_structures
3390: ,x_fees_tbl => l_fees_tbl
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;
3399: /*
3400: for i in 1..l_orig_fees_tbl.count loop
3627: l_balloon_amount number;
3628: l_remaining_balance number;
3629:
3630: -- for fees
3631: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3632: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3633: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3628: l_remaining_balance number;
3629:
3630: -- for fees
3631: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3632: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3633: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3636: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3629:
3630: -- for fees
3631: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3632: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3633: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3636: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3637: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
3630: -- for fees
3631: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3632: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3633: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3636: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3637: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
3638: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3631: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3632: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3633: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3636: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3637: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
3638: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3639:
3632: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3633: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3636: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3637: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
3638: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3639:
3640: -- total fees on the schedule by installment
3633: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3636: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3637: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
3638: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3639:
3640: -- total fees on the schedule by installment
3641: cursor c_fees(p_loan_id number, p_installment number) is
3634: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3635: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3636: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
3637: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
3638: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
3639:
3640: -- total fees on the schedule by installment
3641: cursor c_fees(p_loan_id number, p_installment number) is
3642: select nvl(sum(sched.fee_amount), 0)
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
3776: ,p_fee_id => 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
3784: ,p_fee_id => 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
3792: ,p_fee_id => 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
3800: ,p_fee_id => null);
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
4360: ,p_fee_structures => l_orig_fee_structures
4361: ,x_fees_tbl => l_orig_fees_tbl
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;
4370: end if;
4371:
4369: end if;
4370: end if;
4371:
4372: if l_memo_fee_structures.count > 0 then
4373: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
4374: ,p_installment => l_installment_number
4375: ,p_fee_basis_tbl => l_fee_basis_tbl
4376: ,p_fee_structures => l_memo_fee_structures
4377: ,x_fees_tbl => l_memo_fees_tbl
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;
4386:
4387:
4385: end if;
4386:
4387:
4388: if l_fee_structures.count > 0 then
4389: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
4390: ,p_installment => l_installment_number
4391: ,p_fee_basis_tbl => l_fee_basis_tbl
4392: ,p_fee_structures => l_fee_structures
4393: ,x_fees_tbl => l_fees_tbl
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;
4402: /*
4403: for i in 1..l_orig_fees_tbl.count loop
4634: l_remaining_balance number;
4635: l_prev_grace_end_date date;
4636:
4637: -- for fees
4638: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4639: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4640: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4635: l_prev_grace_end_date date;
4636:
4637: -- for fees
4638: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4639: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4640: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4643: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4636:
4637: -- for fees
4638: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4639: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4640: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4643: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4644: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4637: -- for fees
4638: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4639: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4640: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4643: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4644: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4645: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
4638: l_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4639: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4640: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4643: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4644: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4645: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
4646:
4639: l_memo_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4640: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4643: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4644: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4645: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
4646:
4647: -- total fees on the schedule by installment
4640: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4643: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4644: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4645: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
4646:
4647: -- total fees on the schedule by installment
4648: cursor c_fees(p_loan_id number, p_installment number) is
4641: l_conv_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
4642: l_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4643: l_memo_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4644: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
4645: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
4646:
4647: -- total fees on the schedule by installment
4648: cursor c_fees(p_loan_id number, p_installment number) is
4649: select nvl(sum(sched.fee_amount), 0)
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
4792: ,p_fee_id => 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
4800: ,p_fee_id => 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
4808: ,p_fee_id => 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
4816: ,p_fee_id => null);
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
5426: ,p_fee_basis_tbl => l_fee_basis_tbl
5427: ,p_fee_structures => l_orig_fee_structures
5428: ,x_fees_tbl => l_orig_fees_tbl
5434: end if;
5435: end if;
5436:
5437: if l_memo_fee_structures.count > 0 then
5438: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
5439: ,p_installment => l_installment_number
5440: ,p_fee_basis_tbl => l_fee_basis_tbl
5441: ,p_fee_structures => l_memo_fee_structures
5442: ,x_fees_tbl => l_memo_fees_tbl
5447: end if;
5448:
5449:
5450: if l_fee_structures.count > 0 then
5451: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
5452: ,p_installment => l_installment_number
5453: ,p_fee_basis_tbl => l_fee_basis_tbl
5454: ,p_fee_structures => l_fee_structures
5455: ,x_fees_tbl => l_fees_tbl
5723: l_calc_method varchar2(30);
5724: l_compound_freq varchar2(30);
5725:
5726: -- for fees
5727: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5728: l_calc_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5729: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
5730: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
5731:
5724: l_compound_freq varchar2(30);
5725:
5726: -- for fees
5727: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5728: l_calc_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5729: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
5730: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
5731:
5732: -- total fees on the schedule by installment
5725:
5726: -- for fees
5727: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5728: l_calc_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5729: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
5730: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
5731:
5732: -- total fees on the schedule by installment
5733: cursor c_fees(p_loan_id number, p_installment number) is
5726: -- for fees
5727: l_orig_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5728: l_calc_fee_structures LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
5729: l_orig_fees_tbl LNS_FEE_ENGINE.FEE_CALC_TBL;
5730: l_fee_basis_tbl LNS_FEE_ENGINE.FEE_BASIS_TBL;
5731:
5732: -- total fees on the schedule by installment
5733: cursor c_fees(p_loan_id number, p_installment number) is
5734: select nvl(sum(sched.fee_amount), 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
5890: ,p_to_date => l_payment_tbl(l_installment_number).period_end_date
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;
5905: l_calc_fee_structures(1) := l_orig_fee_structures(j);
5906: lns_fee_engine.calculateFees(p_loan_id => l_loan_id
5907: ,p_installment => 0
5908: ,p_fee_basis_tbl => l_fee_basis_tbl
5909: ,p_fee_structures => l_calc_fee_structures
5910: ,x_fees_tbl => l_orig_fees_tbl
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
8359: ,x_msg_count => l_msg_count