42: ID OKL_K_LINES_V.ID%TYPE
43: );
44:
45: TYPE kle_tbl_type IS TABLE OF kle_rec_type INDEX BY BINARY_INTEGER;
46: SUBTYPE selv_tbl_type IS Okl_Streams_Pvt.selv_tbl_type;
47:
48:
49:
50:
887: CURSOR c_payments_made(c_khr_id NUMBER)
888: IS
889: SELECT count(sele.amount)
890: FROM okl_strm_elements sele,
891: okl_streams str,
892: okl_strm_type_v sty
893: WHERE sele.stm_id = str.id
894: AND str.sty_id = sty.id
895: AND UPPER(sty.name) = 'PRINCIPAL PAYMENT'
904: CURSOR c_initial_principal(c_khr_id NUMBER)
905: IS
906: SELECT sum(sele.amount)
907: FROM okl_strm_elements sele,
908: okl_streams str,
909: okl_strm_type_v sty
910: WHERE sele.stm_id = str.id
911: AND str.sty_id = sty.id
912: AND UPPER(sty.name) = 'PRINCIPAL BALANCE'
917: --end multigaap changes
918: AND str.khr_id = c_khr_id
919: and sele.stream_element_date = (select min(sele.stream_element_date)
920: FROM okl_strm_elements sele,
921: okl_streams str,
922: okl_strm_type_v sty
923: WHERE sele.stm_id = str.id
924: AND str.sty_id = sty.id
925: AND UPPER(sty.name) = 'PRINCIPAL PAYMENT'
934: CURSOR c_current_principal(c_khr_id NUMBER)
935: IS
936: SELECT sum(sele.amount)
937: FROM okl_strm_elements sele,
938: okl_streams str,
939: okl_strm_type_v sty
940: WHERE sele.stm_id = str.id
941: AND str.sty_id = sty.id
942: AND UPPER(sty.name) = 'PRINCIPAL BALANCE'
947: --end multigaap changes
948: AND str.khr_id = c_khr_id
949: and sele.stream_element_date = (select max(sele.stream_element_date)
950: FROM okl_strm_elements sele,
951: okl_streams str,
952: okl_strm_type_v sty
953: WHERE sele.stm_id = str.id
954: AND str.sty_id = sty.id
955: AND UPPER(sty.name) = 'PRINCIPAL PAYMENT'
993: CURSOR c_remaining_payments(c_kle_id NUMBER)
994: IS
995: SELECT count(sele.amount)
996: FROM okl_strm_elements sele,
997: okl_streams str,
998: okl_strm_type_v sty
999: WHERE sele.stm_id = str.id
1000: AND str.sty_id = sty.id
1001: AND UPPER(sty.name) = 'PRINCIPAL PAYMENT'
1120: CURSOR c_get_remaining_payments(c_line_id NUMBER,c_pay_date DATE)
1121: IS
1122: SELECT count(sel.amount)
1123: FROM okl_strm_elements sel,
1124: okl_streams stm,
1125: okl_strm_type_v sty
1126: WHERE sty.name = 'PRINCIPAL PAYMENT'
1127: AND stm.sty_id = sty.id
1128: AND stm.say_code = 'CURR'
1131: AND stm.kle_id = c_line_id
1132: AND sel.stm_id = stm.id
1133: AND sel.stream_element_date >
1134: ( SELECT NVL(MAX(sel.stream_element_date), c_pay_date)
1135: FROM okl_strm_elements sel,okl_streams stm,
1136: okl_strm_type_v sty
1137: WHERE sty.name = 'PRINCIPAL PAYMENT'
1138: AND stm.sty_id = sty.id
1139: AND stm.say_code = 'CURR'
1330:
1331: IF l_principal_count > 0 THEN
1332: l_strm_type := 'PRINCIPAL_PAYMENT';
1333: --get the sty_id for principal payment
1334: OKL_STREAMS_UTIL.get_dependent_stream_type(
1335: p_khr_id => p_khr_id
1336: ,p_primary_sty_purpose => G_RENT_STREAM
1337: ,p_dependent_sty_purpose => G_PRINCIPAL_PAYMENT
1338: ,x_return_status => x_return_status
1349: RAISE OKL_API.G_EXCEPTION_ERROR;
1350: END IF;
1351:
1352: --Get the Stream type id for UPP.
1353: OKL_STREAMS_UTIL.get_dependent_stream_type(
1354: p_khr_id => p_khr_id
1355: ,p_primary_sty_purpose => G_RENT_STREAM
1356: ,p_dependent_sty_purpose => G_UNSCHED_PP_STREAM
1357: ,x_return_status => x_return_status
1369:
1370: ELSIF l_rent_count > 0 THEN
1371: l_strm_type := 'RENT';
1372: --get the sty id for rent.
1373: OKL_STREAMS_UTIL.get_primary_stream_type
1374: (p_khr_id => p_khr_id
1375: ,p_primary_sty_purpose => G_RENT_STREAM
1376: ,x_return_status => x_return_status
1377: ,x_primary_sty_id => l_prim_sty_id);
1386: RAISE OKL_API.G_EXCEPTION_ERROR;
1387: END IF;
1388:
1389: --Get the Stream type id for UPP.
1390: OKL_STREAMS_UTIL.get_dependent_stream_type(
1391: p_khr_id => p_khr_id
1392: ,p_primary_sty_purpose => G_RENT_STREAM
1393: ,p_dependent_sty_purpose => G_UNSCHED_PP_STREAM
1394: ,x_return_status => x_return_status
2701:
2702: END IF;
2703:
2704: --get the sty id for rent.
2705: OKL_STREAMS_UTIL.get_primary_stream_type
2706: (p_khr_id => p_chr_id
2707: ,p_primary_sty_purpose => G_RENT_STREAM
2708: ,x_return_status => x_return_status
2709: ,x_primary_sty_id => l_rent_sty_id);
2717: RAISE OKL_API.G_EXCEPTION_ERROR;
2718: END IF;
2719:
2720: --Get the Stream type id.
2721: OKL_STREAMS_UTIL.get_dependent_stream_type(
2722: p_khr_id => p_chr_id
2723: ,p_primary_sty_purpose => G_RENT_STREAM
2724: ,p_dependent_sty_purpose => G_UNSCHED_PP_STREAM
2725: ,x_return_status => x_return_status
2733: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2734: RAISE OKL_API.G_EXCEPTION_ERROR;
2735: END IF;
2736:
2737: OKL_STREAMS_UTIL.get_pricing_engine(
2738: p_khr_id => p_chr_id
2739: ,x_pricing_engine => l_pricing_engine
2740: ,x_return_status => x_return_status);
2741:
3277: --rkuttiya commenting following lines of code for 11i OKL.H Variable Rate
3278:
3279: /*
3280: --Get the Stream type id.
3281: OKL_STREAMS_UTIL.get_dependent_stream_type(
3282: p_khr_id => p_chr_id
3283: ,p_primary_sty_purpose => G_RENT_STREAM
3284: ,p_dependent_sty_purpose => G_UNSCHED_PP_STREAM
3285: ,x_return_status => x_return_status
4788: CLOSE l_stream_type_csr;
4789:
4790: IF l_principal_count > 0
4791: THEN
4792: OKL_STREAMS_UTIL.get_dependent_stream_type
4793: (p_khr_id => p_ppd_khr_id
4794: ,p_primary_sty_purpose => G_RENT_STREAM
4795: ,p_dependent_sty_purpose => G_PRINCIPAL_PAYMENT
4796: ,x_return_status => x_return_status
4801: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4802: RAISE OKL_API.G_EXCEPTION_ERROR;
4803: END IF;
4804: ELSE
4805: OKL_STREAMS_UTIL.get_primary_stream_type
4806: (p_khr_id => p_ppd_khr_id
4807: ,p_primary_sty_purpose => G_RENT_STREAM
4808: ,x_return_status => x_return_status
4809: ,x_primary_sty_id => l_rent_sty_id);
4816: --Bug#5100215 end
4817:
4818:
4819: --Get the Stream type id for UPP.
4820: OKL_STREAMS_UTIL.get_dependent_stream_type(
4821: p_khr_id => p_ppd_khr_id
4822: ,p_primary_sty_purpose => G_RENT_STREAM
4823: ,p_dependent_sty_purpose => G_UNSCHED_PP_STREAM
4824: ,x_return_status => x_return_status
5399: --Now create the Cash flow lines
5400: --check if a cash flow line exists of this type.
5401: l_cfl_id := NULL;
5402: --dkagrawa added the following code for bug#5443418 start
5403: OKL_STREAMS_UTIL.get_pricing_engine(
5404: p_khr_id => p_ppd_khr_id
5405: ,x_pricing_engine => l_pricing_engine
5406: ,x_return_status => x_return_status);
5407: IF l_pricing_engine = 'INTERNAL' THEN
6258: CLOSE c_req_details_csr;
6259:
6260:
6261: --Get the Stream type id for UPP.
6262: OKL_STREAMS_UTIL.get_dependent_stream_type(
6263: p_khr_id => p_ppd_khr_id
6264: ,p_primary_sty_purpose => G_RENT_STREAM
6265: ,p_dependent_sty_purpose => G_PRINCIPAL_PAYMENT
6266: ,x_return_status => x_return_status
6276: RAISE OKL_API.G_EXCEPTION_ERROR;
6277: END IF;
6278:
6279: --Get the Stream type id for UPP.
6280: OKL_STREAMS_UTIL.get_dependent_stream_type(
6281: p_khr_id => p_ppd_khr_id
6282: ,p_primary_sty_purpose => G_RENT_STREAM
6283: ,p_dependent_sty_purpose => G_UNSCHED_PP_STREAM
6284: ,x_return_status => x_return_status
7189: FROM OKL_STRM_ELEMENTS_V
7190: WHERE stm_id = c_stm_id
7191: ORDER BY SE_LINE_NUMBER DESC;
7192:
7193: l_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7194: lx_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7195: l_selv_rec Okl_Streams_Pub.selv_rec_type;
7196: lx_selv_rec Okl_Streams_Pub.selv_rec_type;
7197: L_rulv_tbl_type OKL_RULE_PUB.rulv_tbl_type;
7190: WHERE stm_id = c_stm_id
7191: ORDER BY SE_LINE_NUMBER DESC;
7192:
7193: l_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7194: lx_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7195: l_selv_rec Okl_Streams_Pub.selv_rec_type;
7196: lx_selv_rec Okl_Streams_Pub.selv_rec_type;
7197: L_rulv_tbl_type OKL_RULE_PUB.rulv_tbl_type;
7198: l_pym_hdr_rec okl_la_payments_pvt.pym_hdr_rec_type;
7191: ORDER BY SE_LINE_NUMBER DESC;
7192:
7193: l_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7194: lx_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7195: l_selv_rec Okl_Streams_Pub.selv_rec_type;
7196: lx_selv_rec Okl_Streams_Pub.selv_rec_type;
7197: L_rulv_tbl_type OKL_RULE_PUB.rulv_tbl_type;
7198: l_pym_hdr_rec okl_la_payments_pvt.pym_hdr_rec_type;
7199: l_pym_tbl okl_la_payments_pvt.pym_tbl_type;
7192:
7193: l_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7194: lx_stmv_rec Okl_Streams_Pub.stmv_rec_type;
7195: l_selv_rec Okl_Streams_Pub.selv_rec_type;
7196: lx_selv_rec Okl_Streams_Pub.selv_rec_type;
7197: L_rulv_tbl_type OKL_RULE_PUB.rulv_tbl_type;
7198: l_pym_hdr_rec okl_la_payments_pvt.pym_hdr_rec_type;
7199: l_pym_tbl okl_la_payments_pvt.pym_tbl_type;
7200:
7448: --check whether loan paydown or principal paydown
7449: IF l_trqv_rec.paydown_type = 'L' THEN
7450: l_comments := 'Unscheduled Loan Payment';
7451:
7452: OKL_STREAMS_UTIL.get_dependent_stream_type(
7453: p_khr_id => l_trqv_rec.dnz_khr_id
7454: ,p_primary_sty_purpose => G_RENT_STREAM
7455: ,p_dependent_sty_purpose => G_UNSCHED_LP_STREAM
7456: ,x_return_status => x_return_status
7466: RAISE OKL_API.G_EXCEPTION_ERROR;
7467: END IF;
7468: ELSIF l_trqv_rec.paydown_type = 'P' THEN
7469: l_comments := 'Unscheduled Principal Payment';
7470: OKL_STREAMS_UTIL.get_dependent_stream_type(
7471: p_khr_id => l_trqv_rec.dnz_khr_id
7472: ,p_primary_sty_purpose => G_RENT_STREAM
7473: ,p_dependent_sty_purpose => G_UNSCHED_PP_STREAM
7474: ,x_return_status => x_return_status
7717: l_stmv_rec.date_current := SYSDATE;
7718: l_stmv_rec.comments := l_comments;
7719:
7720:
7721: Okl_Streams_Pub.create_streams(
7722: p_api_version => p_api_version,
7723: p_init_msg_list => p_init_msg_list,
7724: x_return_status => x_return_status,
7725: x_msg_count => x_msg_count,
7756: l_selv_rec.se_line_number := l_selv_rec.se_line_number+1;
7757: end if;
7758: CLOSE c_stm_id_line_number;
7759:
7760: Okl_Streams_Pub.create_stream_elements(
7761: p_api_version => p_api_version,
7762: p_init_msg_list => p_init_msg_list,
7763: x_return_status => x_return_status,
7764: x_msg_count => x_msg_count,