4: --
5: -- API name : insert_hdr
6: -- Pre-reqs : None
7: -- Function : This procedure inserts the Amortization Schedule generated
8: -- into the OKL_AMORT_SCHED_HDRS
9: -- Parameters :
10: -- IN : p_api_version - Standard input parameter
11: -- p_init_msg_list - Standard input parameter
12: -- p_trx_req_id - Request ID from okl_trx_requests table
56: else
57: l_amor_hdr_id(l_indx).order_by_det_id := l_hdr_id;
58: l_amor_type := G_ORDER_BY;
59: end if;
60: insert into OKL_AMORT_SCHED_HDRS (AMORT_HDR_ID,TRX_REQ_ID,AMORT_TYPE,AMORT_REPORT_FLAG,created_by,creation_date,
61: LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN)
62: values(l_hdr_id,p_trx_req_id,l_amor_type,G_REPORT_TYPE_DETAIL_C,g_user_id,sysdate,g_user_id,sysdate,g_user_id);
63: end loop;
64: -- dbms_output.put_line('After invoking insert detail');
91: else
92: l_amor_hdr_id(l_indx).order_by_summ_id := l_hdr_id;
93: l_amor_type := G_ORDER_BY;
94: end if;
95: insert into OKL_AMORT_SCHED_HDRS (AMORT_HDR_ID,TRX_REQ_ID,AMORT_TYPE,AMORT_REPORT_FLAG,created_by,creation_date,
96: LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN)
97: values(l_hdr_id,p_trx_req_id,l_amor_type,G_REPORT_TYPE_SUMMARY_C,g_user_id,sysdate,g_user_id,sysdate,g_user_id);
98: end loop;
99: end if;
144: -- History : srsreeni created.
145: procedure insert_lines(p_api_version IN NUMBER,p_init_msg_list IN VARCHAR2,x_return_status OUT NOCOPY VARCHAR2,
146: x_msg_count OUT NOCOPY NUMBER,x_msg_data OUT NOCOPY VARCHAR2,
147: p_amort_sched_tbl in OKL_LOAN_AMORT_SCHEDULE_PVT.amort_sched_tbl_type,p_amor_line_id in AMORT_LINE_ID,
148: p_pri_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
149: p_int_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_pri_bal_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
150: p_date_from_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_loan_pymnt_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
151: p_pastproj_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default NULL,
152: p_date_to_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
145: procedure insert_lines(p_api_version IN NUMBER,p_init_msg_list IN VARCHAR2,x_return_status OUT NOCOPY VARCHAR2,
146: x_msg_count OUT NOCOPY NUMBER,x_msg_data OUT NOCOPY VARCHAR2,
147: p_amort_sched_tbl in OKL_LOAN_AMORT_SCHEDULE_PVT.amort_sched_tbl_type,p_amor_line_id in AMORT_LINE_ID,
148: p_pri_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
149: p_int_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_pri_bal_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
150: p_date_from_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_loan_pymnt_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
151: p_pastproj_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default NULL,
152: p_date_to_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
153: p_proj_interest_rate_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
146: x_msg_count OUT NOCOPY NUMBER,x_msg_data OUT NOCOPY VARCHAR2,
147: p_amort_sched_tbl in OKL_LOAN_AMORT_SCHEDULE_PVT.amort_sched_tbl_type,p_amor_line_id in AMORT_LINE_ID,
148: p_pri_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
149: p_int_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_pri_bal_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
150: p_date_from_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_loan_pymnt_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
151: p_pastproj_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default NULL,
152: p_date_to_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
153: p_proj_interest_rate_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
154: p_summ_flag in boolean default false,
147: p_amort_sched_tbl in OKL_LOAN_AMORT_SCHEDULE_PVT.amort_sched_tbl_type,p_amor_line_id in AMORT_LINE_ID,
148: p_pri_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
149: p_int_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_pri_bal_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
150: p_date_from_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_loan_pymnt_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
151: p_pastproj_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default NULL,
152: p_date_to_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
153: p_proj_interest_rate_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
154: p_summ_flag in boolean default false,
155: p_proj_interest_rate in number default NULL,p_order_by_id in
148: p_pri_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
149: p_int_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_pri_bal_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
150: p_date_from_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_loan_pymnt_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
151: p_pastproj_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default NULL,
152: p_date_to_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
153: p_proj_interest_rate_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
154: p_summ_flag in boolean default false,
155: p_proj_interest_rate in number default NULL,p_order_by_id in
156: OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%TYPE) as
149: p_int_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_pri_bal_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
150: p_date_from_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,p_loan_pymnt_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type,
151: p_pastproj_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default NULL,
152: p_date_to_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
153: p_proj_interest_rate_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
154: p_summ_flag in boolean default false,
155: p_proj_interest_rate in number default NULL,p_order_by_id in
156: OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%TYPE) as
157: begin
152: p_date_to_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
153: p_proj_interest_rate_id in OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%type default null,
154: p_summ_flag in boolean default false,
155: p_proj_interest_rate in number default NULL,p_order_by_id in
156: OKL_AMORT_SCHED_HDRS.AMORT_HDR_ID%TYPE) as
157: begin
158: x_return_status := OKL_API.G_RET_STS_SUCCESS;
159: --Following Code is performance oriented but commented since it is not supported in version prior to 11g.
160: /*
407: procedure delete_old_sched(p_api_version IN NUMBER,p_init_msg_list IN VARCHAR2,x_return_status OUT NOCOPY VARCHAR2,
408: x_msg_count OUT NOCOPY NUMBER,x_msg_data OUT NOCOPY VARCHAR2,p_chr_id in okc_k_headers_b.id%type,
409: p_req_id in okl_trx_requests.id%type) as
410: cursor trx_req_csr(p_chr_id in okc_k_headers_b.id%type,p_req_id in okl_trx_requests.id%type) is
411: select nvl(max(trx_req_id),-1) trx_req_id from OKL_AMORT_SCHED_HDRS
412: where trx_req_id = (select nvl(max(tr.id),-1) from okl_trx_requests tr
413: where dnz_khr_id = p_chr_id and id < p_req_id
414: and request_type_code='AMORITIZATION_SCHEDULE_CURRENT')
415: group by AMORT_REPORT_FLAG;
425: --If value returned from query is -1, then there is no report history for the contract
426: --Else there is a record, deletion need to be performed to maintain one copy each of Summary/Detail
427: --of the report for the contract
428: if l_old_trx_req_id is not null and l_old_trx_req_id <> -1 then
429: delete from OKL_AMORT_SCHED_LINES where AMORT_HDR_ID in(select AMORT_HDR_ID from OKL_AMORT_SCHED_HDRS
430: where trx_req_id=l_old_trx_req_id);
431: delete from OKL_AMORT_SCHED_HDRS where trx_req_id=l_old_trx_req_id;
432: end if;
433: --commit;
427: --of the report for the contract
428: if l_old_trx_req_id is not null and l_old_trx_req_id <> -1 then
429: delete from OKL_AMORT_SCHED_LINES where AMORT_HDR_ID in(select AMORT_HDR_ID from OKL_AMORT_SCHED_HDRS
430: where trx_req_id=l_old_trx_req_id);
431: delete from OKL_AMORT_SCHED_HDRS where trx_req_id=l_old_trx_req_id;
432: end if;
433: --commit;
434: exit when trx_req_csr%notfound;
435: fetch trx_req_csr INTO l_old_trx_req_id;