2: /* $Header: OKLRASCB.pls 120.16.12010000.2 2008/10/20 18:36:21 apaul ship $ */
3: ------------------------------------------------------------------------------------
4: -- GLOBAL OKL MESSAGES
5: ------------------------------------------------------------------------------------
6: G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKL_API.G_COL_NAME_TOKEN;
7: G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_UNEXPECTED_ERROR';
8: G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := 'OKL_REQUIRED_VALUE';
9: G_INVALID_VALUE CONSTANT VARCHAR2(200) := 'OKL_INVALID_VALUE';
10: G_NO_MATCHING_RECORD CONSTANT VARCHAR2(200) := 'OKL_LLA_NO_MATCHING_RECORD';
277: ORDER BY ste.stream_element_date;
278:
279:
280: BEGIN
281: x_return_status := OKL_API.G_RET_STS_SUCCESS;
282: -- Call start_activity to create savepoint, check compatibility
283: -- and initialize message list
284: x_return_status := OKL_API.START_ACTIVITY (
285: l_api_name
280: BEGIN
281: x_return_status := OKL_API.G_RET_STS_SUCCESS;
282: -- Call start_activity to create savepoint, check compatibility
283: -- and initialize message list
284: x_return_status := OKL_API.START_ACTIVITY (
285: l_api_name
286: ,p_init_msg_list
287: ,'_PVT'
288: ,x_return_status);
286: ,p_init_msg_list
287: ,'_PVT'
288: ,x_return_status);
289: -- Check if activity started successfully
290: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
291: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
292: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
293: RAISE OKL_API.G_EXCEPTION_ERROR;
294: END IF;
287: ,'_PVT'
288: ,x_return_status);
289: -- Check if activity started successfully
290: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
291: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
292: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
293: RAISE OKL_API.G_EXCEPTION_ERROR;
294: END IF;
295: -- validate in parameters
288: ,x_return_status);
289: -- Check if activity started successfully
290: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
291: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
292: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
293: RAISE OKL_API.G_EXCEPTION_ERROR;
294: END IF;
295: -- validate in parameters
296: IF p_khr_id IS NULL OR
289: -- Check if activity started successfully
290: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
291: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
292: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
293: RAISE OKL_API.G_EXCEPTION_ERROR;
294: END IF;
295: -- validate in parameters
296: IF p_khr_id IS NULL OR
297: p_khr_id = OKL_API.G_MISS_NUM THEN
293: RAISE OKL_API.G_EXCEPTION_ERROR;
294: END IF;
295: -- validate in parameters
296: IF p_khr_id IS NULL OR
297: p_khr_id = OKL_API.G_MISS_NUM THEN
298: -- store SQL error message on message stack for caller
299: okl_api.set_message(p_app_name => G_APP_NAME,
300: p_msg_name => G_REQUIRED_VALUE,
301: p_token1 => G_COL_NAME_TOKEN,
295: -- validate in parameters
296: IF p_khr_id IS NULL OR
297: p_khr_id = OKL_API.G_MISS_NUM THEN
298: -- store SQL error message on message stack for caller
299: okl_api.set_message(p_app_name => G_APP_NAME,
300: p_msg_name => G_REQUIRED_VALUE,
301: p_token1 => G_COL_NAME_TOKEN,
302: p_token1_value => 'p_khr_id');
303: RAISE okl_api.g_exception_error;
299: okl_api.set_message(p_app_name => G_APP_NAME,
300: p_msg_name => G_REQUIRED_VALUE,
301: p_token1 => G_COL_NAME_TOKEN,
302: p_token1_value => 'p_khr_id');
303: RAISE okl_api.g_exception_error;
304: END IF;
305: -- cursor to get investor Agreement contract id
306: -- for a given Lease contract id
307: /* sosharma ,14-12-2007
313: OPEN get_inv_csr (p_khr_id => p_khr_id);
314: FETCH get_inv_csr INTO l_inv_id;
315: IF get_inv_csr%NOTFOUND THEN
316: -- store SQL error message on message stack for caller
317: okl_api.set_message(p_app_name => G_APP_NAME,
318: p_msg_name => G_NO_MATCHING_RECORD,
319: p_token1 => G_COL_NAME_TOKEN,
320: p_token1_value => 'p_khr_id');
321: RAISE okl_api.g_exception_error;
317: okl_api.set_message(p_app_name => G_APP_NAME,
318: p_msg_name => G_NO_MATCHING_RECORD,
319: p_token1 => G_COL_NAME_TOKEN,
320: p_token1_value => 'p_khr_id');
321: RAISE okl_api.g_exception_error;
322: END IF;
323: CLOSE get_inv_csr;
324: ELSE
325: OPEN get_inv_pend_csr (p_khr_id => p_khr_id);
325: OPEN get_inv_pend_csr (p_khr_id => p_khr_id);
326: FETCH get_inv_pend_csr INTO l_inv_id;
327: IF get_inv_pend_csr%NOTFOUND THEN
328: -- store SQL error message on message stack for caller
329: okl_api.set_message(p_app_name => G_APP_NAME,
330: p_msg_name => G_NO_MATCHING_RECORD,
331: p_token1 => G_COL_NAME_TOKEN,
332: p_token1_value => 'p_khr_id');
333: RAISE okl_api.g_exception_error;
329: okl_api.set_message(p_app_name => G_APP_NAME,
330: p_msg_name => G_NO_MATCHING_RECORD,
331: p_token1 => G_COL_NAME_TOKEN,
332: p_token1_value => 'p_khr_id');
333: RAISE okl_api.g_exception_error;
334: END IF;
335: CLOSE get_inv_pend_csr;
336: END IF;
337:
345: OPEN securitized_contracts_csr (l_inv_id,
346: p_khr_id);
347: FETCH securitized_contracts_csr INTO l_contracts_csr;
348: IF securitized_contracts_csr%NOTFOUND THEN
349: okl_api.set_message(p_app_name => g_app_name,
350: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
351: RAISE okl_api.G_EXCEPTION_ERROR;
352: END IF;
353: CLOSE securitized_contracts_csr;
347: FETCH securitized_contracts_csr INTO l_contracts_csr;
348: IF securitized_contracts_csr%NOTFOUND THEN
349: okl_api.set_message(p_app_name => g_app_name,
350: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
351: RAISE okl_api.G_EXCEPTION_ERROR;
352: END IF;
353: CLOSE securitized_contracts_csr;
354: ELSE
355: OPEN securitized_contracts_pend_csr (l_inv_id,
355: OPEN securitized_contracts_pend_csr (l_inv_id,
356: p_khr_id);
357: FETCH securitized_contracts_pend_csr INTO l_contracts_csr;
358: IF securitized_contracts_pend_csr%NOTFOUND THEN
359: okl_api.set_message(p_app_name => g_app_name,
360: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
361: RAISE okl_api.G_EXCEPTION_ERROR;
362: END IF;
363: CLOSE securitized_contracts_pend_csr;
357: FETCH securitized_contracts_pend_csr INTO l_contracts_csr;
358: IF securitized_contracts_pend_csr%NOTFOUND THEN
359: okl_api.set_message(p_app_name => g_app_name,
360: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
361: RAISE okl_api.G_EXCEPTION_ERROR;
362: END IF;
363: CLOSE securitized_contracts_pend_csr;
364: END IF;
365: /* sosharma end changes */
389: BEGIN
390: OPEN contract_number_csr(l_contracts_csr.khr_id);
391: FETCH contract_number_csr INTO l_contract_number;
392: IF contract_number_csr%NOTFOUND THEN
393: okl_api.set_message(p_app_name => G_APP_NAME,
394: p_msg_name => G_NO_MATCHING_RECORD,
395: p_token1 => G_COL_NAME_TOKEN,
396: p_token1_value => 'Lease Contract id');
397: RAISE okl_api.g_exception_error;
393: okl_api.set_message(p_app_name => G_APP_NAME,
394: p_msg_name => G_NO_MATCHING_RECORD,
395: p_token1 => G_COL_NAME_TOKEN,
396: p_token1_value => 'Lease Contract id');
397: RAISE okl_api.g_exception_error;
398: END IF;
399: CLOSE contract_number_csr;
400:
401: /* sosharma ,14-12-2007
405: IF p_mode IS NULL THEN
406: OPEN get_kle_id_csr(l_contracts_csr.khr_id);
407: FETCH get_kle_id_csr INTO l_kle_id, l_start_date;
408: IF get_kle_id_csr%NOTFOUND THEN
409: okl_api.set_message(p_app_name => G_APP_NAME,
410: p_msg_name => G_NO_MATCHING_RECORD,
411: p_token1 => G_COL_NAME_TOKEN,
412: p_token1_value => 'Lease contract id');
413: RAISE okl_api.g_exception_error;
409: okl_api.set_message(p_app_name => G_APP_NAME,
410: p_msg_name => G_NO_MATCHING_RECORD,
411: p_token1 => G_COL_NAME_TOKEN,
412: p_token1_value => 'Lease contract id');
413: RAISE okl_api.g_exception_error;
414: END IF;
415: CLOSE get_kle_id_csr;
416: ELSE
417: OPEN get_kle_id_pend_csr(l_contracts_csr.khr_id);
416: ELSE
417: OPEN get_kle_id_pend_csr(l_contracts_csr.khr_id);
418: FETCH get_kle_id_pend_csr INTO l_kle_id, l_start_date;
419: IF get_kle_id_pend_csr%NOTFOUND THEN
420: okl_api.set_message(p_app_name => G_APP_NAME,
421: p_msg_name => G_NO_MATCHING_RECORD,
422: p_token1 => G_COL_NAME_TOKEN,
423: p_token1_value => 'Lease contract id');
424: RAISE okl_api.g_exception_error;
420: okl_api.set_message(p_app_name => G_APP_NAME,
421: p_msg_name => G_NO_MATCHING_RECORD,
422: p_token1 => G_COL_NAME_TOKEN,
423: p_token1_value => 'Lease contract id');
424: RAISE okl_api.g_exception_error;
425: END IF;
426: CLOSE get_kle_id_pend_csr;
427: END IF;
428: /* sosharma end changes */
427: END IF;
428: /* sosharma end changes */
429:
430: IF l_kle_id IS NULL OR
431: l_kle_id = OKL_API.G_MISS_NUM THEN
432: okl_api.set_message(p_app_name => g_app_name,
433: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
434: p_token1 => g_contract_number_token,
435: p_token1_value => l_contract_number);
428: /* sosharma end changes */
429:
430: IF l_kle_id IS NULL OR
431: l_kle_id = OKL_API.G_MISS_NUM THEN
432: okl_api.set_message(p_app_name => g_app_name,
433: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
434: p_token1 => g_contract_number_token,
435: p_token1_value => l_contract_number);
436: RAISE okl_api.g_exception_error;
432: okl_api.set_message(p_app_name => g_app_name,
433: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
434: p_token1 => g_contract_number_token,
435: p_token1_value => l_contract_number);
436: RAISE okl_api.g_exception_error;
437: END IF;
438: IF l_start_date IS NULL OR
439: l_start_date = okl_api.g_miss_date THEN
440: okl_api.set_message(p_app_name => g_app_name,
435: p_token1_value => l_contract_number);
436: RAISE okl_api.g_exception_error;
437: END IF;
438: IF l_start_date IS NULL OR
439: l_start_date = okl_api.g_miss_date THEN
440: okl_api.set_message(p_app_name => g_app_name,
441: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
442: RAISE okl_api.g_exception_error;
443: END IF;
436: RAISE okl_api.g_exception_error;
437: END IF;
438: IF l_start_date IS NULL OR
439: l_start_date = okl_api.g_miss_date THEN
440: okl_api.set_message(p_app_name => g_app_name,
441: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
442: RAISE okl_api.g_exception_error;
443: END IF;
444: OPEN get_adv_arr_csr(l_contracts_csr.khr_id, l_kle_id);
438: IF l_start_date IS NULL OR
439: l_start_date = okl_api.g_miss_date THEN
440: okl_api.set_message(p_app_name => g_app_name,
441: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
442: RAISE okl_api.g_exception_error;
443: END IF;
444: OPEN get_adv_arr_csr(l_contracts_csr.khr_id, l_kle_id);
445: FETCH get_adv_arr_csr INTO l_arrears, l_frequency;
446: IF get_adv_arr_csr%NOTFOUND THEN
443: END IF;
444: OPEN get_adv_arr_csr(l_contracts_csr.khr_id, l_kle_id);
445: FETCH get_adv_arr_csr INTO l_arrears, l_frequency;
446: IF get_adv_arr_csr%NOTFOUND THEN
447: okl_api.set_message(p_app_name => G_APP_NAME,
448: p_msg_name => G_NO_MATCHING_RECORD,
449: p_token1 => G_COL_NAME_TOKEN,
450: p_token1_value => 'Lease Contract id and contract Line id');
451: RAISE okl_api.g_exception_error;
447: okl_api.set_message(p_app_name => G_APP_NAME,
448: p_msg_name => G_NO_MATCHING_RECORD,
449: p_token1 => G_COL_NAME_TOKEN,
450: p_token1_value => 'Lease Contract id and contract Line id');
451: RAISE okl_api.g_exception_error;
452: END IF;
453: CLOSE get_adv_arr_csr;
454: IF l_frequency IS NULL THEN
455: okl_api.set_message(p_app_name => g_app_name,
451: RAISE okl_api.g_exception_error;
452: END IF;
453: CLOSE get_adv_arr_csr;
454: IF l_frequency IS NULL THEN
455: okl_api.set_message(p_app_name => g_app_name,
456: p_msg_name => 'OKL_ASC_FREQUENCY_ERROR',
457: p_token1 => g_contract_number_token,
458: p_token1_value => l_contract_number);
459: RAISE okl_api.g_exception_error;
455: okl_api.set_message(p_app_name => g_app_name,
456: p_msg_name => 'OKL_ASC_FREQUENCY_ERROR',
457: p_token1 => g_contract_number_token,
458: p_token1_value => l_contract_number);
459: RAISE okl_api.g_exception_error;
460: END IF;
461: IF l_arrears = 'Y' THEN
462: ln_days := OKL_STREAM_GENERATOR_PVT.get_day_count (
463: p_start_date => ADD_MONTHS(l_start_date, -l_frequency),
463: p_start_date => ADD_MONTHS(l_start_date, -l_frequency),
464: p_end_date => l_start_date,
465: p_arrears => l_arrears,
466: x_return_status => x_return_status);
467: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
468: RAISE okl_api.g_exception_unexpected_error;
469: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
470: RAISE okl_api.g_exception_error;
471: END IF;
464: p_end_date => l_start_date,
465: p_arrears => l_arrears,
466: x_return_status => x_return_status);
467: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
468: RAISE okl_api.g_exception_unexpected_error;
469: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
470: RAISE okl_api.g_exception_error;
471: END IF;
472: l_final_start_date := l_start_date - ln_days;
465: p_arrears => l_arrears,
466: x_return_status => x_return_status);
467: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
468: RAISE okl_api.g_exception_unexpected_error;
469: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
470: RAISE okl_api.g_exception_error;
471: END IF;
472: l_final_start_date := l_start_date - ln_days;
473: ELSIF NVL(l_arrears,'N') = 'N' THEN
466: x_return_status => x_return_status);
467: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
468: RAISE okl_api.g_exception_unexpected_error;
469: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
470: RAISE okl_api.g_exception_error;
471: END IF;
472: l_final_start_date := l_start_date - ln_days;
473: ELSIF NVL(l_arrears,'N') = 'N' THEN
474: l_final_start_date := l_start_date;
505: x_return_status => l_return_status,
506: x_primary_sty_id => l_sty_id
507: );
508: IF l_return_status <> 'S' THEN
509: okl_api.set_message(p_app_name => g_app_name,
510: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
511: p_token1 => 'STREAM_NAME',
512: p_token1_value => l_investor_rental_accrual);
513: RAISE okl_api.g_exception_error;
509: okl_api.set_message(p_app_name => g_app_name,
510: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
511: p_token1 => 'STREAM_NAME',
512: p_token1_value => l_investor_rental_accrual);
513: RAISE okl_api.g_exception_error;
514: END IF;
515: -- calculate total revenue share
516: FOR get_revenue_share_rec IN get_revenue_share_csr(l_inv_id, 'RENT') LOOP
517: l_revenue_share := l_revenue_share + get_revenue_share_rec.percent_stake;
518: END LOOP;
519: IF l_revenue_share IS NULL OR
520: l_revenue_share = 0 THEN
521: -- store SQL error message on message stack for caller
522: okl_api.set_message(p_app_name => g_app_name,
523: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
524: RAISE okl_api.G_EXCEPTION_ERROR;
525: END IF;
526: stream_type_purpose := l_rental_accrual;
520: l_revenue_share = 0 THEN
521: -- store SQL error message on message stack for caller
522: okl_api.set_message(p_app_name => g_app_name,
523: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
524: RAISE okl_api.G_EXCEPTION_ERROR;
525: END IF;
526: stream_type_purpose := l_rental_accrual;
527: ELSIF l_contracts_csr.deal_type IN ('LEASEDF', 'LEASEST') THEN
528: OKL_STREAMS_UTIL.get_primary_stream_type
532: x_return_status => l_return_status,
533: x_primary_sty_id => l_sty_id
534: );
535: IF l_return_status <> 'S' THEN
536: okl_api.set_message(p_app_name => g_app_name,
537: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
538: p_token1 => 'STREAM_NAME',
539: p_token1_value => l_investor_pre_tax_income);
540: RAISE okl_api.g_exception_error;
536: okl_api.set_message(p_app_name => g_app_name,
537: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
538: p_token1 => 'STREAM_NAME',
539: p_token1_value => l_investor_pre_tax_income);
540: RAISE okl_api.g_exception_error;
541: END IF;
542: -- calculate total revenue share
543: FOR get_revenue_share_rec IN get_revenue_share_csr(l_inv_id, 'RENT') LOOP
544: l_revenue_share := l_revenue_share + get_revenue_share_rec.percent_stake;
545: END LOOP;
546: IF l_revenue_share IS NULL OR
547: l_revenue_share = 0 THEN
548: -- store SQL error message on message stack for caller
549: okl_api.set_message(p_app_name => g_app_name,
550: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
551: RAISE okl_api.G_EXCEPTION_ERROR;
552: END IF;
553: stream_type_purpose := l_pre_tax_income;
547: l_revenue_share = 0 THEN
548: -- store SQL error message on message stack for caller
549: okl_api.set_message(p_app_name => g_app_name,
550: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
551: RAISE okl_api.G_EXCEPTION_ERROR;
552: END IF;
553: stream_type_purpose := l_pre_tax_income;
554: /* ankushar , 25-01-2008 Bug 6773285
555: End Changes
567: x_return_status => l_return_status,
568: x_primary_sty_id => l_sty_id
569: );
570: IF l_return_status <> 'S' THEN
571: okl_api.set_message(p_app_name => g_app_name,
572: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
573: p_token1 => 'STREAM_NAME',
574: p_token1_value => l_inv_interest_income_accrual);
575: RAISE okl_api.g_exception_error;
571: okl_api.set_message(p_app_name => g_app_name,
572: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
573: p_token1 => 'STREAM_NAME',
574: p_token1_value => l_inv_interest_income_accrual);
575: RAISE okl_api.g_exception_error;
576: END IF;
577: -- calculate total revenue share
578: FOR get_revenue_share_rec IN get_revenue_share_csr(l_inv_id, 'LOAN_PAYMENT') LOOP
579: l_revenue_share := l_revenue_share + get_revenue_share_rec.percent_stake;
580: END LOOP;
581: IF l_revenue_share IS NULL OR
582: l_revenue_share = 0 THEN
583: -- store SQL error message on message stack for caller
584: okl_api.set_message(p_app_name => g_app_name,
585: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
586: RAISE okl_api.G_EXCEPTION_ERROR;
587: END IF;
588: stream_type_purpose := l_interest_income;
582: l_revenue_share = 0 THEN
583: -- store SQL error message on message stack for caller
584: okl_api.set_message(p_app_name => g_app_name,
585: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
586: RAISE okl_api.G_EXCEPTION_ERROR;
587: END IF;
588: stream_type_purpose := l_interest_income;
589: /* ankushar , 16-01-2008 Bug 6691554
590: End Changes
655: p_stmv_rec => l_stmv_rec,
656: p_selv_tbl => l_selv_tbl,
657: x_stmv_rec => x_stmv_rec,
658: x_selv_tbl => x_selv_tbl);
659: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
660: RAISE okl_api.g_exception_unexpected_error;
661: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
662: RAISE okl_api.g_exception_error;
663: END IF;
656: p_selv_tbl => l_selv_tbl,
657: x_stmv_rec => x_stmv_rec,
658: x_selv_tbl => x_selv_tbl);
659: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
660: RAISE okl_api.g_exception_unexpected_error;
661: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
662: RAISE okl_api.g_exception_error;
663: END IF;
664: --call link api
657: x_stmv_rec => x_stmv_rec,
658: x_selv_tbl => x_selv_tbl);
659: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
660: RAISE okl_api.g_exception_unexpected_error;
661: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
662: RAISE okl_api.g_exception_error;
663: END IF;
664: --call link api
665:
658: x_selv_tbl => x_selv_tbl);
659: IF (x_return_status = okl_api.g_ret_sts_unexp_error) THEN
660: RAISE okl_api.g_exception_unexpected_error;
661: ELSIF (x_return_Status = okl_api.g_ret_sts_error) THEN
662: RAISE okl_api.g_exception_error;
663: END IF;
664: --call link api
665:
666: OKL_CONTRACT_REBOOK_PVT.link_inv_accrual_streams(
670: ,x_msg_count => x_msg_count
671: ,x_msg_data => x_msg_data
672: ,p_khr_id =>l_contracts_csr.khr_id
673: );
674: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
675: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
676: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
677: RAISE Okl_Api.G_EXCEPTION_ERROR;
678: END IF;
671: ,x_msg_data => x_msg_data
672: ,p_khr_id =>l_contracts_csr.khr_id
673: );
674: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
675: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
676: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
677: RAISE Okl_Api.G_EXCEPTION_ERROR;
678: END IF;
679: -- Update the status of streams from 'CURR' to 'HIST'
672: ,p_khr_id =>l_contracts_csr.khr_id
673: );
674: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
675: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
676: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
677: RAISE Okl_Api.G_EXCEPTION_ERROR;
678: END IF;
679: -- Update the status of streams from 'CURR' to 'HIST'
680:
673: );
674: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
675: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
676: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
677: RAISE Okl_Api.G_EXCEPTION_ERROR;
678: END IF;
679: -- Update the status of streams from 'CURR' to 'HIST'
680:
681: j:=0;
701: WHERE ID = l_id_tbl(i);
702:
703: EXCEPTION
704: WHEN OTHERS THEN
705: okl_api.set_message (p_app_name => G_APP_NAME,
706: p_msg_name => G_DB_ERROR,
707: p_token1 => G_PROG_NAME_TOKEN,
708: p_token1_value => l_api_name,
709: p_token2 => G_SQLCODE_TOKEN,
709: p_token2 => G_SQLCODE_TOKEN,
710: p_token2_value => sqlcode,
711: p_token3 => G_SQLERRM_TOKEN,
712: p_token3_value => sqlerrm);
713: l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
714: raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
715: END;
716: END IF;
717:
710: p_token2_value => sqlcode,
711: p_token3 => G_SQLERRM_TOKEN,
712: p_token3_value => sqlerrm);
713: l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
714: raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
715: END;
716: END IF;
717:
718: --------------------------------------------
740: WHERE ID = l_id_tbl(i);
741:
742: EXCEPTION
743: WHEN OTHERS THEN
744: okl_api.set_message (p_app_name => G_APP_NAME,
745: p_msg_name => G_DB_ERROR,
746: p_token1 => G_PROG_NAME_TOKEN,
747: p_token1_value => l_api_name,
748: p_token2 => G_SQLCODE_TOKEN,
748: p_token2 => G_SQLCODE_TOKEN,
749: p_token2_value => sqlcode,
750: p_token3 => G_SQLERRM_TOKEN,
751: p_token3_value => sqlerrm);
752: l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
753: raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
754: END;
755: END IF;
756:
749: p_token2_value => sqlcode,
750: p_token3 => G_SQLERRM_TOKEN,
751: p_token3_value => sqlerrm);
752: l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
753: raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
754: END;
755: END IF;
756:
757: END IF; --end if for table count >0
757: END IF; --end if for table count >0
758:
759:
760: EXCEPTION
761: WHEN okl_api.g_exception_error THEN
762: IF contract_number_csr%ISOPEN THEN
763: CLOSE contract_number_csr;
764: END IF;
765: IF get_kle_id_csr%ISOPEN THEN
773: END IF;
774: IF strm_csr%ISOPEN THEN
775: CLOSE strm_csr;
776: END IF;
777: x_return_status := okl_api.handle_exceptions(l_api_name,
778: g_pkg_name,
779: 'OKL_API.G_RET_STS_ERROR',
780: x_msg_count,
781: x_msg_data,
775: CLOSE strm_csr;
776: END IF;
777: x_return_status := okl_api.handle_exceptions(l_api_name,
778: g_pkg_name,
779: 'OKL_API.G_RET_STS_ERROR',
780: x_msg_count,
781: x_msg_data,
782: '_PVT');
783: WHEN okl_api.g_exception_unexpected_error THEN
779: 'OKL_API.G_RET_STS_ERROR',
780: x_msg_count,
781: x_msg_data,
782: '_PVT');
783: WHEN okl_api.g_exception_unexpected_error THEN
784: IF contract_number_csr%ISOPEN THEN
785: CLOSE contract_number_csr;
786: END IF;
787: IF get_kle_id_csr%ISOPEN THEN
795: END IF;
796: IF strm_csr%ISOPEN THEN
797: CLOSE strm_csr;
798: END IF;
799: x_return_status := okl_api.handle_exceptions(l_api_name,
800: g_pkg_name,
801: 'OKL_API.G_RET_STS_UNEXP_ERROR',
802: x_msg_count,
803: x_msg_data,
797: CLOSE strm_csr;
798: END IF;
799: x_return_status := okl_api.handle_exceptions(l_api_name,
800: g_pkg_name,
801: 'OKL_API.G_RET_STS_UNEXP_ERROR',
802: x_msg_count,
803: x_msg_data,
804: '_PVT');
805: WHEN OTHERS THEN
817: END IF;
818: IF strm_csr%ISOPEN THEN
819: CLOSE strm_csr;
820: END IF;
821: x_return_status := okl_api.handle_exceptions(l_api_name,
822: g_pkg_name,
823: 'OTHERS',
824: x_msg_count,
825: x_msg_data,
824: x_msg_count,
825: x_msg_data,
826: '_PVT');
827: END;
828: OKL_API.END_ACTIVITY (x_msg_count,
829: x_msg_data );
830: EXCEPTION
831: WHEN OKL_API.G_EXCEPTION_ERROR THEN
832: IF contract_number_csr%ISOPEN THEN
827: END;
828: OKL_API.END_ACTIVITY (x_msg_count,
829: x_msg_data );
830: EXCEPTION
831: WHEN OKL_API.G_EXCEPTION_ERROR THEN
832: IF contract_number_csr%ISOPEN THEN
833: CLOSE contract_number_csr;
834: END IF;
835: IF get_kle_id_csr%ISOPEN THEN
849: END IF;
850: IF get_inv_csr%ISOPEN THEN
851: CLOSE get_inv_csr;
852: END IF;
853: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
854: l_api_name,
855: G_PKG_NAME,
856: 'OKL_API.G_RET_STS_ERROR',
857: x_msg_count,
852: END IF;
853: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
854: l_api_name,
855: G_PKG_NAME,
856: 'OKL_API.G_RET_STS_ERROR',
857: x_msg_count,
858: x_msg_data,
859: '_PVT');
860: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
856: 'OKL_API.G_RET_STS_ERROR',
857: x_msg_count,
858: x_msg_data,
859: '_PVT');
860: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
861: IF contract_number_csr%ISOPEN THEN
862: CLOSE contract_number_csr;
863: END IF;
864: IF get_kle_id_csr%ISOPEN THEN
878: END IF;
879: IF get_inv_csr%ISOPEN THEN
880: CLOSE get_inv_csr;
881: END IF;
882: x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
883: l_api_name,
884: G_PKG_NAME,
885: 'OKL_API.G_RET_STS_UNEXP_ERROR',
886: x_msg_count,
881: END IF;
882: x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
883: l_api_name,
884: G_PKG_NAME,
885: 'OKL_API.G_RET_STS_UNEXP_ERROR',
886: x_msg_count,
887: x_msg_data,
888: '_PVT');
889: WHEN OTHERS THEN
907: END IF;
908: IF get_inv_csr%ISOPEN THEN
909: CLOSE get_inv_csr;
910: END IF;
911: x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
912: l_api_name,
913: G_PKG_NAME,
914: 'OTHERS',
915: x_msg_count,
929:
930: l_count NUMBER := 1;
931: l_api_version CONSTANT NUMBER := 1.0;
932: l_api_name CONSTANT VARCHAR2(30) := 'CREATE_STREAMS';
933: l_init_msg_list VARCHAR2(4000) := OKL_API.G_FALSE;
934: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
935: l_msg_count NUMBER;
936: l_msg_data VARCHAR2(2000);
937: l_period_end_date DATE;
930: l_count NUMBER := 1;
931: l_api_version CONSTANT NUMBER := 1.0;
932: l_api_name CONSTANT VARCHAR2(30) := 'CREATE_STREAMS';
933: l_init_msg_list VARCHAR2(4000) := OKL_API.G_FALSE;
934: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
935: l_msg_count NUMBER;
936: l_msg_data VARCHAR2(2000);
937: l_period_end_date DATE;
938: l_total_records NUMBER;
1134:
1135:
1136: BEGIN
1137: -- Set save point
1138: l_return_status := OKL_API.START_ACTIVITY(
1139: p_api_name => l_api_name,
1140: p_pkg_name => G_PKG_NAME,
1141: p_init_msg_list => p_init_msg_list,
1142: l_api_version => l_api_version,
1142: l_api_version => l_api_version,
1143: p_api_version => p_api_version,
1144: p_api_type => '_PVT',
1145: x_return_status => l_return_status);
1146: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1147: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1148: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1149: RAISE Okl_Api.G_EXCEPTION_ERROR;
1150: END IF;
1143: p_api_version => p_api_version,
1144: p_api_type => '_PVT',
1145: x_return_status => l_return_status);
1146: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1147: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1148: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1149: RAISE Okl_Api.G_EXCEPTION_ERROR;
1150: END IF;
1151: OPEN contract_number_csr(p_khr_id);
1144: p_api_type => '_PVT',
1145: x_return_status => l_return_status);
1146: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1147: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1148: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1149: RAISE Okl_Api.G_EXCEPTION_ERROR;
1150: END IF;
1151: OPEN contract_number_csr(p_khr_id);
1152: FETCH contract_number_csr INTO l_khr_num,
1145: x_return_status => l_return_status);
1146: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1147: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1148: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1149: RAISE Okl_Api.G_EXCEPTION_ERROR;
1150: END IF;
1151: OPEN contract_number_csr(p_khr_id);
1152: FETCH contract_number_csr INTO l_khr_num,
1153: l_scs_code;
1161: x_msg_count => x_msg_count,
1162: x_msg_data => x_msg_data,
1163: p_khr_id => p_khr_id,
1164: p_mode => p_mode);
1165: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1166: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1167: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1168: RAISE Okl_Api.G_EXCEPTION_ERROR;
1169: END IF;
1162: x_msg_data => x_msg_data,
1163: p_khr_id => p_khr_id,
1164: p_mode => p_mode);
1165: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1166: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1167: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1168: RAISE Okl_Api.G_EXCEPTION_ERROR;
1169: END IF;
1170: -- If the contract is Investor contract then we call the below
1163: p_khr_id => p_khr_id,
1164: p_mode => p_mode);
1165: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1166: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1167: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1168: RAISE Okl_Api.G_EXCEPTION_ERROR;
1169: END IF;
1170: -- If the contract is Investor contract then we call the below
1171: ELSIF l_scs_code = 'INVESTOR' THEN
1164: p_mode => p_mode);
1165: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1166: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1167: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1168: RAISE Okl_Api.G_EXCEPTION_ERROR;
1169: END IF;
1170: -- If the contract is Investor contract then we call the below
1171: ELSIF l_scs_code = 'INVESTOR' THEN
1172: -- validate in parameters
1170: -- If the contract is Investor contract then we call the below
1171: ELSIF l_scs_code = 'INVESTOR' THEN
1172: -- validate in parameters
1173: IF p_khr_id IS NULL OR
1174: p_khr_id = OKL_API.G_MISS_NUM THEN
1175: -- store SQL error message on message stack for caller
1176: Okl_Api.set_message(p_app_name => g_app_name,
1177: p_msg_name => 'OKL_ASC_KHR_ID_ERROR');
1178: RAISE Okl_Api.G_EXCEPTION_ERROR;
1172: -- validate in parameters
1173: IF p_khr_id IS NULL OR
1174: p_khr_id = OKL_API.G_MISS_NUM THEN
1175: -- store SQL error message on message stack for caller
1176: Okl_Api.set_message(p_app_name => g_app_name,
1177: p_msg_name => 'OKL_ASC_KHR_ID_ERROR');
1178: RAISE Okl_Api.G_EXCEPTION_ERROR;
1179: END IF;
1180:
1174: p_khr_id = OKL_API.G_MISS_NUM THEN
1175: -- store SQL error message on message stack for caller
1176: Okl_Api.set_message(p_app_name => g_app_name,
1177: p_msg_name => 'OKL_ASC_KHR_ID_ERROR');
1178: RAISE Okl_Api.G_EXCEPTION_ERROR;
1179: END IF;
1180:
1181: IF p_mode IS NULL THEN
1182: OPEN securitized_contracts_csr (p_khr_id);
1222: FETCH get_kle_id_csr INTO l_kle_id, l_start_date;
1223: CLOSE get_kle_id_csr;
1224:
1225: IF l_kle_id IS NULL OR
1226: l_kle_id = OKL_API.G_MISS_NUM THEN
1227: Okl_Api.set_message(p_app_name => g_app_name,
1228: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
1229: p_token1 => g_contract_number_token,
1230: p_token1_value => l_contract_number);
1223: CLOSE get_kle_id_csr;
1224:
1225: IF l_kle_id IS NULL OR
1226: l_kle_id = OKL_API.G_MISS_NUM THEN
1227: Okl_Api.set_message(p_app_name => g_app_name,
1228: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
1229: p_token1 => g_contract_number_token,
1230: p_token1_value => l_contract_number);
1231: RAISE OKL_API.G_EXCEPTION_ERROR;
1227: Okl_Api.set_message(p_app_name => g_app_name,
1228: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
1229: p_token1 => g_contract_number_token,
1230: p_token1_value => l_contract_number);
1231: RAISE OKL_API.G_EXCEPTION_ERROR;
1232: END IF;
1233:
1234: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1235: Okl_Api.set_message(p_app_name => g_app_name,
1230: p_token1_value => l_contract_number);
1231: RAISE OKL_API.G_EXCEPTION_ERROR;
1232: END IF;
1233:
1234: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1235: Okl_Api.set_message(p_app_name => g_app_name,
1236: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
1237: RAISE OKL_API.G_EXCEPTION_ERROR;
1238: END IF;
1231: RAISE OKL_API.G_EXCEPTION_ERROR;
1232: END IF;
1233:
1234: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1235: Okl_Api.set_message(p_app_name => g_app_name,
1236: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
1237: RAISE OKL_API.G_EXCEPTION_ERROR;
1238: END IF;
1239:
1233:
1234: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1235: Okl_Api.set_message(p_app_name => g_app_name,
1236: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
1237: RAISE OKL_API.G_EXCEPTION_ERROR;
1238: END IF;
1239:
1240: OPEN get_adv_arr_csr(l_contracts_csr.khr_id, l_kle_id);
1241: FETCH get_adv_arr_csr INTO l_arrears, l_frequency;
1241: FETCH get_adv_arr_csr INTO l_arrears, l_frequency;
1242: CLOSE get_adv_arr_csr;
1243:
1244: IF l_frequency IS NULL THEN
1245: Okl_Api.set_message(p_app_name => g_app_name,
1246: p_msg_name => 'OKL_ASC_FREQUENCY_ERROR',
1247: p_token1 => g_contract_number_token,
1248: p_token1_value => l_contract_number);
1249: RAISE OKL_API.G_EXCEPTION_ERROR;
1245: Okl_Api.set_message(p_app_name => g_app_name,
1246: p_msg_name => 'OKL_ASC_FREQUENCY_ERROR',
1247: p_token1 => g_contract_number_token,
1248: p_token1_value => l_contract_number);
1249: RAISE OKL_API.G_EXCEPTION_ERROR;
1250: END IF;
1251:
1252: IF l_arrears = 'Y' THEN
1253: ln_days := okl_stream_generator_pvt.get_day_count (
1254: p_start_date => ADD_MONTHS(l_start_date, -l_frequency),
1255: p_end_date => l_start_date,
1256: p_arrears => l_arrears,
1257: x_return_status => l_return_status);
1258: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1259: RAISE okl_api.g_exception_unexpected_error;
1260: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1261: RAISE okl_api.g_exception_error;
1262: END IF;
1255: p_end_date => l_start_date,
1256: p_arrears => l_arrears,
1257: x_return_status => l_return_status);
1258: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1259: RAISE okl_api.g_exception_unexpected_error;
1260: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1261: RAISE okl_api.g_exception_error;
1262: END IF;
1263: l_final_start_date := l_start_date - ln_days;
1256: p_arrears => l_arrears,
1257: x_return_status => l_return_status);
1258: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1259: RAISE okl_api.g_exception_unexpected_error;
1260: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1261: RAISE okl_api.g_exception_error;
1262: END IF;
1263: l_final_start_date := l_start_date - ln_days;
1264: ELSIF NVL(l_arrears,'N') = 'N' THEN
1257: x_return_status => l_return_status);
1258: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1259: RAISE okl_api.g_exception_unexpected_error;
1260: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1261: RAISE okl_api.g_exception_error;
1262: END IF;
1263: l_final_start_date := l_start_date - ln_days;
1264: ELSIF NVL(l_arrears,'N') = 'N' THEN
1265: l_final_start_date := l_start_date;
1296: x_return_status => l_return_status,
1297: x_primary_sty_id => l_sty_id
1298: );
1299: IF l_return_status <> 'S' THEN
1300: okl_api.set_message(p_app_name => g_app_name,
1301: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1302: p_token1 => 'STREAM_NAME',
1303: p_token1_value => l_investor_rental_accrual);
1304: RAISE okl_api.g_exception_error;
1300: okl_api.set_message(p_app_name => g_app_name,
1301: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1302: p_token1 => 'STREAM_NAME',
1303: p_token1_value => l_investor_rental_accrual);
1304: RAISE okl_api.g_exception_error;
1305:
1306: END IF;
1307: -- calculate total revenue share
1308: FOR x IN get_investors_csr(p_khr_id) LOOP
1312: END LOOP;
1313:
1314: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1315: -- store SQL error message on message stack for caller
1316: Okl_Api.set_message(p_app_name => g_app_name,
1317: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1318: RAISE Okl_Api.G_EXCEPTION_ERROR;
1319: END IF;
1320: --Modified by kthiruva on 19-Oct-2005 . The stream type purpose needs to be bound instead
1314: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1315: -- store SQL error message on message stack for caller
1316: Okl_Api.set_message(p_app_name => g_app_name,
1317: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1318: RAISE Okl_Api.G_EXCEPTION_ERROR;
1319: END IF;
1320: --Modified by kthiruva on 19-Oct-2005 . The stream type purpose needs to be bound instead
1321: --of the stream type code
1322: --Bug 4228708 - Start of Changes
1332: x_primary_sty_id => l_sty_id
1333: );
1334:
1335: IF l_return_status <> 'S' THEN
1336: okl_api.set_message(p_app_name => g_app_name,
1337: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1338: p_token1 => 'STREAM_NAME',
1339: p_token1_value => l_investor_pre_tax_income);
1340: RAISE okl_api.g_exception_error;
1336: okl_api.set_message(p_app_name => g_app_name,
1337: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1338: p_token1 => 'STREAM_NAME',
1339: p_token1_value => l_investor_pre_tax_income);
1340: RAISE okl_api.g_exception_error;
1341: END IF;
1342:
1343: -- calculate total revenue share
1344: FOR x IN get_investors_csr(p_khr_id) LOOP
1348: END LOOP;
1349:
1350: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1351: -- store SQL error message on message stack for caller
1352: Okl_Api.set_message(p_app_name => g_app_name,
1353: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1354: RAISE Okl_Api.G_EXCEPTION_ERROR;
1355: END IF;
1356: stream_type_purpose := l_pre_tax_income;
1350: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1351: -- store SQL error message on message stack for caller
1352: Okl_Api.set_message(p_app_name => g_app_name,
1353: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1354: RAISE Okl_Api.G_EXCEPTION_ERROR;
1355: END IF;
1356: stream_type_purpose := l_pre_tax_income;
1357: /* ankushar , 25-01-2008 Bug 6773285
1358: End Changes
1369: x_return_status => l_return_status,
1370: x_primary_sty_id => l_sty_id
1371: );
1372: IF l_return_status <> 'S' THEN
1373: okl_api.set_message(p_app_name => g_app_name,
1374: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1375: p_token1 => 'STREAM_NAME',
1376: p_token1_value => l_inv_interest_income_accrual);
1377: RAISE okl_api.g_exception_error;
1373: okl_api.set_message(p_app_name => g_app_name,
1374: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1375: p_token1 => 'STREAM_NAME',
1376: p_token1_value => l_inv_interest_income_accrual);
1377: RAISE okl_api.g_exception_error;
1378: END IF;
1379:
1380: -- calculate total revenue share
1381: FOR x IN get_investors_csr(p_khr_id) LOOP
1385: END LOOP;
1386:
1387: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1388: -- store SQL error message on message stack for caller
1389: Okl_Api.set_message(p_app_name => g_app_name,
1390: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1391: RAISE Okl_Api.G_EXCEPTION_ERROR;
1392: END IF;
1393:
1387: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1388: -- store SQL error message on message stack for caller
1389: Okl_Api.set_message(p_app_name => g_app_name,
1390: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1391: RAISE Okl_Api.G_EXCEPTION_ERROR;
1392: END IF;
1393:
1394: stream_type_purpose := l_interest_income;
1395: /* ankushar , 16-01-2008 Bug 6740000
1461: ,p_stmv_rec => l_stmv_rec
1462: ,p_selv_tbl => l_selv_tbl
1463: ,x_stmv_rec => x_stmv_rec
1464: ,x_selv_tbl => x_selv_tbl );
1465: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1466: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1467: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1468: RAISE Okl_Api.G_EXCEPTION_ERROR;
1469: END IF;
1462: ,p_selv_tbl => l_selv_tbl
1463: ,x_stmv_rec => x_stmv_rec
1464: ,x_selv_tbl => x_selv_tbl );
1465: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1466: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1467: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1468: RAISE Okl_Api.G_EXCEPTION_ERROR;
1469: END IF;
1470: END IF;
1463: ,x_stmv_rec => x_stmv_rec
1464: ,x_selv_tbl => x_selv_tbl );
1465: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1466: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1467: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1468: RAISE Okl_Api.G_EXCEPTION_ERROR;
1469: END IF;
1470: END IF;
1471: EXCEPTION
1464: ,x_selv_tbl => x_selv_tbl );
1465: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1466: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1467: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1468: RAISE Okl_Api.G_EXCEPTION_ERROR;
1469: END IF;
1470: END IF;
1471: EXCEPTION
1472: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1468: RAISE Okl_Api.G_EXCEPTION_ERROR;
1469: END IF;
1470: END IF;
1471: EXCEPTION
1472: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1473: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1474: ,g_pkg_name
1475: ,'OKL_API.G_RET_STS_ERROR'
1476: ,x_msg_count
1469: END IF;
1470: END IF;
1471: EXCEPTION
1472: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1473: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1474: ,g_pkg_name
1475: ,'OKL_API.G_RET_STS_ERROR'
1476: ,x_msg_count
1477: ,x_msg_data
1471: EXCEPTION
1472: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1473: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1474: ,g_pkg_name
1475: ,'OKL_API.G_RET_STS_ERROR'
1476: ,x_msg_count
1477: ,x_msg_data
1478: ,'_PVT');
1479: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1475: ,'OKL_API.G_RET_STS_ERROR'
1476: ,x_msg_count
1477: ,x_msg_data
1478: ,'_PVT');
1479: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1480: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1481: ,g_pkg_name
1482: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1483: ,x_msg_count
1476: ,x_msg_count
1477: ,x_msg_data
1478: ,'_PVT');
1479: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1480: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1481: ,g_pkg_name
1482: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1483: ,x_msg_count
1484: ,x_msg_data
1478: ,'_PVT');
1479: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1480: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1481: ,g_pkg_name
1482: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1483: ,x_msg_count
1484: ,x_msg_data
1485: ,'_PVT');
1486: WHEN OTHERS THEN
1497:
1498: IF strm_csr%ISOPEN THEN
1499: CLOSE strm_csr;
1500: END IF;
1501: l_return_status :=Okl_Api.HANDLE_EXCEPTIONS (l_api_name,
1502: G_PKG_NAME,
1503: 'OTHERS',
1504: x_msg_count,
1505: x_msg_data,
1544: FETCH get_kle_id_pend_csr INTO l_kle_id, l_start_date;
1545: CLOSE get_kle_id_pend_csr;
1546:
1547: IF l_kle_id IS NULL OR
1548: l_kle_id = OKL_API.G_MISS_NUM THEN
1549: Okl_Api.set_message(p_app_name => g_app_name,
1550: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
1551: p_token1 => g_contract_number_token,
1552: p_token1_value => l_contract_number);
1545: CLOSE get_kle_id_pend_csr;
1546:
1547: IF l_kle_id IS NULL OR
1548: l_kle_id = OKL_API.G_MISS_NUM THEN
1549: Okl_Api.set_message(p_app_name => g_app_name,
1550: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
1551: p_token1 => g_contract_number_token,
1552: p_token1_value => l_contract_number);
1553: RAISE OKL_API.G_EXCEPTION_ERROR;
1549: Okl_Api.set_message(p_app_name => g_app_name,
1550: p_msg_name => 'OKL_ASC_KLE_ID_ERROR',
1551: p_token1 => g_contract_number_token,
1552: p_token1_value => l_contract_number);
1553: RAISE OKL_API.G_EXCEPTION_ERROR;
1554: END IF;
1555:
1556: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1557: Okl_Api.set_message(p_app_name => g_app_name,
1552: p_token1_value => l_contract_number);
1553: RAISE OKL_API.G_EXCEPTION_ERROR;
1554: END IF;
1555:
1556: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1557: Okl_Api.set_message(p_app_name => g_app_name,
1558: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
1559: RAISE OKL_API.G_EXCEPTION_ERROR;
1560: END IF;
1553: RAISE OKL_API.G_EXCEPTION_ERROR;
1554: END IF;
1555:
1556: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1557: Okl_Api.set_message(p_app_name => g_app_name,
1558: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
1559: RAISE OKL_API.G_EXCEPTION_ERROR;
1560: END IF;
1561:
1555:
1556: IF l_start_date IS NULL OR l_start_date = OKL_API.G_MISS_DATE THEN
1557: Okl_Api.set_message(p_app_name => g_app_name,
1558: p_msg_name => 'OKL_ASC_START_DATE_ERROR');
1559: RAISE OKL_API.G_EXCEPTION_ERROR;
1560: END IF;
1561:
1562: OPEN get_adv_arr_csr(l_contracts_csr.khr_id, l_kle_id);
1563: FETCH get_adv_arr_csr INTO l_arrears, l_frequency;
1563: FETCH get_adv_arr_csr INTO l_arrears, l_frequency;
1564: CLOSE get_adv_arr_csr;
1565:
1566: IF l_frequency IS NULL THEN
1567: Okl_Api.set_message(p_app_name => g_app_name,
1568: p_msg_name => 'OKL_ASC_FREQUENCY_ERROR',
1569: p_token1 => g_contract_number_token,
1570: p_token1_value => l_contract_number);
1571: RAISE OKL_API.G_EXCEPTION_ERROR;
1567: Okl_Api.set_message(p_app_name => g_app_name,
1568: p_msg_name => 'OKL_ASC_FREQUENCY_ERROR',
1569: p_token1 => g_contract_number_token,
1570: p_token1_value => l_contract_number);
1571: RAISE OKL_API.G_EXCEPTION_ERROR;
1572: END IF;
1573:
1574: IF l_arrears = 'Y' THEN
1575: ln_days := okl_stream_generator_pvt.get_day_count (
1576: p_start_date => ADD_MONTHS(l_start_date, -l_frequency),
1577: p_end_date => l_start_date,
1578: p_arrears => l_arrears,
1579: x_return_status => l_return_status);
1580: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1581: RAISE okl_api.g_exception_unexpected_error;
1582: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1583: RAISE okl_api.g_exception_error;
1584: END IF;
1577: p_end_date => l_start_date,
1578: p_arrears => l_arrears,
1579: x_return_status => l_return_status);
1580: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1581: RAISE okl_api.g_exception_unexpected_error;
1582: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1583: RAISE okl_api.g_exception_error;
1584: END IF;
1585: l_final_start_date := l_start_date - ln_days;
1578: p_arrears => l_arrears,
1579: x_return_status => l_return_status);
1580: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1581: RAISE okl_api.g_exception_unexpected_error;
1582: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1583: RAISE okl_api.g_exception_error;
1584: END IF;
1585: l_final_start_date := l_start_date - ln_days;
1586: ELSIF NVL(l_arrears,'N') = 'N' THEN
1579: x_return_status => l_return_status);
1580: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
1581: RAISE okl_api.g_exception_unexpected_error;
1582: ELSIF (l_return_Status = okl_api.g_ret_sts_error) THEN
1583: RAISE okl_api.g_exception_error;
1584: END IF;
1585: l_final_start_date := l_start_date - ln_days;
1586: ELSIF NVL(l_arrears,'N') = 'N' THEN
1587: l_final_start_date := l_start_date;
1607: x_return_status => l_return_status,
1608: x_primary_sty_id => l_sty_id
1609: );
1610: IF l_return_status <> 'S' THEN
1611: okl_api.set_message(p_app_name => g_app_name,
1612: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1613: p_token1 => 'STREAM_NAME',
1614: p_token1_value => l_investor_rental_accrual);
1615: RAISE okl_api.g_exception_error;
1611: okl_api.set_message(p_app_name => g_app_name,
1612: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1613: p_token1 => 'STREAM_NAME',
1614: p_token1_value => l_investor_rental_accrual);
1615: RAISE okl_api.g_exception_error;
1616:
1617: END IF;
1618: -- calculate total revenue share
1619: FOR x IN get_investors_csr(p_khr_id) LOOP
1623: END LOOP;
1624:
1625: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1626: -- store SQL error message on message stack for caller
1627: Okl_Api.set_message(p_app_name => g_app_name,
1628: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1629: RAISE Okl_Api.G_EXCEPTION_ERROR;
1630: END IF;
1631: --Modified by kthiruva on 19-Oct-2005 . The stream type purpose needs to be bound instead
1625: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1626: -- store SQL error message on message stack for caller
1627: Okl_Api.set_message(p_app_name => g_app_name,
1628: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1629: RAISE Okl_Api.G_EXCEPTION_ERROR;
1630: END IF;
1631: --Modified by kthiruva on 19-Oct-2005 . The stream type purpose needs to be bound instead
1632: --of the stream type code
1633: --Bug 4228708 - Start of Changes
1643: x_primary_sty_id => l_sty_id
1644: );
1645:
1646: IF l_return_status <> 'S' THEN
1647: okl_api.set_message(p_app_name => g_app_name,
1648: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1649: p_token1 => 'STREAM_NAME',
1650: p_token1_value => l_investor_pre_tax_income);
1651: RAISE okl_api.g_exception_error;
1647: okl_api.set_message(p_app_name => g_app_name,
1648: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1649: p_token1 => 'STREAM_NAME',
1650: p_token1_value => l_investor_pre_tax_income);
1651: RAISE okl_api.g_exception_error;
1652: END IF;
1653:
1654: -- calculate total revenue share
1655: FOR x IN get_investors_csr(p_khr_id) LOOP
1659: END LOOP;
1660:
1661: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1662: -- store SQL error message on message stack for caller
1663: Okl_Api.set_message(p_app_name => g_app_name,
1664: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1665: RAISE Okl_Api.G_EXCEPTION_ERROR;
1666: END IF;
1667: stream_type_purpose := l_pre_tax_income;
1661: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1662: -- store SQL error message on message stack for caller
1663: Okl_Api.set_message(p_app_name => g_app_name,
1664: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1665: RAISE Okl_Api.G_EXCEPTION_ERROR;
1666: END IF;
1667: stream_type_purpose := l_pre_tax_income;
1668: /* ankushar , 25-01-2008 Bug 6773285
1669: End Changes
1680: x_return_status => l_return_status,
1681: x_primary_sty_id => l_sty_id
1682: );
1683: IF l_return_status <> 'S' THEN
1684: okl_api.set_message(p_app_name => g_app_name,
1685: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1686: p_token1 => 'STREAM_NAME',
1687: p_token1_value => l_inv_interest_income_accrual);
1688: RAISE okl_api.g_exception_error;
1684: okl_api.set_message(p_app_name => g_app_name,
1685: p_msg_name => 'OKL_AGN_STRM_TYPE_ERROR',
1686: p_token1 => 'STREAM_NAME',
1687: p_token1_value => l_inv_interest_income_accrual);
1688: RAISE okl_api.g_exception_error;
1689: END IF;
1690:
1691: -- calculate total revenue share
1692: FOR x IN get_investors_csr(p_khr_id) LOOP
1696: END LOOP;
1697:
1698: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1699: -- store SQL error message on message stack for caller
1700: Okl_Api.set_message(p_app_name => g_app_name,
1701: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1702: RAISE Okl_Api.G_EXCEPTION_ERROR;
1703: END IF;
1704:
1698: IF l_revenue_share IS NULL OR l_revenue_share = 0 THEN
1699: -- store SQL error message on message stack for caller
1700: Okl_Api.set_message(p_app_name => g_app_name,
1701: p_msg_name => 'OKL_ASC_REV_SHARE_ERROR');
1702: RAISE Okl_Api.G_EXCEPTION_ERROR;
1703: END IF;
1704:
1705: stream_type_purpose := l_interest_income;
1706: /* ankushar , 16-01-2008 Bug 6740000
1771: ,p_stmv_rec => l_stmv_rec
1772: ,p_selv_tbl => l_selv_tbl
1773: ,x_stmv_rec => x_stmv_rec
1774: ,x_selv_tbl => x_selv_tbl );
1775: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1776: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1777: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1778: RAISE Okl_Api.G_EXCEPTION_ERROR;
1779: END IF;
1772: ,p_selv_tbl => l_selv_tbl
1773: ,x_stmv_rec => x_stmv_rec
1774: ,x_selv_tbl => x_selv_tbl );
1775: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1776: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1777: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1778: RAISE Okl_Api.G_EXCEPTION_ERROR;
1779: END IF;
1780: END IF;
1773: ,x_stmv_rec => x_stmv_rec
1774: ,x_selv_tbl => x_selv_tbl );
1775: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1776: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1777: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1778: RAISE Okl_Api.G_EXCEPTION_ERROR;
1779: END IF;
1780: END IF;
1781: EXCEPTION
1774: ,x_selv_tbl => x_selv_tbl );
1775: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1776: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1777: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1778: RAISE Okl_Api.G_EXCEPTION_ERROR;
1779: END IF;
1780: END IF;
1781: EXCEPTION
1782: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1778: RAISE Okl_Api.G_EXCEPTION_ERROR;
1779: END IF;
1780: END IF;
1781: EXCEPTION
1782: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1783: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1784: ,g_pkg_name
1785: ,'OKL_API.G_RET_STS_ERROR'
1786: ,x_msg_count
1779: END IF;
1780: END IF;
1781: EXCEPTION
1782: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1783: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1784: ,g_pkg_name
1785: ,'OKL_API.G_RET_STS_ERROR'
1786: ,x_msg_count
1787: ,x_msg_data
1781: EXCEPTION
1782: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1783: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1784: ,g_pkg_name
1785: ,'OKL_API.G_RET_STS_ERROR'
1786: ,x_msg_count
1787: ,x_msg_data
1788: ,'_PVT');
1789: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1785: ,'OKL_API.G_RET_STS_ERROR'
1786: ,x_msg_count
1787: ,x_msg_data
1788: ,'_PVT');
1789: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1790: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1791: ,g_pkg_name
1792: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1793: ,x_msg_count
1786: ,x_msg_count
1787: ,x_msg_data
1788: ,'_PVT');
1789: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1790: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1791: ,g_pkg_name
1792: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1793: ,x_msg_count
1794: ,x_msg_data
1788: ,'_PVT');
1789: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1790: l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1791: ,g_pkg_name
1792: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1793: ,x_msg_count
1794: ,x_msg_data
1795: ,'_PVT');
1796: WHEN OTHERS THEN
1807:
1808: IF strm_csr%ISOPEN THEN
1809: CLOSE strm_csr;
1810: END IF;
1811: l_return_status :=Okl_Api.HANDLE_EXCEPTIONS (l_api_name,
1812: G_PKG_NAME,
1813: 'OTHERS',
1814: x_msg_count,
1815: x_msg_data,
1819: CLOSE securitized_contracts_pend_csr;
1820:
1821: END IF;
1822: END IF;
1823: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1824: x_msg_data => x_msg_data);
1825: x_return_status := l_return_status;
1826:
1827: EXCEPTION
1824: x_msg_data => x_msg_data);
1825: x_return_status := l_return_status;
1826:
1827: EXCEPTION
1828: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1829: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1830: ,g_pkg_name
1831: ,'OKL_API.G_RET_STS_ERROR'
1832: ,x_msg_count
1825: x_return_status := l_return_status;
1826:
1827: EXCEPTION
1828: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1829: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1830: ,g_pkg_name
1831: ,'OKL_API.G_RET_STS_ERROR'
1832: ,x_msg_count
1833: ,x_msg_data
1827: EXCEPTION
1828: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1829: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1830: ,g_pkg_name
1831: ,'OKL_API.G_RET_STS_ERROR'
1832: ,x_msg_count
1833: ,x_msg_data
1834: ,'_PVT');
1835: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1831: ,'OKL_API.G_RET_STS_ERROR'
1832: ,x_msg_count
1833: ,x_msg_data
1834: ,'_PVT');
1835: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1836: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1837: ,g_pkg_name
1838: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1839: ,x_msg_count
1832: ,x_msg_count
1833: ,x_msg_data
1834: ,'_PVT');
1835: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1836: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1837: ,g_pkg_name
1838: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1839: ,x_msg_count
1840: ,x_msg_data
1834: ,'_PVT');
1835: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1836: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1837: ,g_pkg_name
1838: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1839: ,x_msg_count
1840: ,x_msg_data
1841: ,'_PVT');
1842: WHEN OTHERS THEN
1842: WHEN OTHERS THEN
1843: IF securitized_contracts_csr%ISOPEN THEN
1844: CLOSE securitized_contracts_csr;
1845: END IF;
1846: x_return_status :=Okl_Api.HANDLE_EXCEPTIONS (l_api_name,
1847: G_PKG_NAME,
1848: 'OTHERS',
1849: x_msg_count,
1850: x_msg_data,
1880: Added new Stream Type purpose for a Loan product
1881: */
1882: l_inv_interest_income_accrual CONSTANT VARCHAR2(2000) := 'INVESTOR_INTEREST_INCOME';
1883:
1884: l_init_msg_list VARCHAR2(4000) := OKL_API.G_FALSE;
1885: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1886: l_msg_count NUMBER;
1887: l_msg_data VARCHAR2(2000);
1888: l_deal_type VARCHAR2(2000);
1881: */
1882: l_inv_interest_income_accrual CONSTANT VARCHAR2(2000) := 'INVESTOR_INTEREST_INCOME';
1883:
1884: l_init_msg_list VARCHAR2(4000) := OKL_API.G_FALSE;
1885: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1886: l_msg_count NUMBER;
1887: l_msg_data VARCHAR2(2000);
1888: l_deal_type VARCHAR2(2000);
1889: l_selv_tbl OKL_STREAMS_PUB.selv_tbl_type;
1927:
1928: BEGIN
1929:
1930: -- Set save point
1931: l_return_status := OKL_API.START_ACTIVITY(p_api_name => l_api_name,
1932: p_pkg_name => G_PKG_NAME,
1933: p_init_msg_list => p_init_msg_list,
1934: l_api_version => l_api_version,
1935: p_api_version => p_api_version,
1935: p_api_version => p_api_version,
1936: p_api_type => '_PVT',
1937: x_return_status => l_return_status);
1938:
1939: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1940: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1941: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1942: RAISE Okl_Api.G_EXCEPTION_ERROR;
1943: END IF;
1936: p_api_type => '_PVT',
1937: x_return_status => l_return_status);
1938:
1939: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1940: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1941: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1942: RAISE Okl_Api.G_EXCEPTION_ERROR;
1943: END IF;
1944:
1937: x_return_status => l_return_status);
1938:
1939: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1940: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1941: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1942: RAISE Okl_Api.G_EXCEPTION_ERROR;
1943: END IF;
1944:
1945: -- validate in parameters
1938:
1939: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1940: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1941: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1942: RAISE Okl_Api.G_EXCEPTION_ERROR;
1943: END IF;
1944:
1945: -- validate in parameters
1946: IF p_khr_id IS NULL OR p_khr_id = OKL_API.G_MISS_NUM THEN
1942: RAISE Okl_Api.G_EXCEPTION_ERROR;
1943: END IF;
1944:
1945: -- validate in parameters
1946: IF p_khr_id IS NULL OR p_khr_id = OKL_API.G_MISS_NUM THEN
1947: -- store SQL error message on message stack for caller
1948: Okl_Api.set_message(p_app_name => g_app_name,
1949: p_msg_name => 'OKL_ASC_KHR_ID_ERROR');
1950: RAISE Okl_Api.G_EXCEPTION_ERROR;
1944:
1945: -- validate in parameters
1946: IF p_khr_id IS NULL OR p_khr_id = OKL_API.G_MISS_NUM THEN
1947: -- store SQL error message on message stack for caller
1948: Okl_Api.set_message(p_app_name => g_app_name,
1949: p_msg_name => 'OKL_ASC_KHR_ID_ERROR');
1950: RAISE Okl_Api.G_EXCEPTION_ERROR;
1951: END IF;
1952:
1946: IF p_khr_id IS NULL OR p_khr_id = OKL_API.G_MISS_NUM THEN
1947: -- store SQL error message on message stack for caller
1948: Okl_Api.set_message(p_app_name => g_app_name,
1949: p_msg_name => 'OKL_ASC_KHR_ID_ERROR');
1950: RAISE Okl_Api.G_EXCEPTION_ERROR;
1951: END IF;
1952:
1953: IF p_cancel_date IS NULL OR p_cancel_date = OKL_API.G_MISS_DATE THEN
1954: -- store SQL error message on message stack for caller
1949: p_msg_name => 'OKL_ASC_KHR_ID_ERROR');
1950: RAISE Okl_Api.G_EXCEPTION_ERROR;
1951: END IF;
1952:
1953: IF p_cancel_date IS NULL OR p_cancel_date = OKL_API.G_MISS_DATE THEN
1954: -- store SQL error message on message stack for caller
1955: Okl_Api.set_message(p_app_name => g_app_name,
1956: p_msg_name => 'OKL_ASC_CANCEL_DATE_ERROR');
1957: RAISE Okl_Api.G_EXCEPTION_ERROR;
1951: END IF;
1952:
1953: IF p_cancel_date IS NULL OR p_cancel_date = OKL_API.G_MISS_DATE THEN
1954: -- store SQL error message on message stack for caller
1955: Okl_Api.set_message(p_app_name => g_app_name,
1956: p_msg_name => 'OKL_ASC_CANCEL_DATE_ERROR');
1957: RAISE Okl_Api.G_EXCEPTION_ERROR;
1958: END IF;
1959:
1953: IF p_cancel_date IS NULL OR p_cancel_date = OKL_API.G_MISS_DATE THEN
1954: -- store SQL error message on message stack for caller
1955: Okl_Api.set_message(p_app_name => g_app_name,
1956: p_msg_name => 'OKL_ASC_CANCEL_DATE_ERROR');
1957: RAISE Okl_Api.G_EXCEPTION_ERROR;
1958: END IF;
1959:
1960: -- get deal type
1961: OPEN get_deal_type_csr(p_khr_id);
2004: ,x_msg_count => l_msg_count
2005: ,x_msg_data => l_msg_data
2006: ,p_selv_tbl => l_selv_tbl
2007: ,x_selv_tbl => x_selv_tbl);
2008: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2009: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2010: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
2011: RAISE Okl_Api.G_EXCEPTION_ERROR;
2012: END IF;
2005: ,x_msg_data => l_msg_data
2006: ,p_selv_tbl => l_selv_tbl
2007: ,x_selv_tbl => x_selv_tbl);
2008: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2009: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2010: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
2011: RAISE Okl_Api.G_EXCEPTION_ERROR;
2012: END IF;
2013:
2006: ,p_selv_tbl => l_selv_tbl
2007: ,x_selv_tbl => x_selv_tbl);
2008: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2009: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2010: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
2011: RAISE Okl_Api.G_EXCEPTION_ERROR;
2012: END IF;
2013:
2014: END IF;
2007: ,x_selv_tbl => x_selv_tbl);
2008: IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2009: RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2010: ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
2011: RAISE Okl_Api.G_EXCEPTION_ERROR;
2012: END IF;
2013:
2014: END IF;
2015:
2012: END IF;
2013:
2014: END IF;
2015:
2016: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
2017: x_msg_data => x_msg_data);
2018: x_return_status := l_return_status;
2019:
2020: EXCEPTION
2017: x_msg_data => x_msg_data);
2018: x_return_status := l_return_status;
2019:
2020: EXCEPTION
2021: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2022: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2023: ,g_pkg_name
2024: ,'OKL_API.G_RET_STS_ERROR'
2025: ,x_msg_count
2018: x_return_status := l_return_status;
2019:
2020: EXCEPTION
2021: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2022: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2023: ,g_pkg_name
2024: ,'OKL_API.G_RET_STS_ERROR'
2025: ,x_msg_count
2026: ,x_msg_data
2020: EXCEPTION
2021: WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2022: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2023: ,g_pkg_name
2024: ,'OKL_API.G_RET_STS_ERROR'
2025: ,x_msg_count
2026: ,x_msg_data
2027: ,'_PVT');
2028: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2024: ,'OKL_API.G_RET_STS_ERROR'
2025: ,x_msg_count
2026: ,x_msg_data
2027: ,'_PVT');
2028: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2029: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2030: ,g_pkg_name
2031: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
2032: ,x_msg_count
2025: ,x_msg_count
2026: ,x_msg_data
2027: ,'_PVT');
2028: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2029: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2030: ,g_pkg_name
2031: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
2032: ,x_msg_count
2033: ,x_msg_data
2027: ,'_PVT');
2028: WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2029: x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2030: ,g_pkg_name
2031: ,'OKL_API.G_RET_STS_UNEXP_ERROR'
2032: ,x_msg_count
2033: ,x_msg_data
2034: ,'_PVT');
2035: WHEN OTHERS THEN
2035: WHEN OTHERS THEN
2036: IF get_deal_type_csr%ISOPEN THEN
2037: CLOSE get_deal_type_csr;
2038: END IF;
2039: x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2040: (l_api_name,
2041: G_PKG_NAME,
2042: 'OTHERS',
2043: x_msg_count,
2047: END CANCEL_STREAMS;
2048: /*Commented as T_A requirement has changed
2049: PROCEDURE Create_Adjustment_Streams(
2050: p_api_version IN NUMBER
2051: ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
2052: ,x_return_status OUT NOCOPY VARCHAR2
2053: ,x_msg_count OUT NOCOPY NUMBER
2054: ,x_msg_data OUT NOCOPY VARCHAR2
2055: ,p_contract_id IN NUMBER
2057: ,p_adjustment_date IN DATE) IS
2058: */
2059: PROCEDURE Get_Accrual_Adjustment(
2060: p_api_version IN NUMBER
2061: ,p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE
2062: ,x_return_status OUT NOCOPY VARCHAR2
2063: ,x_msg_count OUT NOCOPY NUMBER
2064: ,x_msg_data OUT NOCOPY VARCHAR2
2065: ,p_contract_id IN NUMBER
2300: l_exp_bill_amt NUMBER := 0;
2301:
2302: l_api_version CONSTANT NUMBER := 1.0;
2303: l_api_name CONSTANT VARCHAR2(30) := 'GET_ACCRUAL_ADJUSTMENT';
2304: l_init_msg_list VARCHAR2(4000) := OKL_API.G_FALSE;
2305: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2306: l_msg_count NUMBER;
2307: l_msg_data VARCHAR2(2000);
2308:
2301:
2302: l_api_version CONSTANT NUMBER := 1.0;
2303: l_api_name CONSTANT VARCHAR2(30) := 'GET_ACCRUAL_ADJUSTMENT';
2304: l_init_msg_list VARCHAR2(4000) := OKL_API.G_FALSE;
2305: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2306: l_msg_count NUMBER;
2307: l_msg_data VARCHAR2(2000);
2308:
2309:
2308:
2309:
2310:
2311: BEGIN
2312: x_return_status := OKL_API.G_RET_STS_SUCCESS;
2313: -- Call start_activity to create savepoint, check compatibility
2314: -- and initialize message list
2315: x_return_status := OKL_API.START_ACTIVITY (
2316: l_api_name
2311: BEGIN
2312: x_return_status := OKL_API.G_RET_STS_SUCCESS;
2313: -- Call start_activity to create savepoint, check compatibility
2314: -- and initialize message list
2315: x_return_status := OKL_API.START_ACTIVITY (
2316: l_api_name
2317: ,p_init_msg_list
2318: ,'_PVT'
2319: ,x_return_status);
2317: ,p_init_msg_list
2318: ,'_PVT'
2319: ,x_return_status);
2320: -- Check if activity started successfully
2321: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2322: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2323: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2324: RAISE OKL_API.G_EXCEPTION_ERROR;
2325: END IF;
2318: ,'_PVT'
2319: ,x_return_status);
2320: -- Check if activity started successfully
2321: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2322: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2323: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2324: RAISE OKL_API.G_EXCEPTION_ERROR;
2325: END IF;
2326:
2319: ,x_return_status);
2320: -- Check if activity started successfully
2321: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2322: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2323: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2324: RAISE OKL_API.G_EXCEPTION_ERROR;
2325: END IF;
2326:
2327: -- Get the stream marked for accrual at product level
2320: -- Check if activity started successfully
2321: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2322: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2323: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2324: RAISE OKL_API.G_EXCEPTION_ERROR;
2325: END IF;
2326:
2327: -- Get the stream marked for accrual at product level
2328: FOR l_pdt_accrual_rec IN l_pdt_accrual_csr(p_contract_id) LOOP
2696:
2697: END LOOP;
2698: END IF;
2699: --NULL;
2700: OKL_API.END_ACTIVITY (x_msg_count,
2701: x_msg_data );
2702: EXCEPTION
2703: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2704: IF l_line_rec_csr%ISOPEN THEN
2699: --NULL;
2700: OKL_API.END_ACTIVITY (x_msg_count,
2701: x_msg_data );
2702: EXCEPTION
2703: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2704: IF l_line_rec_csr%ISOPEN THEN
2705: CLOSE l_line_rec_csr;
2706: END IF;
2707: IF l_strm_for_line_csr%ISOPEN THEN
2727: END IF;
2728: IF l_pdt_accrual_csr%ISOPEN THEN
2729: CLOSE l_pdt_accrual_csr;
2730: END IF;
2731: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2732: l_api_name,
2733: G_PKG_NAME,
2734: 'OKL_API.G_RET_STS_ERROR',
2735: x_msg_count,
2730: END IF;
2731: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2732: l_api_name,
2733: G_PKG_NAME,
2734: 'OKL_API.G_RET_STS_ERROR',
2735: x_msg_count,
2736: x_msg_data,
2737: '_PVT');
2738: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2734: 'OKL_API.G_RET_STS_ERROR',
2735: x_msg_count,
2736: x_msg_data,
2737: '_PVT');
2738: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2739: IF l_line_rec_csr%ISOPEN THEN
2740: CLOSE l_line_rec_csr;
2741: END IF;
2742: IF l_strm_for_line_csr%ISOPEN THEN
2762: END IF;
2763: IF l_pdt_accrual_csr%ISOPEN THEN
2764: CLOSE l_pdt_accrual_csr;
2765: END IF;
2766: x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
2767: l_api_name,
2768: G_PKG_NAME,
2769: 'OKL_API.G_RET_STS_UNEXP_ERROR',
2770: x_msg_count,
2765: END IF;
2766: x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
2767: l_api_name,
2768: G_PKG_NAME,
2769: 'OKL_API.G_RET_STS_UNEXP_ERROR',
2770: x_msg_count,
2771: x_msg_data,
2772: '_PVT');
2773: WHEN OTHERS THEN
2797: END IF;
2798: IF l_pdt_accrual_csr%ISOPEN THEN
2799: CLOSE l_pdt_accrual_csr;
2800: END IF;
2801: x_return_status :=OKL_API.HANDLE_EXCEPTIONS(
2802: l_api_name,
2803: G_PKG_NAME,
2804: 'OTHERS',
2805: x_msg_count,