[Home] [Help]
194: -- Upper Bound for Rental/S And M Date
195: ------------------------------------------------------------
196: CURSOR upper_rental_date_csr ( p_khr_id NUMBER, p_kle_id NUMBER, p_sty_purpose VARCHAR2) IS
197: SELECT TRUNC(MAX( ste.STREAM_ELEMENT_DATE )) upper_stream_date
198: FROM okl_strm_elements ste
199: WHERE ste.stm_id IN (
200: SELECT stm.id
201: FROM okl_streams stm,
202: okl_strm_type_v sty
211: -- Lower Bound for Rental/S And M Date
212: ------------------------------------------------------------
213: CURSOR lower_rental_date_csr ( p_khr_id NUMBER, p_kle_id NUMBER, p_sty_purpose VARCHAR2, p_max_date DATE) IS
214: SELECT TRUNC(MAX( ste.STREAM_ELEMENT_DATE )) lower_stream_date
215: FROM okl_strm_elements ste
216: WHERE ste.stream_element_date <= p_max_date
217: AND ste.stm_id IN (
218: SELECT stm.id
219: FROM okl_streams stm,
234: contract line. Ordered the stream element dates in descending order and picked the
235: the amount for the max stream element date excluding the stream element for stub
236: payment */
237: SELECT ste.amount
238: FROM okl_strm_elements ste,
239: (
240: SELECT stm.id, to_number(rule_information6) amt
241: FROM okc_rules_b a,
242: okc_rule_groups_b b,
261:
262: /*
263: CURSOR bill_amt_csr ( p_khr_id NUMBER, p_kle_id NUMBER, p_sty_purpose VARCHAR2) IS
264: SELECT MIN (ste.amount) amount
265: FROM okl_strm_elements ste
266: WHERE ste.stm_id IN (
267: SELECT stm.id
268: FROM okl_streams stm,
269: okl_strm_type_v sty
279: -- Check Evergreen elements exist
280: ------------------------------------------------------------
281: CURSOR evergreen_element_csr ( p_khr_id NUMBER, p_kle_id NUMBER, p_sty_purpose VARCHAR2) IS
282: SELECT MAX( ste.STREAM_ELEMENT_DATE ) evergreen_element_date
283: FROM okl_strm_elements ste
284: WHERE ste.stm_id IN (
285: SELECT stm.id
286: FROM okl_streams stm,
287: okl_strm_type_v sty
317: -- Max Line Number
318: ------------------------------------------------------------
319: CURSOR max_line_num_csr (p_stm_id NUMBER) IS
320: SELECT max(se_line_number)
321: FROM okl_strm_elements
322: WHERE stm_id = p_stm_id;
323:
324: ------------------------------------------------------------
325: -- To Check if a stream element already exists
325: -- To Check if a stream element already exists
326: ------------------------------------------------------------
327: CURSOR stm_rec_exists_csr (p_stm_id NUMBER, p_sel_date DATE) IS
328: SELECT count(*)
329: FROM okl_strm_elements
330: WHERE stm_id = p_stm_id
331: AND trunc(STREAM_ELEMENT_DATE) = trunc(p_sel_date);
332:
333: ------------------------------------------------------------
334: -- To Check if previously unbilled stream elements exist
335: ------------------------------------------------------------
336: CURSOR prev_unbilled_csr (p_stm_id NUMBER, p_sel_date DATE) IS
337: SELECT count(*)
338: FROM okl_strm_elements
339: WHERE stm_id = p_stm_id
340: AND trunc(STREAM_ELEMENT_DATE) <= trunc(p_sel_date)
341: AND date_billed is NULL;
342:
350: ,ste.stream_element_date
351: ,stm.khr_id
352: ,stm.kle_id
353: ,stm.sty_id
354: FROM okl_strm_elements_v ste
355: ,okl_streams_v stm
356: ,okl_strm_type_v sty
357: WHERE ste.stm_id = stm.id
358: AND stm.khr_id = p_khr_id
397: -- Stream Element Line Number Cursor
398: ------------------------------------------------------------
399: CURSOR l_stream_line_nbr_csr(cp_stm_id IN NUMBER) IS
400: SELECT max(se_line_number) se_line_number
401: FROM okl_strm_elements_v
402: WHERE stm_id = cp_stm_id;
403:
404: ------------------------------------------------------------
405: -- Initialise constants
455: l_kle_id okl_streams.kle_id%TYPE;
456: l_sty_id okl_strm_type_v.id%TYPE;
457: l_evrgrn_strm_purpose okl_strm_type_v.stream_type_purpose%TYPE;
458: l_evrgrn_prim_strm_purpose okl_strm_type_v.stream_type_purpose%TYPE;
459: l_se_line_number OKL_STRM_ELEMENTS_V.SE_LINE_NUMBER%TYPE;
460: l_stm_id OKL_STREAMS_V.ID%TYPE;
461: l_sel_id Okl_strm_elements_v.sel_id%TYPE;
462:
463: l_amount NUMBER;
457: l_evrgrn_strm_purpose okl_strm_type_v.stream_type_purpose%TYPE;
458: l_evrgrn_prim_strm_purpose okl_strm_type_v.stream_type_purpose%TYPE;
459: l_se_line_number OKL_STRM_ELEMENTS_V.SE_LINE_NUMBER%TYPE;
460: l_stm_id OKL_STREAMS_V.ID%TYPE;
461: l_sel_id Okl_strm_elements_v.sel_id%TYPE;
462:
463: l_amount NUMBER;
464:
465: l_billing_frequency NUMBER;