81: p_days_in_year = 'ACTUAL'
82: THEN
83: x_day_count_method := 'ACTUAL';
84: ELSE
85: x_return_status := OKL_API.G_RET_STS_ERROR;
86: RETURN;
87: END IF;
88: --print( l_api_name || ': ' || 'l_days_in_month= ' || p_days_in_month ||
89: -- ' | l_days_in_year = ' || p_days_in_year);
87: END IF;
88: --print( l_api_name || ': ' || 'l_days_in_month= ' || p_days_in_month ||
89: -- ' | l_days_in_year = ' || p_days_in_year);
90:
91: x_return_status := OKL_API.G_RET_STS_SUCCESS;
92: END get_day_count_method;
93:
94:
95: PROCEDURE get_days_in_year_and_month(
113: x_days_in_month := 'ACTUAL';
114: x_days_in_year := 'ACTUAL';
115: ELSE
116: --print( l_api_name || ': ' || 'p_day_count_method= ' || p_day_count_method );
117: x_return_status := OKL_API.G_RET_STS_ERROR;
118: RETURN;
119: END IF;
120: --print( l_api_name || ': ' || 'l_days_in_month= ' || x_days_in_month ||
121: -- ' | l_days_in_year = ' || x_days_in_year);
118: RETURN;
119: END IF;
120: --print( l_api_name || ': ' || 'l_days_in_month= ' || x_days_in_month ||
121: -- ' | l_days_in_year = ' || x_days_in_year);
122: x_return_status := OKL_API.G_RET_STS_SUCCESS;
123: END get_days_in_year_and_month;
124:
125: -- Procedure to fetch the day convention from the OKL_K_RATE_PARAMS
126: -- if not found reach the SGT assosiated and fetch the day conventions
211: END IF;
212: IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
213: OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE, l_api_name || 'Month / Year = ' || l_days_in_month || '/' || l_days_in_year );
214: END IF;
215: IF l_return_status = OKL_API.G_RET_STS_ERROR THEN
216: RAISE OKL_API.G_EXCEPTION_ERROR;
217: END IF;
218: -- Return the values
219: x_days_in_month := l_days_in_month;
212: IF (G_IS_DEBUG_STATEMENT_ON = true) THEN
213: OKL_DEBUG_PUB.LOG_DEBUG(FND_LOG.LEVEL_STATEMENT, G_MODULE, l_api_name || 'Month / Year = ' || l_days_in_month || '/' || l_days_in_year );
214: END IF;
215: IF l_return_status = OKL_API.G_RET_STS_ERROR THEN
216: RAISE OKL_API.G_EXCEPTION_ERROR;
217: END IF;
218: -- Return the values
219: x_days_in_month := l_days_in_month;
220: x_days_in_year := l_days_in_year;
219: x_days_in_month := l_days_in_month;
220: x_days_in_year := l_days_in_year;
221: x_return_status := l_return_status;
222: EXCEPTION
223: WHEN OKL_API.G_EXCEPTION_ERROR THEN
224: x_return_status := G_RET_STS_ERROR;
225: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
226: x_return_status := G_RET_STS_UNEXP_ERROR;
227: WHEN OTHERS THEN
221: x_return_status := l_return_status;
222: EXCEPTION
223: WHEN OKL_API.G_EXCEPTION_ERROR THEN
224: x_return_status := G_RET_STS_ERROR;
225: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
226: x_return_status := G_RET_STS_UNEXP_ERROR;
227: WHEN OTHERS THEN
228: OKL_API.SET_MESSAGE (
229: p_app_name => G_APP_NAME,
224: x_return_status := G_RET_STS_ERROR;
225: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
226: x_return_status := G_RET_STS_UNEXP_ERROR;
227: WHEN OTHERS THEN
228: OKL_API.SET_MESSAGE (
229: p_app_name => G_APP_NAME,
230: p_msg_name => G_DB_ERROR,
231: p_token1 => G_PROG_NAME_TOKEN,
232: p_token1_value => l_api_name,
281: l_debug_enabled VARCHAR2(10);
282: is_debug_procedure_on BOOLEAN;
283: is_debug_statement_on BOOLEAN;
284: BEGIN
285: l_return_status := OKL_API.G_RET_STS_SUCCESS;
286: l_debug_enabled := okl_debug_pub.check_log_enabled;
287: is_debug_procedure_on := okl_debug_pub.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
288: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
289: 'begin debug OKLRPIUB.pls call get_so_hdr');
290: -- check for logging on STATEMENT level
291: is_debug_statement_on := okl_debug_pub.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
292: -- Call START_ACTIVITY to create savepoint, check compatibility
293: -- and initialize message list
294: l_return_status := OKL_API.START_ACTIVITY(
295: p_api_name => l_api_name,
296: p_pkg_name => G_PKG_NAME,
297: p_init_msg_list => p_init_msg_list,
298: l_api_version => l_api_version,
299: p_api_version => p_api_version,
300: p_api_type => g_api_type,
301: x_return_status => x_return_status);
302: --Check if activity started successfully
303: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
304: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
305: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
306: RAISE OKL_API.G_EXCEPTION_ERROR;
307: END IF;
300: p_api_type => g_api_type,
301: x_return_status => x_return_status);
302: --Check if activity started successfully
303: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
304: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
305: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
306: RAISE OKL_API.G_EXCEPTION_ERROR;
307: END IF;
308: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
301: x_return_status => x_return_status);
302: --Check if activity started successfully
303: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
304: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
305: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
306: RAISE OKL_API.G_EXCEPTION_ERROR;
307: END IF;
308: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
309: ': p_so_type =' || p_so_type );
302: --Check if activity started successfully
303: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
304: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
305: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
306: RAISE OKL_API.G_EXCEPTION_ERROR;
307: END IF;
308: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
309: ': p_so_type =' || p_so_type );
310: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
340: -- Code to be written for handling the Standard Quote
341: NULL;
342: ELSE
343: -- Code to be written for raising an exception
344: OKL_API.SET_MESSAGE( p_app_name => g_app_name,
345: p_msg_name => g_invalid_value,
346: p_token1 => g_col_name_token,
347: p_token1_value => 'QQ_ID');
348: RAISE OKL_API.G_EXCEPTION_ERROR;
344: OKL_API.SET_MESSAGE( p_app_name => g_app_name,
345: p_msg_name => g_invalid_value,
346: p_token1 => g_col_name_token,
347: p_token1_value => 'QQ_ID');
348: RAISE OKL_API.G_EXCEPTION_ERROR;
349: END IF;
350: x_so_hdr_rec := l_so_hdr_rec;
351: x_return_status := l_return_status;
352: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
348: RAISE OKL_API.G_EXCEPTION_ERROR;
349: END IF;
350: x_so_hdr_rec := l_so_hdr_rec;
351: x_return_status := l_return_status;
352: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
353: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
354: 'end debug OKLRPIUB.pls call get_so_hdr');
355: EXCEPTION
356: WHEN OKL_API.G_EXCEPTION_ERROR THEN
352: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
353: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
354: 'end debug OKLRPIUB.pls call get_so_hdr');
355: EXCEPTION
356: WHEN OKL_API.G_EXCEPTION_ERROR THEN
357: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
358: p_api_name => l_api_name,
359: p_pkg_name => G_PKG_NAME,
360: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
353: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
354: 'end debug OKLRPIUB.pls call get_so_hdr');
355: EXCEPTION
356: WHEN OKL_API.G_EXCEPTION_ERROR THEN
357: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
358: p_api_name => l_api_name,
359: p_pkg_name => G_PKG_NAME,
360: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
361: x_msg_count => x_msg_count,
356: WHEN OKL_API.G_EXCEPTION_ERROR THEN
357: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
358: p_api_name => l_api_name,
359: p_pkg_name => G_PKG_NAME,
360: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
361: x_msg_count => x_msg_count,
362: x_msg_data => x_msg_data,
363: p_api_type => g_api_type);
364: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
360: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
361: x_msg_count => x_msg_count,
362: x_msg_data => x_msg_data,
363: p_api_type => g_api_type);
364: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
365: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
366: p_api_name => l_api_name,
367: p_pkg_name => G_PKG_NAME,
368: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
361: x_msg_count => x_msg_count,
362: x_msg_data => x_msg_data,
363: p_api_type => g_api_type);
364: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
365: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
366: p_api_name => l_api_name,
367: p_pkg_name => G_PKG_NAME,
368: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
369: x_msg_count => x_msg_count,
364: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
365: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
366: p_api_name => l_api_name,
367: p_pkg_name => G_PKG_NAME,
368: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
369: x_msg_count => x_msg_count,
370: x_msg_data => x_msg_data,
371: p_api_type => g_api_type);
372: WHEN OTHERS THEN
369: x_msg_count => x_msg_count,
370: x_msg_data => x_msg_data,
371: p_api_type => g_api_type);
372: WHEN OTHERS THEN
373: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
374: p_api_name => l_api_name,
375: p_pkg_name => G_PKG_NAME,
376: p_exc_name => 'OTHERS',
377: x_msg_count => x_msg_count,
393: THEN
394: -- Monthly
395: x_dpp := 30;
396: x_ppy := 12;
397: x_return_status := OKL_API.G_RET_STS_SUCCESS;
398: RETURN;
399: ELSIF p_frequency = 'Q'
400: THEN
401: -- Quarterly
400: THEN
401: -- Quarterly
402: x_dpp := 90;
403: x_ppy := 4;
404: x_return_status := OKL_API.G_RET_STS_SUCCESS;
405: RETURN;
406: ELSIF p_frequency = 'S'
407: THEN
408: -- Semi Anually
407: THEN
408: -- Semi Anually
409: x_dpp := 180;
410: x_ppy := 2;
411: x_return_status := OKL_API.G_RET_STS_SUCCESS;
412: RETURN;
413: ELSIF p_frequency = 'A'
414: THEN
415: -- Annually
414: THEN
415: -- Annually
416: x_dpp := 360;
417: x_ppy := 1;
418: x_return_status := OKL_API.G_RET_STS_SUCCESS;
419: RETURN;
420: ELSE
421: -- Raise an Exception
422: RAISE OKL_API.G_EXCEPTION_ERROR;
418: x_return_status := OKL_API.G_RET_STS_SUCCESS;
419: RETURN;
420: ELSE
421: -- Raise an Exception
422: RAISE OKL_API.G_EXCEPTION_ERROR;
423: END IF;
424: EXCEPTION
425: WHEN OKL_API.G_EXCEPTION_ERROR THEN
426: x_return_status := G_RET_STS_ERROR;
421: -- Raise an Exception
422: RAISE OKL_API.G_EXCEPTION_ERROR;
423: END IF;
424: EXCEPTION
425: WHEN OKL_API.G_EXCEPTION_ERROR THEN
426: x_return_status := G_RET_STS_ERROR;
427: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
428: x_return_status := G_RET_STS_UNEXP_ERROR;
429: WHEN OTHERS THEN
423: END IF;
424: EXCEPTION
425: WHEN OKL_API.G_EXCEPTION_ERROR THEN
426: x_return_status := G_RET_STS_ERROR;
427: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
428: x_return_status := G_RET_STS_UNEXP_ERROR;
429: WHEN OTHERS THEN
430: OKL_API.SET_MESSAGE (
431: p_app_name => G_APP_NAME,
426: x_return_status := G_RET_STS_ERROR;
427: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
428: x_return_status := G_RET_STS_UNEXP_ERROR;
429: WHEN OTHERS THEN
430: OKL_API.SET_MESSAGE (
431: p_app_name => G_APP_NAME,
432: p_msg_name => G_DB_ERROR,
433: p_token1 => G_PROG_NAME_TOKEN,
434: p_token1_value => l_api_name,
488: l_asset_amounts_tbl so_asset_details_tbl_type;
489: ic_index NUMBER;
490: l_eot_type_code VARCHAR2(30);
491: BEGIN
492: l_return_status := OKL_API.G_RET_STS_SUCCESS;
493:
494: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
495: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
496:
497: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
498: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
499: -- check for logging on STATEMENT level
500: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
501: l_return_status := OKL_API.START_ACTIVITY(
502: p_api_name => l_api_name,
503: p_pkg_name => G_PKG_NAME,
504: p_init_msg_list => p_init_msg_list,
505: l_api_version => l_api_version,
506: p_api_version => p_api_version,
507: p_api_type => g_api_type,
508: x_return_status => x_return_status);
509: --Check if activity started successfully
510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
513: RAISE OKL_API.G_EXCEPTION_ERROR;
514: END IF;
507: p_api_type => g_api_type,
508: x_return_status => x_return_status);
509: --Check if activity started successfully
510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
513: RAISE OKL_API.G_EXCEPTION_ERROR;
514: END IF;
515: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
508: x_return_status => x_return_status);
509: --Check if activity started successfully
510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
513: RAISE OKL_API.G_EXCEPTION_ERROR;
514: END IF;
515: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
516: ': p_qq_id =' || p_qq_id );
509: --Check if activity started successfully
510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
513: RAISE OKL_API.G_EXCEPTION_ERROR;
514: END IF;
515: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
516: ': p_qq_id =' || p_qq_id );
517: -- Know the type of the EOT and then proceed with the values directly or calculate the amount
557: END LOOP;
558: -- Setting up the return variables
559: x_asset_amounts_tbl := l_asset_amounts_tbl;
560: x_return_status := l_return_status;
561: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
562: x_msg_data => x_msg_data);
563: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
564: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
565: EXCEPTION
562: x_msg_data => x_msg_data);
563: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
564: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
565: EXCEPTION
566: WHEN OKL_API.G_EXCEPTION_ERROR THEN
567: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
568: p_api_name => l_api_name,
569: p_pkg_name => G_PKG_NAME,
570: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
563: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
564: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
565: EXCEPTION
566: WHEN OKL_API.G_EXCEPTION_ERROR THEN
567: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
568: p_api_name => l_api_name,
569: p_pkg_name => G_PKG_NAME,
570: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
571: x_msg_count => x_msg_count,
566: WHEN OKL_API.G_EXCEPTION_ERROR THEN
567: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
568: p_api_name => l_api_name,
569: p_pkg_name => G_PKG_NAME,
570: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
571: x_msg_count => x_msg_count,
572: x_msg_data => x_msg_data,
573: p_api_type => g_api_type);
574: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
570: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
571: x_msg_count => x_msg_count,
572: x_msg_data => x_msg_data,
573: p_api_type => g_api_type);
574: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
575: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
576: p_api_name => l_api_name,
577: p_pkg_name => G_PKG_NAME,
578: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
571: x_msg_count => x_msg_count,
572: x_msg_data => x_msg_data,
573: p_api_type => g_api_type);
574: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
575: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
576: p_api_name => l_api_name,
577: p_pkg_name => G_PKG_NAME,
578: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
579: x_msg_count => x_msg_count,
574: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
575: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
576: p_api_name => l_api_name,
577: p_pkg_name => G_PKG_NAME,
578: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
579: x_msg_count => x_msg_count,
580: x_msg_data => x_msg_data,
581: p_api_type => g_api_type);
582: WHEN OTHERS THEN
579: x_msg_count => x_msg_count,
580: x_msg_data => x_msg_data,
581: p_api_type => g_api_type);
582: WHEN OTHERS THEN
583: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
584: p_api_name => l_api_name,
585: p_pkg_name => G_PKG_NAME,
586: p_exc_name => 'OTHERS',
587: x_msg_count => x_msg_count,
612:
613: l_oec NUMBER;
614: l_item_cat_percent NUMBER;
615: BEGIN
616: l_return_status := OKL_API.G_RET_STS_SUCCESS;
617: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
618: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
619: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
620: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
619: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
620: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
621: -- check for logging on STATEMENT level
622: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
623: l_return_status := OKL_API.START_ACTIVITY(
624: p_api_name => l_api_name,
625: p_pkg_name => G_PKG_NAME,
626: p_init_msg_list => p_init_msg_list,
627: l_api_version => l_api_version,
627: l_api_version => l_api_version,
628: p_api_version => p_api_version,
629: p_api_type => g_api_type,
630: x_return_status => x_return_status);
631: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
632: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
633: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
634: RAISE OKL_API.G_EXCEPTION_ERROR;
635: END IF;
628: p_api_version => p_api_version,
629: p_api_type => g_api_type,
630: x_return_status => x_return_status);
631: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
632: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
633: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
634: RAISE OKL_API.G_EXCEPTION_ERROR;
635: END IF;
636: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',':Start ' );
629: p_api_type => g_api_type,
630: x_return_status => x_return_status);
631: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
632: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
633: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
634: RAISE OKL_API.G_EXCEPTION_ERROR;
635: END IF;
636: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',':Start ' );
637: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'p_asset_cost=' || p_asset_cost );
630: x_return_status => x_return_status);
631: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
632: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
633: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
634: RAISE OKL_API.G_EXCEPTION_ERROR;
635: END IF;
636: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',':Start ' );
637: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'p_asset_cost=' || p_asset_cost );
638:
692: -- Item OEC should be greater than zero !
693: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
694: ' Asset OEC should be greater than zero !! p_asset_cost= '|| p_asset_cost );
695: -- Show an error Message OKL_LP_FIN_ADJ_AMT_LESS
696: OKL_API.SET_MESSAGE (
697: p_app_name => G_APP_NAME,
698: p_msg_name => 'OKL_LP_FIN_ADJ_AMT_LESS');
699: RAISE OKL_API.G_EXCEPTION_ERROR;
700: END IF;
695: -- Show an error Message OKL_LP_FIN_ADJ_AMT_LESS
696: OKL_API.SET_MESSAGE (
697: p_app_name => G_APP_NAME,
698: p_msg_name => 'OKL_LP_FIN_ADJ_AMT_LESS');
699: RAISE OKL_API.G_EXCEPTION_ERROR;
700: END IF;
701: -- Setting up the retun values
702: x_oec := l_oec;
703: x_return_status := l_return_status;
700: END IF;
701: -- Setting up the retun values
702: x_oec := l_oec;
703: x_return_status := l_return_status;
704: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
705: x_msg_data => x_msg_data);
706: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
707: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
708: EXCEPTION
705: x_msg_data => x_msg_data);
706: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
707: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
708: EXCEPTION
709: WHEN OKL_API.G_EXCEPTION_ERROR THEN
710: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
711: p_api_name => l_api_name,
712: p_pkg_name => G_PKG_NAME,
713: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
706: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
707: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
708: EXCEPTION
709: WHEN OKL_API.G_EXCEPTION_ERROR THEN
710: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
711: p_api_name => l_api_name,
712: p_pkg_name => G_PKG_NAME,
713: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
714: x_msg_count => x_msg_count,
709: WHEN OKL_API.G_EXCEPTION_ERROR THEN
710: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
711: p_api_name => l_api_name,
712: p_pkg_name => G_PKG_NAME,
713: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
714: x_msg_count => x_msg_count,
715: x_msg_data => x_msg_data,
716: p_api_type => g_api_type);
717:
714: x_msg_count => x_msg_count,
715: x_msg_data => x_msg_data,
716: p_api_type => g_api_type);
717:
718: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
719: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
720: p_api_name => l_api_name,
721: p_pkg_name => G_PKG_NAME,
722: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
715: x_msg_data => x_msg_data,
716: p_api_type => g_api_type);
717:
718: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
719: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
720: p_api_name => l_api_name,
721: p_pkg_name => G_PKG_NAME,
722: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
723: x_msg_count => x_msg_count,
718: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
719: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
720: p_api_name => l_api_name,
721: p_pkg_name => G_PKG_NAME,
722: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
723: x_msg_count => x_msg_count,
724: x_msg_data => x_msg_data,
725: p_api_type => g_api_type);
726:
724: x_msg_data => x_msg_data,
725: p_api_type => g_api_type);
726:
727: WHEN OTHERS THEN
728: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
729: p_api_name => l_api_name,
730: p_pkg_name => G_PKG_NAME,
731: p_exc_name => 'OTHERS',
732: x_msg_count => x_msg_count,
774: is_debug_statement_on BOOLEAN;
775:
776: sub_index NUMBER;
777: BEGIN
778: l_return_status := OKL_API.G_RET_STS_SUCCESS;
779: l_debug_enabled := okl_debug_pub.check_log_enabled;
780: is_debug_procedure_on := okl_debug_pub.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
781: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
782: 'begin debug OKLRPIUB.pls call get_qq_fin_adjustments');
783: -- check for logging on STATEMENT level
784: is_debug_statement_on := okl_debug_pub.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
785: -- Call START_ACTIVITY to create savepoint, check compatibility
786: -- and initialize message list
787: l_return_status := OKL_API.START_ACTIVITY(
788: p_api_name => l_api_name,
789: p_pkg_name => G_PKG_NAME,
790: p_init_msg_list => p_init_msg_list,
791: l_api_version => l_api_version,
792: p_api_version => p_api_version,
793: p_api_type => g_api_type,
794: x_return_status => x_return_status);
795: --Check if activity started successfully
796: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
797: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
798: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
799: RAISE OKL_API.G_EXCEPTION_ERROR;
800: END IF;
793: p_api_type => g_api_type,
794: x_return_status => x_return_status);
795: --Check if activity started successfully
796: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
797: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
798: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
799: RAISE OKL_API.G_EXCEPTION_ERROR;
800: END IF;
801: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',':Start ' );
794: x_return_status => x_return_status);
795: --Check if activity started successfully
796: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
797: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
798: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
799: RAISE OKL_API.G_EXCEPTION_ERROR;
800: END IF;
801: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',':Start ' );
802: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',' p_qq_id : ' || p_qq_id);
795: --Check if activity started successfully
796: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
797: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
798: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
799: RAISE OKL_API.G_EXCEPTION_ERROR;
800: END IF;
801: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',':Start ' );
802: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',' p_qq_id : ' || p_qq_id);
803: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',' p_pricing_method : ' || p_pricing_method );
895: x_all_amounts_rec := l_all_amounts_rec;
896: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
897: l_api_name || ':End ' );
898: x_return_status := l_return_status;
899: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
900: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
901: 'end debug OKLRPIUB.pls call get_qq_details');
902: EXCEPTION
903: WHEN OKL_API.G_EXCEPTION_ERROR THEN
899: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
900: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
901: 'end debug OKLRPIUB.pls call get_qq_details');
902: EXCEPTION
903: WHEN OKL_API.G_EXCEPTION_ERROR THEN
904: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
905: p_api_name => l_api_name,
906: p_pkg_name => G_PKG_NAME,
907: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
900: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
901: 'end debug OKLRPIUB.pls call get_qq_details');
902: EXCEPTION
903: WHEN OKL_API.G_EXCEPTION_ERROR THEN
904: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
905: p_api_name => l_api_name,
906: p_pkg_name => G_PKG_NAME,
907: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
908: x_msg_count => x_msg_count,
903: WHEN OKL_API.G_EXCEPTION_ERROR THEN
904: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
905: p_api_name => l_api_name,
906: p_pkg_name => G_PKG_NAME,
907: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
908: x_msg_count => x_msg_count,
909: x_msg_data => x_msg_data,
910: p_api_type => g_api_type);
911: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
907: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
908: x_msg_count => x_msg_count,
909: x_msg_data => x_msg_data,
910: p_api_type => g_api_type);
911: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
912: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
913: p_api_name => l_api_name,
914: p_pkg_name => G_PKG_NAME,
915: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
908: x_msg_count => x_msg_count,
909: x_msg_data => x_msg_data,
910: p_api_type => g_api_type);
911: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
912: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
913: p_api_name => l_api_name,
914: p_pkg_name => G_PKG_NAME,
915: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
916: x_msg_count => x_msg_count,
911: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
912: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
913: p_api_name => l_api_name,
914: p_pkg_name => G_PKG_NAME,
915: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
916: x_msg_count => x_msg_count,
917: x_msg_data => x_msg_data,
918: p_api_type => g_api_type);
919: WHEN OTHERS THEN
916: x_msg_count => x_msg_count,
917: x_msg_data => x_msg_data,
918: p_api_type => g_api_type);
919: WHEN OTHERS THEN
920: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
921: p_api_name => l_api_name,
922: p_pkg_name => G_PKG_NAME,
923: p_exc_name => 'OTHERS',
924: x_msg_count => x_msg_count,
966: AND qqh.id = p_qq_id;
967: get_sgt_day_convention_rec get_sgt_day_convention_csr%ROWTYPE;
968:
969: BEGIN
970: l_return_status := OKL_API.G_RET_STS_SUCCESS;
971: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
972: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
973: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
974: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
972: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
973: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
974: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
975: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
976: l_return_status := OKL_API.START_ACTIVITY(
977: p_api_name => l_api_name,
978: p_pkg_name => G_PKG_NAME,
979: p_init_msg_list => p_init_msg_list,
980: l_api_version => l_api_version,
980: l_api_version => l_api_version,
981: p_api_version => p_api_version,
982: p_api_type => g_api_type,
983: x_return_status => x_return_status);
984: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
985: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
986: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
987: RAISE OKL_API.G_EXCEPTION_ERROR;
988: END IF;
981: p_api_version => p_api_version,
982: p_api_type => g_api_type,
983: x_return_status => x_return_status);
984: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
985: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
986: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
987: RAISE OKL_API.G_EXCEPTION_ERROR;
988: END IF;
989: -- Fetch the day convention from the SGT assosiated to the QQ ..
982: p_api_type => g_api_type,
983: x_return_status => x_return_status);
984: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
985: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
986: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
987: RAISE OKL_API.G_EXCEPTION_ERROR;
988: END IF;
989: -- Fetch the day convention from the SGT assosiated to the QQ ..
990: l_return_status := OKL_API.G_RET_STS_ERROR;
983: x_return_status => x_return_status);
984: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
985: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
986: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
987: RAISE OKL_API.G_EXCEPTION_ERROR;
988: END IF;
989: -- Fetch the day convention from the SGT assosiated to the QQ ..
990: l_return_status := OKL_API.G_RET_STS_ERROR;
991: FOR t_rec IN get_sgt_day_convention_csr( p_qq_id => p_qq_id )
986: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
987: RAISE OKL_API.G_EXCEPTION_ERROR;
988: END IF;
989: -- Fetch the day convention from the SGT assosiated to the QQ ..
990: l_return_status := OKL_API.G_RET_STS_ERROR;
991: FOR t_rec IN get_sgt_day_convention_csr( p_qq_id => p_qq_id )
992: LOOP
993: get_sgt_day_convention_rec := t_rec;
994: l_return_status := OKL_API.G_RET_STS_SUCCESS;
990: l_return_status := OKL_API.G_RET_STS_ERROR;
991: FOR t_rec IN get_sgt_day_convention_csr( p_qq_id => p_qq_id )
992: LOOP
993: get_sgt_day_convention_rec := t_rec;
994: l_return_status := OKL_API.G_RET_STS_SUCCESS;
995: END LOOP;
996: IF l_return_status = OKL_API.G_RET_STS_ERROR
997: THEN
998: -- Show the error message and then error out ..
992: LOOP
993: get_sgt_day_convention_rec := t_rec;
994: l_return_status := OKL_API.G_RET_STS_SUCCESS;
995: END LOOP;
996: IF l_return_status = OKL_API.G_RET_STS_ERROR
997: THEN
998: -- Show the error message and then error out ..
999: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1000: 'Unable to pick the day convention from the SGT ');
997: THEN
998: -- Show the error message and then error out ..
999: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1000: 'Unable to pick the day convention from the SGT ');
1001: OKL_API.SET_MESSAGE (
1002: p_app_name => G_APP_NAME,
1003: p_msg_name => 'OKL_LP_INVALID_SGT');
1004: RAISE OKL_API.G_EXCEPTION_ERROR;
1005: END IF;
1000: 'Unable to pick the day convention from the SGT ');
1001: OKL_API.SET_MESSAGE (
1002: p_app_name => G_APP_NAME,
1003: p_msg_name => 'OKL_LP_INVALID_SGT');
1004: RAISE OKL_API.G_EXCEPTION_ERROR;
1005: END IF;
1006: -- Return the Days per month n Year ..
1007: x_days_in_month := get_sgt_day_convention_rec.days_in_month;
1008: x_days_in_year := get_sgt_day_convention_rec.days_in_year;
1007: x_days_in_month := get_sgt_day_convention_rec.days_in_month;
1008: x_days_in_year := get_sgt_day_convention_rec.days_in_year;
1009: -- Return the status ..
1010: x_return_status := l_return_status;
1011: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1012: x_msg_data => x_msg_data);
1013: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1014: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1015: EXCEPTION
1012: x_msg_data => x_msg_data);
1013: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1014: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1015: EXCEPTION
1016: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1017: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1018: p_api_name => l_api_name,
1019: p_pkg_name => G_PKG_NAME,
1020: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1013: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1014: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1015: EXCEPTION
1016: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1017: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1018: p_api_name => l_api_name,
1019: p_pkg_name => G_PKG_NAME,
1020: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1021: x_msg_count => x_msg_count,
1016: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1017: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1018: p_api_name => l_api_name,
1019: p_pkg_name => G_PKG_NAME,
1020: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1021: x_msg_count => x_msg_count,
1022: x_msg_data => x_msg_data,
1023: p_api_type => g_api_type);
1024: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1020: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1021: x_msg_count => x_msg_count,
1022: x_msg_data => x_msg_data,
1023: p_api_type => g_api_type);
1024: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1025: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1026: p_api_name => l_api_name,
1027: p_pkg_name => G_PKG_NAME,
1028: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1021: x_msg_count => x_msg_count,
1022: x_msg_data => x_msg_data,
1023: p_api_type => g_api_type);
1024: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1025: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1026: p_api_name => l_api_name,
1027: p_pkg_name => G_PKG_NAME,
1028: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1029: x_msg_count => x_msg_count,
1024: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1025: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1026: p_api_name => l_api_name,
1027: p_pkg_name => G_PKG_NAME,
1028: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1029: x_msg_count => x_msg_count,
1030: x_msg_data => x_msg_data,
1031: p_api_type => g_api_type);
1032: WHEN OTHERS THEN
1029: x_msg_count => x_msg_count,
1030: x_msg_data => x_msg_data,
1031: p_api_type => g_api_type);
1032: WHEN OTHERS THEN
1033: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1034: p_api_name => l_api_name,
1035: p_pkg_name => G_PKG_NAME,
1036: p_exc_name => 'OTHERS',
1037: x_msg_count => x_msg_count,
1075: AND lqh.id = p_lq_id;
1076: get_sgt_day_convention_rec get_sgt_day_convention_csr%ROWTYPE;
1077:
1078: BEGIN
1079: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1080: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
1081: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
1082: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1083: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
1081: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
1082: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1083: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
1084: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
1085: l_return_status := OKL_API.START_ACTIVITY(
1086: p_api_name => l_api_name,
1087: p_pkg_name => G_PKG_NAME,
1088: p_init_msg_list => p_init_msg_list,
1089: l_api_version => l_api_version,
1089: l_api_version => l_api_version,
1090: p_api_version => p_api_version,
1091: p_api_type => g_api_type,
1092: x_return_status => x_return_status);
1093: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1094: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1095: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1096: RAISE OKL_API.G_EXCEPTION_ERROR;
1097: END IF;
1090: p_api_version => p_api_version,
1091: p_api_type => g_api_type,
1092: x_return_status => x_return_status);
1093: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1094: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1095: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1096: RAISE OKL_API.G_EXCEPTION_ERROR;
1097: END IF;
1098: -- Fetch the day convention from the SGT assosiated to the QQ ..
1091: p_api_type => g_api_type,
1092: x_return_status => x_return_status);
1093: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1094: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1095: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1096: RAISE OKL_API.G_EXCEPTION_ERROR;
1097: END IF;
1098: -- Fetch the day convention from the SGT assosiated to the QQ ..
1099: l_return_status := OKL_API.G_RET_STS_ERROR;
1092: x_return_status => x_return_status);
1093: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1094: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1095: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1096: RAISE OKL_API.G_EXCEPTION_ERROR;
1097: END IF;
1098: -- Fetch the day convention from the SGT assosiated to the QQ ..
1099: l_return_status := OKL_API.G_RET_STS_ERROR;
1100: FOR t_rec IN get_sgt_day_convention_csr( p_lq_id => p_lq_id )
1095: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1096: RAISE OKL_API.G_EXCEPTION_ERROR;
1097: END IF;
1098: -- Fetch the day convention from the SGT assosiated to the QQ ..
1099: l_return_status := OKL_API.G_RET_STS_ERROR;
1100: FOR t_rec IN get_sgt_day_convention_csr( p_lq_id => p_lq_id )
1101: LOOP
1102: get_sgt_day_convention_rec := t_rec;
1103: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1099: l_return_status := OKL_API.G_RET_STS_ERROR;
1100: FOR t_rec IN get_sgt_day_convention_csr( p_lq_id => p_lq_id )
1101: LOOP
1102: get_sgt_day_convention_rec := t_rec;
1103: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1104: END LOOP;
1105: IF l_return_status = OKL_API.G_RET_STS_ERROR
1106: THEN
1107: -- Show the error message and then error out ..
1101: LOOP
1102: get_sgt_day_convention_rec := t_rec;
1103: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1104: END LOOP;
1105: IF l_return_status = OKL_API.G_RET_STS_ERROR
1106: THEN
1107: -- Show the error message and then error out ..
1108: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1109: 'Unable to pick the day convention from the SGT ');
1106: THEN
1107: -- Show the error message and then error out ..
1108: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1109: 'Unable to pick the day convention from the SGT ');
1110: OKL_API.SET_MESSAGE (
1111: p_app_name => G_APP_NAME,
1112: p_msg_name => 'OKL_LP_INVALID_SGT');
1113: RAISE OKL_API.G_EXCEPTION_ERROR;
1114: END IF;
1109: 'Unable to pick the day convention from the SGT ');
1110: OKL_API.SET_MESSAGE (
1111: p_app_name => G_APP_NAME,
1112: p_msg_name => 'OKL_LP_INVALID_SGT');
1113: RAISE OKL_API.G_EXCEPTION_ERROR;
1114: END IF;
1115: -- Return the Days per month n Year ..
1116: x_days_in_month := get_sgt_day_convention_rec.days_in_month;
1117: x_days_in_year := get_sgt_day_convention_rec.days_in_year;
1116: x_days_in_month := get_sgt_day_convention_rec.days_in_month;
1117: x_days_in_year := get_sgt_day_convention_rec.days_in_year;
1118: -- Return the status ..
1119: x_return_status := l_return_status;
1120: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1121: x_msg_data => x_msg_data);
1122: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1123: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1124: EXCEPTION
1121: x_msg_data => x_msg_data);
1122: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1123: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1124: EXCEPTION
1125: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1126: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1127: p_api_name => l_api_name,
1128: p_pkg_name => G_PKG_NAME,
1129: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1122: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1123: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1124: EXCEPTION
1125: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1126: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1127: p_api_name => l_api_name,
1128: p_pkg_name => G_PKG_NAME,
1129: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1130: x_msg_count => x_msg_count,
1125: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1126: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1127: p_api_name => l_api_name,
1128: p_pkg_name => G_PKG_NAME,
1129: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1130: x_msg_count => x_msg_count,
1131: x_msg_data => x_msg_data,
1132: p_api_type => g_api_type);
1133: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1129: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1130: x_msg_count => x_msg_count,
1131: x_msg_data => x_msg_data,
1132: p_api_type => g_api_type);
1133: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1134: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1135: p_api_name => l_api_name,
1136: p_pkg_name => G_PKG_NAME,
1137: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1130: x_msg_count => x_msg_count,
1131: x_msg_data => x_msg_data,
1132: p_api_type => g_api_type);
1133: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1134: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1135: p_api_name => l_api_name,
1136: p_pkg_name => G_PKG_NAME,
1137: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1138: x_msg_count => x_msg_count,
1133: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1134: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1135: p_api_name => l_api_name,
1136: p_pkg_name => G_PKG_NAME,
1137: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1138: x_msg_count => x_msg_count,
1139: x_msg_data => x_msg_data,
1140: p_api_type => g_api_type);
1141: WHEN OTHERS THEN
1138: x_msg_count => x_msg_count,
1139: x_msg_data => x_msg_data,
1140: p_api_type => g_api_type);
1141: WHEN OTHERS THEN
1142: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1143: p_api_name => l_api_name,
1144: p_pkg_name => G_PKG_NAME,
1145: p_exc_name => 'OTHERS',
1146: x_msg_count => x_msg_count,
1225: l_cash_flow_det_tbl so_cash_flow_details_tbl_type;
1226: cfl_index NUMBER;
1227: l_qq_id NUMBER;
1228: BEGIN
1229: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1230: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
1231: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
1232: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1233: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
1234: -- check for logging on STATEMENT level
1235: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
1236: -- Call START_ACTIVITY to create savepoint, check compatibility
1237: -- and initialize message list
1238: l_return_status := OKL_API.START_ACTIVITY(
1239: p_api_name => l_api_name,
1240: p_pkg_name => G_PKG_NAME,
1241: p_init_msg_list => p_init_msg_list,
1242: l_api_version => l_api_version,
1243: p_api_version => p_api_version,
1244: p_api_type => g_api_type,
1245: x_return_status => x_return_status);
1246: --Check if activity started successfully
1247: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1248: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1249: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1250: RAISE OKL_API.G_EXCEPTION_ERROR;
1251: END IF;
1244: p_api_type => g_api_type,
1245: x_return_status => x_return_status);
1246: --Check if activity started successfully
1247: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1248: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1249: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1250: RAISE OKL_API.G_EXCEPTION_ERROR;
1251: END IF;
1252: -- Use l_return_status as a flag
1245: x_return_status => x_return_status);
1246: --Check if activity started successfully
1247: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1248: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1249: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1250: RAISE OKL_API.G_EXCEPTION_ERROR;
1251: END IF;
1252: -- Use l_return_status as a flag
1253: -- Fetching the Cash Flows Information
1246: --Check if activity started successfully
1247: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1248: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1249: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1250: RAISE OKL_API.G_EXCEPTION_ERROR;
1251: END IF;
1252: -- Use l_return_status as a flag
1253: -- Fetching the Cash Flows Information
1254: l_return_status := OKL_API.G_RET_STS_ERROR;
1250: RAISE OKL_API.G_EXCEPTION_ERROR;
1251: END IF;
1252: -- Use l_return_status as a flag
1253: -- Fetching the Cash Flows Information
1254: l_return_status := OKL_API.G_RET_STS_ERROR;
1255: FOR t_rec in qq_cash_flows_csr( p_qq_id )
1256: LOOP
1257: l_cash_flow_rec.caf_id := t_rec.caf_id;
1258: l_cash_flow_rec.khr_id := t_rec.khr_id;
1265: l_cash_flow_rec.due_arrears_yn := t_rec.due_arrears_yn;
1266: l_cash_flow_rec.start_date := t_rec.start_date;
1267: l_cash_flow_rec.number_of_advance_periods := t_rec.number_of_advance_periods;
1268: -- Use l_retun_status as a flag
1269: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1270: END LOOP;
1271: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
1272: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
1273: THEN
1268: -- Use l_retun_status as a flag
1269: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1270: END LOOP;
1271: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
1272: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
1273: THEN
1274: cfl_index := 1;
1275: -- Cash Flows exists. So, fetch the Cash Flow Levels
1276: FOR t_rec in qq_cash_flow_levels_csr( l_cash_flow_rec.caf_id )
1293: -- Regular Periodic Payment
1294: l_cash_flow_det_tbl(cfl_index).is_stub := 'N';
1295: END IF;
1296: -- Use l_retun_status as a flag
1297: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1298: -- Increment i
1299: cfl_index := cfl_index + 1;
1300: END LOOP;
1301: ELSE
1298: -- Increment i
1299: cfl_index := cfl_index + 1;
1300: END LOOP;
1301: ELSE
1302: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1303: END IF;
1304: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1305: 'p_cf_source_type =' || p_cf_source_type || 'p_qq_id = ' || p_qq_id);
1306: IF p_cf_source_type = G_CF_SOURCE_QQ-- Quick Quote
1352: x_days_in_year => x_days_in_year);
1353: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1354: 'After get_lq_sgt_day_convention ' || l_return_status );
1355: END IF;
1356: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1357: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1358: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1359: RAISE OKL_API.G_EXCEPTION_ERROR;
1360: END IF;
1353: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1354: 'After get_lq_sgt_day_convention ' || l_return_status );
1355: END IF;
1356: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1357: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1358: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1359: RAISE OKL_API.G_EXCEPTION_ERROR;
1360: END IF;
1361: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1354: 'After get_lq_sgt_day_convention ' || l_return_status );
1355: END IF;
1356: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1357: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1358: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1359: RAISE OKL_API.G_EXCEPTION_ERROR;
1360: END IF;
1361: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1362: x_days_in_month || ' / ' || x_days_in_year);
1355: END IF;
1356: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1357: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1358: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1359: RAISE OKL_API.G_EXCEPTION_ERROR;
1360: END IF;
1361: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1362: x_days_in_month || ' / ' || x_days_in_year);
1363: -- Setting the return variables ..
1363: -- Setting the return variables ..
1364: x_cash_flow_rec := l_cash_flow_rec;
1365: x_cash_flow_det_tbl := l_cash_flow_det_tbl;
1366: x_return_status := l_return_status;
1367: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1368: x_msg_data => x_msg_data);
1369: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1370: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1371: EXCEPTION
1368: x_msg_data => x_msg_data);
1369: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1370: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1371: EXCEPTION
1372: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1373: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1374: p_api_name => l_api_name,
1375: p_pkg_name => G_PKG_NAME,
1376: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1369: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1370: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1371: EXCEPTION
1372: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1373: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1374: p_api_name => l_api_name,
1375: p_pkg_name => G_PKG_NAME,
1376: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1377: x_msg_count => x_msg_count,
1372: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1373: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1374: p_api_name => l_api_name,
1375: p_pkg_name => G_PKG_NAME,
1376: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1377: x_msg_count => x_msg_count,
1378: x_msg_data => x_msg_data,
1379: p_api_type => g_api_type);
1380: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1376: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1377: x_msg_count => x_msg_count,
1378: x_msg_data => x_msg_data,
1379: p_api_type => g_api_type);
1380: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1381: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1382: p_api_name => l_api_name,
1383: p_pkg_name => G_PKG_NAME,
1384: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1377: x_msg_count => x_msg_count,
1378: x_msg_data => x_msg_data,
1379: p_api_type => g_api_type);
1380: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1381: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1382: p_api_name => l_api_name,
1383: p_pkg_name => G_PKG_NAME,
1384: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1385: x_msg_count => x_msg_count,
1380: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1381: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1382: p_api_name => l_api_name,
1383: p_pkg_name => G_PKG_NAME,
1384: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1385: x_msg_count => x_msg_count,
1386: x_msg_data => x_msg_data,
1387: p_api_type => g_api_type);
1388: WHEN OTHERS THEN
1385: x_msg_count => x_msg_count,
1386: x_msg_data => x_msg_data,
1387: p_api_type => g_api_type);
1388: WHEN OTHERS THEN
1389: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1390: p_api_name => l_api_name,
1391: p_pkg_name => G_PKG_NAME,
1392: p_exc_name => 'OTHERS',
1393: x_msg_count => x_msg_count,
1477: l_override_cf_amt BOOLEAN;
1478: l_tot_periods NUMBER;
1479: l_periodic_amt NUMBER;
1480: BEGIN
1481: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1482: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
1483: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
1484: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1485: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
1486: -- check for logging on STATEMENT level
1487: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
1488: -- Call START_ACTIVITY to create savepoint, check compatibility
1489: -- and initialize message list
1490: l_return_status := OKL_API.START_ACTIVITY(
1491: p_api_name => l_api_name,
1492: p_pkg_name => G_PKG_NAME,
1493: p_init_msg_list => p_init_msg_list,
1494: l_api_version => l_api_version,
1495: p_api_version => p_api_version,
1496: p_api_type => g_api_type,
1497: x_return_status => x_return_status);
1498: --Check if activity started successfully
1499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1502: RAISE OKL_API.G_EXCEPTION_ERROR;
1503: END IF;
1496: p_api_type => g_api_type,
1497: x_return_status => x_return_status);
1498: --Check if activity started successfully
1499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1502: RAISE OKL_API.G_EXCEPTION_ERROR;
1503: END IF;
1504: l_hdr_rec := p_hdr_rec;
1497: x_return_status => x_return_status);
1498: --Check if activity started successfully
1499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1502: RAISE OKL_API.G_EXCEPTION_ERROR;
1503: END IF;
1504: l_hdr_rec := p_hdr_rec;
1505: fin_index := 1; -- Initialize the fin_index .. !
1498: --Check if activity started successfully
1499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1502: RAISE OKL_API.G_EXCEPTION_ERROR;
1503: END IF;
1504: l_hdr_rec := p_hdr_rec;
1505: fin_index := 1; -- Initialize the fin_index .. !
1506: l_tot_item_cat_cost := p_tot_item_cat_cost;
1620: END LOOP;
1621: -- Setting the return variables ..
1622: x_fee_srv_tbl := l_fee_srv_tbl;
1623: x_return_status := l_return_status;
1624: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
1625: x_msg_data => x_msg_data);
1626: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1627: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1628: EXCEPTION
1625: x_msg_data => x_msg_data);
1626: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1627: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1628: EXCEPTION
1629: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1630: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1631: p_api_name => l_api_name,
1632: p_pkg_name => G_PKG_NAME,
1633: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1626: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1627: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
1628: EXCEPTION
1629: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1630: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1631: p_api_name => l_api_name,
1632: p_pkg_name => G_PKG_NAME,
1633: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1634: x_msg_count => x_msg_count,
1629: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1630: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1631: p_api_name => l_api_name,
1632: p_pkg_name => G_PKG_NAME,
1633: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1634: x_msg_count => x_msg_count,
1635: x_msg_data => x_msg_data,
1636: p_api_type => g_api_type);
1637: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1633: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1634: x_msg_count => x_msg_count,
1635: x_msg_data => x_msg_data,
1636: p_api_type => g_api_type);
1637: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1638: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1639: p_api_name => l_api_name,
1640: p_pkg_name => G_PKG_NAME,
1641: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1634: x_msg_count => x_msg_count,
1635: x_msg_data => x_msg_data,
1636: p_api_type => g_api_type);
1637: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1638: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1639: p_api_name => l_api_name,
1640: p_pkg_name => G_PKG_NAME,
1641: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1642: x_msg_count => x_msg_count,
1637: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1638: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1639: p_api_name => l_api_name,
1640: p_pkg_name => G_PKG_NAME,
1641: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1642: x_msg_count => x_msg_count,
1643: x_msg_data => x_msg_data,
1644: p_api_type => g_api_type);
1645: WHEN OTHERS THEN
1642: x_msg_count => x_msg_count,
1643: x_msg_data => x_msg_data,
1644: p_api_type => g_api_type);
1645: WHEN OTHERS THEN
1646: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
1647: p_api_name => l_api_name,
1648: p_pkg_name => G_PKG_NAME,
1649: p_exc_name => 'OTHERS',
1650: x_msg_count => x_msg_count,
1665: AS
1666: l_start_year NUMBER;
1667: l_cf_year NUMBER;
1668: BEGIN
1669: x_return_status := OKL_API.G_RET_STS_SUCCESS;
1670: IF p_day_convention = 'ACTUAL'
1671: THEN
1672: l_start_year := TO_NUMBER( TO_CHAR( p_start_date, 'YYYY') );
1673: l_cf_year := TO_NUMBER( TO_CHAR( p_cash_inflow_date, 'YYYY') );
1694: -- Number of days per annum doesnot depend on the year ...
1695: -- all years are assumed to be having 360 days
1696: RETURN 360;
1697: END IF;
1698: x_return_status := OKL_API.G_RET_STS_SUCCESS;
1699: END get_days_per_annum;
1700:
1701: -- Procedure to create stream elements for each cash flows level passed !
1702: -- Expecting the p_cfd_rec to have atleast the following
1735: is_debug_statement_on BOOLEAN;
1736: l_period_start_date DATE;
1737: l_period_end_date DATE;
1738: BEGIN
1739: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1740: l_debug_enabled := okl_debug_pub.check_log_enabled;
1741: is_debug_procedure_on := okl_debug_pub.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
1742: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1743: 'begin debug OKLRPIUB.pls call gen_so_cf_strm_elements');
1774: 'p_frequency_passed'||p_frequency);
1775:
1776: If ( nvl(p_frequency, 'X') = 'X') Then
1777:
1778: OKL_API.set_message(
1779: p_app_name => G_APP_NAME,
1780: p_msg_name => OKL_API.G_REQUIRED_VALUE,
1781: p_token1 => OKL_API.G_COL_NAME_TOKEN,
1782: p_token1_value => 'FREQUENCY');
1776: If ( nvl(p_frequency, 'X') = 'X') Then
1777:
1778: OKL_API.set_message(
1779: p_app_name => G_APP_NAME,
1780: p_msg_name => OKL_API.G_REQUIRED_VALUE,
1781: p_token1 => OKL_API.G_COL_NAME_TOKEN,
1782: p_token1_value => 'FREQUENCY');
1783:
1784: RAISE OKL_API.G_EXCEPTION_ERROR;
1777:
1778: OKL_API.set_message(
1779: p_app_name => G_APP_NAME,
1780: p_msg_name => OKL_API.G_REQUIRED_VALUE,
1781: p_token1 => OKL_API.G_COL_NAME_TOKEN,
1782: p_token1_value => 'FREQUENCY');
1783:
1784: RAISE OKL_API.G_EXCEPTION_ERROR;
1785:
1780: p_msg_name => OKL_API.G_REQUIRED_VALUE,
1781: p_token1 => OKL_API.G_COL_NAME_TOKEN,
1782: p_token1_value => 'FREQUENCY');
1783:
1784: RAISE OKL_API.G_EXCEPTION_ERROR;
1785:
1786: End If;
1787:
1788: l_months_factor := okl_stream_generator_pvt.get_months_factor(
1790: x_return_status => l_return_status);
1791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1792: 'p_months_factor'||l_months_factor);
1793:
1794: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1797: RAISE OKL_API.G_EXCEPTION_ERROR;
1798: END IF;
1791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1792: 'p_months_factor'||l_months_factor);
1793:
1794: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1797: RAISE OKL_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: -- Looping throug the Periods ..
1792: 'p_months_factor'||l_months_factor);
1793:
1794: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1797: RAISE OKL_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: -- Looping throug the Periods ..
1800: FOR i in 1 .. n_periods
1793:
1794: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1795: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1797: RAISE OKL_API.G_EXCEPTION_ERROR;
1798: END IF;
1799: -- Looping throug the Periods ..
1800: FOR i in 1 .. n_periods
1801: LOOP
1814: p_months_per_period => l_months_factor,
1815: x_date => l_period_start_date,
1816: x_return_status => l_return_status,
1817: p_recurrence_date => p_recurrence_date);
1818: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1820: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1821: RAISE OKL_API.G_EXCEPTION_ERROR;
1822: END IF;
1815: x_date => l_period_start_date,
1816: x_return_status => l_return_status,
1817: p_recurrence_date => p_recurrence_date);
1818: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1820: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1821: RAISE OKL_API.G_EXCEPTION_ERROR;
1822: END IF;
1823: -- Get the Stream Element date after i months from the p_start_date
1816: x_return_status => l_return_status,
1817: p_recurrence_date => p_recurrence_date);
1818: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1820: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1821: RAISE OKL_API.G_EXCEPTION_ERROR;
1822: END IF;
1823: -- Get the Stream Element date after i months from the p_start_date
1824: -- when the payments are ARREARS
1817: p_recurrence_date => p_recurrence_date);
1818: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1820: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1821: RAISE OKL_API.G_EXCEPTION_ERROR;
1822: END IF;
1823: -- Get the Stream Element date after i months from the p_start_date
1824: -- when the payments are ARREARS
1825: -- Added parameter p_recurrence_date by Durga Janaswamy for bug 6007644
1830: p_months_per_period => l_months_factor,
1831: x_date => l_period_end_date,
1832: x_return_status => l_return_status,
1833: p_recurrence_date => p_recurrence_date);
1834: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1835: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1836: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1837: RAISE OKL_API.G_EXCEPTION_ERROR;
1838: END IF;
1831: x_date => l_period_end_date,
1832: x_return_status => l_return_status,
1833: p_recurrence_date => p_recurrence_date);
1834: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1835: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1836: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1837: RAISE OKL_API.G_EXCEPTION_ERROR;
1838: END IF;
1839: -- Based on the payment type is 'ADVANCE' / 'ARREARS' do the assignment ..
1832: x_return_status => l_return_status,
1833: p_recurrence_date => p_recurrence_date);
1834: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1835: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1836: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1837: RAISE OKL_API.G_EXCEPTION_ERROR;
1838: END IF;
1839: -- Based on the payment type is 'ADVANCE' / 'ARREARS' do the assignment ..
1840: IF p_advance_arrears = 'ARREARS' OR p_advance_arrears = 'Y'
1833: p_recurrence_date => p_recurrence_date);
1834: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1835: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1836: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
1837: RAISE OKL_API.G_EXCEPTION_ERROR;
1838: END IF;
1839: -- Based on the payment type is 'ADVANCE' / 'ARREARS' do the assignment ..
1840: IF p_advance_arrears = 'ARREARS' OR p_advance_arrears = 'Y'
1841: THEN
1855: x_return_status := l_return_status;
1856: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1857: 'end debug OKLRPIUB.pls call gen_cf_strm_elements');
1858: EXCEPTION
1859: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1860: x_return_status := G_RET_STS_ERROR;
1861: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1862: x_return_status := G_RET_STS_UNEXP_ERROR;
1863: WHEN OTHERS THEN
1857: 'end debug OKLRPIUB.pls call gen_cf_strm_elements');
1858: EXCEPTION
1859: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1860: x_return_status := G_RET_STS_ERROR;
1861: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1862: x_return_status := G_RET_STS_UNEXP_ERROR;
1863: WHEN OTHERS THEN
1864: OKL_API.SET_MESSAGE (
1865: p_app_name => G_APP_NAME,
1860: x_return_status := G_RET_STS_ERROR;
1861: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1862: x_return_status := G_RET_STS_UNEXP_ERROR;
1863: WHEN OTHERS THEN
1864: OKL_API.SET_MESSAGE (
1865: p_app_name => G_APP_NAME,
1866: p_msg_name => G_DB_ERROR,
1867: p_token1 => G_PROG_NAME_TOKEN,
1868: p_token1_value => l_api_name,
1905: l_recurrence_date DATE := NULL;
1906: --end DJANASWA
1907:
1908: BEGIN
1909: l_return_status := OKL_API.G_RET_STS_SUCCESS;
1910: l_debug_enabled := okl_debug_pub.check_log_enabled;
1911: is_debug_procedure_on := okl_debug_pub.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
1912: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
1913: 'begin debug OKLRPIUB.pls call gen_so_cf_strms');
1914: -- check for logging on STATEMENT level
1915: is_debug_statement_on := okl_debug_pub.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
1916: -- Call START_ACTIVITY to create savepoint, check compatibility
1917: -- and initialize message list
1918: l_return_status := OKL_API.START_ACTIVITY(
1919: p_api_name => l_api_name,
1920: p_pkg_name => G_PKG_NAME,
1921: p_init_msg_list => p_init_msg_list,
1922: l_api_version => l_api_version,
1923: p_api_version => p_api_version,
1924: p_api_type => g_api_type,
1925: x_return_status => x_return_status);
1926: --Check if activity started successfully
1927: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1929: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1930: RAISE OKL_API.G_EXCEPTION_ERROR;
1931: END IF;
1924: p_api_type => g_api_type,
1925: x_return_status => x_return_status);
1926: --Check if activity started successfully
1927: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1929: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1930: RAISE OKL_API.G_EXCEPTION_ERROR;
1931: END IF;
1932: -- Actual logic Begins here
1925: x_return_status => x_return_status);
1926: --Check if activity started successfully
1927: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1929: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1930: RAISE OKL_API.G_EXCEPTION_ERROR;
1931: END IF;
1932: -- Actual logic Begins here
1933: -- Create the cash inflow streams table ..
1926: --Check if activity started successfully
1927: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1929: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1930: RAISE OKL_API.G_EXCEPTION_ERROR;
1931: END IF;
1932: -- Actual logic Begins here
1933: -- Create the cash inflow streams table ..
1934: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1940: -- Validate whether the start_date is there or not
1941: IF p_cf_details_tbl(i).start_date IS NULL
1942: THEN
1943: -- Raise an Exception, cant proceed.
1944: OKL_API.SET_MESSAGE (
1945: p_app_name => G_APP_NAME,
1946: p_msg_name => 'OKL_NO_SLL_SDATE');
1947: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1948: END IF;
1943: -- Raise an Exception, cant proceed.
1944: OKL_API.SET_MESSAGE (
1945: p_app_name => G_APP_NAME,
1946: p_msg_name => 'OKL_NO_SLL_SDATE');
1947: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1948: END IF;
1949: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1950: p_cf_details_tbl(i).rate
1951: || ' | ' || p_cf_details_tbl(i).start_date
1981: p_stub_flag => p_cf_details_tbl(i).is_stub,
1982: x_cf_strm_elements_tbl => l_temp_cf_strms_tbl,
1983: x_return_status => l_return_status,
1984: p_recurrence_date => l_recurrence_date);
1985: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1986: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1987: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1988: RAISE OKL_API.G_EXCEPTION_ERROR;
1989: END IF;
1982: x_cf_strm_elements_tbl => l_temp_cf_strms_tbl,
1983: x_return_status => l_return_status,
1984: p_recurrence_date => l_recurrence_date);
1985: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1986: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1987: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1988: RAISE OKL_API.G_EXCEPTION_ERROR;
1989: END IF;
1990: -- Accumulate the Cash Inflow Streams created
1983: x_return_status => l_return_status,
1984: p_recurrence_date => l_recurrence_date);
1985: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1986: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1987: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1988: RAISE OKL_API.G_EXCEPTION_ERROR;
1989: END IF;
1990: -- Accumulate the Cash Inflow Streams created
1991: l_cf_count := nvl(l_cf_strms_tbl.COUNT, 0 );
1984: p_recurrence_date => l_recurrence_date);
1985: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1986: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1987: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1988: RAISE OKL_API.G_EXCEPTION_ERROR;
1989: END IF;
1990: -- Accumulate the Cash Inflow Streams created
1991: l_cf_count := nvl(l_cf_strms_tbl.COUNT, 0 );
1992: get_dpp_ppy(
1997: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
1998: 'l_dpp | l_ppy | l_cf_count | l_return_status ' );
1999: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2000: l_dpp || '|' || l_ppy || '|' || l_cf_count || '|' || l_return_status );
2001: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2002: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2003: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2004: RAISE OKL_API.G_EXCEPTION_ERROR;
2005: END IF;
1998: 'l_dpp | l_ppy | l_cf_count | l_return_status ' );
1999: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2000: l_dpp || '|' || l_ppy || '|' || l_cf_count || '|' || l_return_status );
2001: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2002: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2003: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2004: RAISE OKL_API.G_EXCEPTION_ERROR;
2005: END IF;
2006: -- Append the l_temp_cf_strms_tbl to l_temp_cf_strms_tbl
1999: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2000: l_dpp || '|' || l_ppy || '|' || l_cf_count || '|' || l_return_status );
2001: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2002: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2003: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2004: RAISE OKL_API.G_EXCEPTION_ERROR;
2005: END IF;
2006: -- Append the l_temp_cf_strms_tbl to l_temp_cf_strms_tbl
2007: FOR j in l_temp_cf_strms_tbl.FIRST .. l_temp_cf_strms_tbl.LAST
2000: l_dpp || '|' || l_ppy || '|' || l_cf_count || '|' || l_return_status );
2001: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2002: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2003: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2004: RAISE OKL_API.G_EXCEPTION_ERROR;
2005: END IF;
2006: -- Append the l_temp_cf_strms_tbl to l_temp_cf_strms_tbl
2007: FOR j in l_temp_cf_strms_tbl.FIRST .. l_temp_cf_strms_tbl.LAST
2008: LOOP
2045: END LOOP;
2046: -- Setting up the out parameters to return ....
2047: x_cash_inflow_strms_tbl := l_cf_strms_tbl;
2048: x_return_status := l_return_status;
2049: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
2050: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
2051: 'end debug OKLRPIUB.pls call gen_so_cf_strms');
2052: EXCEPTION
2053: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2049: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
2050: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
2051: 'end debug OKLRPIUB.pls call gen_so_cf_strms');
2052: EXCEPTION
2053: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2054: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2055: p_api_name => l_api_name,
2056: p_pkg_name => G_PKG_NAME,
2057: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2050: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
2051: 'end debug OKLRPIUB.pls call gen_so_cf_strms');
2052: EXCEPTION
2053: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2054: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2055: p_api_name => l_api_name,
2056: p_pkg_name => G_PKG_NAME,
2057: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2058: x_msg_count => x_msg_count,
2053: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2054: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2055: p_api_name => l_api_name,
2056: p_pkg_name => G_PKG_NAME,
2057: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2058: x_msg_count => x_msg_count,
2059: x_msg_data => x_msg_data,
2060: p_api_type => g_api_type);
2061: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2057: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
2058: x_msg_count => x_msg_count,
2059: x_msg_data => x_msg_data,
2060: p_api_type => g_api_type);
2061: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2062: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2063: p_api_name => l_api_name,
2064: p_pkg_name => G_PKG_NAME,
2065: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2058: x_msg_count => x_msg_count,
2059: x_msg_data => x_msg_data,
2060: p_api_type => g_api_type);
2061: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2062: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2063: p_api_name => l_api_name,
2064: p_pkg_name => G_PKG_NAME,
2065: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2066: x_msg_count => x_msg_count,
2061: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2062: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2063: p_api_name => l_api_name,
2064: p_pkg_name => G_PKG_NAME,
2065: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
2066: x_msg_count => x_msg_count,
2067: x_msg_data => x_msg_data,
2068: p_api_type => g_api_type);
2069: WHEN OTHERS THEN
2066: x_msg_count => x_msg_count,
2067: x_msg_data => x_msg_data,
2068: p_api_type => g_api_type);
2069: WHEN OTHERS THEN
2070: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
2071: p_api_name => l_api_name,
2072: p_pkg_name => G_PKG_NAME,
2073: p_exc_name => 'OTHERS',
2074: x_msg_count => x_msg_count,
2097: -- No problem can proceed !
2098: NULL;
2099: ELSE
2100: -- Cant proceed ! Raise an Exception ..
2101: RAISE OKL_API.G_EXCEPTION_ERROR;
2102: END IF;
2103: i := p_cf_strms_tbl.FIRST;
2104: l_prev_date := p_cf_strms_tbl(i).cf_date;
2105: -- In few Scenarios rate amount may be missing
2113: IF l_prev_date >= l_curr_date AND
2114: i <> p_cf_strms_tbl.FIRST -- Should not execute for first element
2115: THEN
2116: -- Stream Elements should be in ascending chronological order
2117: RAISE OKL_API.G_EXCEPTION_ERROR;
2118: END IF; -- If for l_prev_date
2119: IF p_date = p_cf_strms_tbl(i).cf_date
2120: THEN
2121: -- Dates matched exactly ..
2141: END LOOP; -- While i <= p_cf_strms_tbl.LAST
2142: x_rate := l_prev_rate;
2143: x_return_status := G_RET_STS_SUCCESS;
2144: EXCEPTION
2145: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2146: x_return_status := G_RET_STS_ERROR;
2147: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2148: x_return_status := G_RET_STS_UNEXP_ERROR;
2149: WHEN OTHERS THEN
2143: x_return_status := G_RET_STS_SUCCESS;
2144: EXCEPTION
2145: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2146: x_return_status := G_RET_STS_ERROR;
2147: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2148: x_return_status := G_RET_STS_UNEXP_ERROR;
2149: WHEN OTHERS THEN
2150: OKL_API.SET_MESSAGE (
2151: p_app_name => G_APP_NAME,
2146: x_return_status := G_RET_STS_ERROR;
2147: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2148: x_return_status := G_RET_STS_UNEXP_ERROR;
2149: WHEN OTHERS THEN
2150: OKL_API.SET_MESSAGE (
2151: p_app_name => G_APP_NAME,
2152: p_msg_name => G_DB_ERROR,
2153: p_token1 => G_PROG_NAME_TOKEN,
2154: p_token1_value => l_api_name,
2187: n_leap_years NUMBER;
2188: l_day_convention VARCHAR2(10); -- Flag for 365 Year/360 Year based calculation
2189: l_mod_days NUMBER; -- Added by ssohal for Bug#6706568
2190: BEGIN
2191: x_return_status := OKL_API.G_RET_STS_SUCCESS;
2192: -- Validation: If Start Date cant be greater than End Date then return zero.
2193: l_start_date := trunc( p_start_date );
2194: l_end_date := trunc( p_end_date );
2195: IF( l_start_date > l_end_date )
2257: (p_days_in_month = '30' AND p_days_in_year = '365'))
2258: THEN
2259:
2260: --Bug# 14165508
2261: IF (p_conversion_factor IS NOT NULL AND p_conversion_factor <> OKL_API.G_MISS_NUM) THEN
2262:
2263: n_days := round( ((l_end_date - l_start_date + 1) *
2264: p_conversion_factor),6);
2265:
2324: THEN
2325: n_days := floor( l_end_date - l_start_date );
2326: --end bkatraga for bug 13470626
2327: ELSE
2328: x_return_Status := OKL_API.G_RET_STS_ERROR;
2329: RETURN 0;
2330: END IF;
2331:
2332: -- Consider the last day incase of arrears Payments
2354: -- Set the OUT parameters and return
2355: x_return_status := 'S';
2356: RETURN n_days;
2357: EXCEPTION
2358: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2359: x_return_status := G_RET_STS_ERROR;
2360: RETURN -1; -- get_day_count returns negative in case of error/failure
2361: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2362: x_return_status := G_RET_STS_UNEXP_ERROR;
2357: EXCEPTION
2358: WHEN OKL_API.G_EXCEPTION_ERROR THEN
2359: x_return_status := G_RET_STS_ERROR;
2360: RETURN -1; -- get_day_count returns negative in case of error/failure
2361: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2362: x_return_status := G_RET_STS_UNEXP_ERROR;
2363: RETURN -1; -- get_day_count returns negative in case of error/failure
2364: WHEN OTHERS THEN
2365: OKL_API.SET_MESSAGE (
2361: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2362: x_return_status := G_RET_STS_UNEXP_ERROR;
2363: RETURN -1; -- get_day_count returns negative in case of error/failure
2364: WHEN OTHERS THEN
2365: OKL_API.SET_MESSAGE (
2366: p_app_name => G_APP_NAME,
2367: p_msg_name => G_DB_ERROR,
2368: p_token1 => G_PROG_NAME_TOKEN,
2369: p_token1_value => 'GET_DAY_COUNT',
2448: i NUMBER; -- Used as Index
2449: l_period_start_date DATE;
2450: l_period_end_date DATE;
2451: BEGIN
2452: l_return_status := OKL_API.G_RET_STS_SUCCESS;
2453: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
2454: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
2455:
2456: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
2457: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
2458: -- check for logging on STATEMENT level
2459: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
2460: -- Call START_ACTIVITY to create savepoint, check compatibility and initialize message list
2461: l_return_status := OKL_API.START_ACTIVITY(
2462: p_api_name => l_api_name,
2463: p_pkg_name => G_PKG_NAME,
2464: p_init_msg_list => p_init_msg_list,
2465: l_api_version => l_api_version,
2466: p_api_version => p_api_version,
2467: p_api_type => g_api_type,
2468: x_return_status => x_return_status);
2469: --Check if activity started successfully
2470: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2471: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2472: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2473: RAISE OKL_API.G_EXCEPTION_ERROR;
2474: END IF;
2467: p_api_type => g_api_type,
2468: x_return_status => x_return_status);
2469: --Check if activity started successfully
2470: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2471: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2472: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2473: RAISE OKL_API.G_EXCEPTION_ERROR;
2474: END IF;
2475: -- Validations here ..
2468: x_return_status => x_return_status);
2469: --Check if activity started successfully
2470: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2471: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2472: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2473: RAISE OKL_API.G_EXCEPTION_ERROR;
2474: END IF;
2475: -- Validations here ..
2476: get_days_in_year_and_month(
2469: --Check if activity started successfully
2470: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2471: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2472: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2473: RAISE OKL_API.G_EXCEPTION_ERROR;
2474: END IF;
2475: -- Validations here ..
2476: get_days_in_year_and_month(
2477: p_day_count_method => p_day_count_method,
2479: x_days_in_year => l_days_in_year,
2480: x_return_status => l_return_status);
2481: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2482: 'After get_days_in_year_and_month ' || l_return_status);
2483: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2485: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2486: RAISE OKL_API.G_EXCEPTION_ERROR;
2487: END IF;
2480: x_return_status => l_return_status);
2481: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2482: 'After get_days_in_year_and_month ' || l_return_status);
2483: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2485: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2486: RAISE OKL_API.G_EXCEPTION_ERROR;
2487: END IF;
2488: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2481: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2482: 'After get_days_in_year_and_month ' || l_return_status);
2483: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2485: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2486: RAISE OKL_API.G_EXCEPTION_ERROR;
2487: END IF;
2488: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2489: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
2482: 'After get_days_in_year_and_month ' || l_return_status);
2483: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2484: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2485: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2486: RAISE OKL_API.G_EXCEPTION_ERROR;
2487: END IF;
2488: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2489: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
2490:
2491: -- 1/ Fetch the Start Date
2492: IF p_start_date IS NULL
2493: THEN
2494: -- Show the error message
2495: RAISE OKL_API.G_EXCEPTION_ERROR;
2496: END IF; -- IF p_start_date
2497: IF px_pricing_parameter_tbl.COUNT > 0
2498: THEN
2499: -- Do Nothing
2499: -- Do Nothing
2500: NULL;
2501: ELSE
2502: -- Cant proceed.
2503: RAISE OKL_API.G_EXCEPTION_ERROR;
2504: END IF; -- IF px_pricing_parameter_tbl.COUNT > 0
2505:
2506: IF p_pricing_method = 'SY' OR
2507: p_pricing_method = 'TR'
2510: NULL;
2511: ELSE
2512: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2513: 'Compute_irr currently supports only Solve for Yields and Target Rate Pricing Scenarios only ' );
2514: RAISE OKL_API.G_EXCEPTION_ERROR;
2515: END IF;
2516: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2517: 'Start Date =' || p_start_date );
2518: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2559: p_start_date => p_start_date, -- Start date mentioned in the Header rec
2560: p_end_date => l_cash_inflow_strms_tbl(cin_index).cf_date,
2561: p_arrears => l_cash_inflow_strms_tbl(cin_index).is_arrears,
2562: x_return_status => l_return_status);
2563: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2564: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2565: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2566: RAISE OKL_API.G_EXCEPTION_ERROR;
2567: END IF;
2560: p_end_date => l_cash_inflow_strms_tbl(cin_index).cf_date,
2561: p_arrears => l_cash_inflow_strms_tbl(cin_index).is_arrears,
2562: x_return_status => l_return_status);
2563: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2564: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2565: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2566: RAISE OKL_API.G_EXCEPTION_ERROR;
2567: END IF;
2568: -- cf_dpp, cf_ppy, cf_periods are being populated
2561: p_arrears => l_cash_inflow_strms_tbl(cin_index).is_arrears,
2562: x_return_status => l_return_status);
2563: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2564: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2565: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2566: RAISE OKL_API.G_EXCEPTION_ERROR;
2567: END IF;
2568: -- cf_dpp, cf_ppy, cf_periods are being populated
2569: IF p_day_count_method <> 'THIRTY'
2562: x_return_status => l_return_status);
2563: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2564: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2565: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2566: RAISE OKL_API.G_EXCEPTION_ERROR;
2567: END IF;
2568: -- cf_dpp, cf_ppy, cf_periods are being populated
2569: IF p_day_count_method <> 'THIRTY'
2570: THEN
2587: p_start_date => l_period_start_date, -- Start date mentioned in the Header rec
2588: p_end_date => l_period_end_date,
2589: p_arrears => 'Y',
2590: x_return_status => l_return_status);
2591: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2592: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2593: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2594: RAISE OKL_API.G_EXCEPTION_ERROR;
2595: END IF;
2588: p_end_date => l_period_end_date,
2589: p_arrears => 'Y',
2590: x_return_status => l_return_status);
2591: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2592: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2593: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2594: RAISE OKL_API.G_EXCEPTION_ERROR;
2595: END IF;
2596: END IF; -- If p_day_convention <> 'THIRTY'
2589: p_arrears => 'Y',
2590: x_return_status => l_return_status);
2591: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2592: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2593: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2594: RAISE OKL_API.G_EXCEPTION_ERROR;
2595: END IF;
2596: END IF; -- If p_day_convention <> 'THIRTY'
2597: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2590: x_return_status => l_return_status);
2591: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2592: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2593: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2594: RAISE OKL_API.G_EXCEPTION_ERROR;
2595: END IF;
2596: END IF; -- If p_day_convention <> 'THIRTY'
2597: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2598: ROUND(l_cash_inflow_strms_tbl(cin_index).cf_rate,4) || '|' || l_cash_inflow_strms_tbl(cin_index).cf_date
2626: p_date => l_residuals_tbl(res_index).cf_date,
2627: p_cf_strms_tbl => px_pricing_parameter_tbl(i).cash_inflows,
2628: x_rate => l_residuals_tbl(res_index).cf_rate,
2629: x_return_status => l_return_status);
2630: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2631: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2632: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2633: RAISE OKL_API.G_EXCEPTION_ERROR;
2634: END IF;
2627: p_cf_strms_tbl => px_pricing_parameter_tbl(i).cash_inflows,
2628: x_rate => l_residuals_tbl(res_index).cf_rate,
2629: x_return_status => l_return_status);
2630: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2631: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2632: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2633: RAISE OKL_API.G_EXCEPTION_ERROR;
2634: END IF;
2635: l_residuals_tbl(res_index).cf_days :=
2628: x_rate => l_residuals_tbl(res_index).cf_rate,
2629: x_return_status => l_return_status);
2630: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2631: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2632: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2633: RAISE OKL_API.G_EXCEPTION_ERROR;
2634: END IF;
2635: l_residuals_tbl(res_index).cf_days :=
2636: get_day_count(
2629: x_return_status => l_return_status);
2630: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2631: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2632: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2633: RAISE OKL_API.G_EXCEPTION_ERROR;
2634: END IF;
2635: l_residuals_tbl(res_index).cf_days :=
2636: get_day_count(
2637: p_days_in_month => l_days_in_month,
2639: p_start_date => p_start_date, -- Start date mentioned in the Header rec
2640: p_end_date => l_residuals_tbl(res_index).cf_date,
2641: p_arrears => 'Y', -- Residuals are always obtained at the end of the term
2642: x_return_status => l_return_status);
2643: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2644: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2645: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2646: RAISE OKL_API.G_EXCEPTION_ERROR;
2647: END IF;
2640: p_end_date => l_residuals_tbl(res_index).cf_date,
2641: p_arrears => 'Y', -- Residuals are always obtained at the end of the term
2642: x_return_status => l_return_status);
2643: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2644: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2645: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2646: RAISE OKL_API.G_EXCEPTION_ERROR;
2647: END IF;
2648:
2641: p_arrears => 'Y', -- Residuals are always obtained at the end of the term
2642: x_return_status => l_return_status);
2643: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2644: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2645: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2646: RAISE OKL_API.G_EXCEPTION_ERROR;
2647: END IF;
2648:
2649: IF p_day_count_method <> 'THIRTY'
2642: x_return_status => l_return_status);
2643: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2644: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2645: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2646: RAISE OKL_API.G_EXCEPTION_ERROR;
2647: END IF;
2648:
2649: IF p_day_count_method <> 'THIRTY'
2650: THEN
2654: p_start_date => l_period_end_date,
2655: p_months_after => -12 / l_residuals_tbl(res_index).cf_ppy, -- Will get the frequency for us
2656: x_date => l_period_start_date,
2657: x_return_status => l_return_status);
2658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2661: RAISE OKL_API.G_EXCEPTION_ERROR;
2662: END IF;
2655: p_months_after => -12 / l_residuals_tbl(res_index).cf_ppy, -- Will get the frequency for us
2656: x_date => l_period_start_date,
2657: x_return_status => l_return_status);
2658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2661: RAISE OKL_API.G_EXCEPTION_ERROR;
2662: END IF;
2663:
2656: x_date => l_period_start_date,
2657: x_return_status => l_return_status);
2658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2661: RAISE OKL_API.G_EXCEPTION_ERROR;
2662: END IF;
2663:
2664: l_period_start_date := l_period_start_date + 1;
2657: x_return_status => l_return_status);
2658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2661: RAISE OKL_API.G_EXCEPTION_ERROR;
2662: END IF;
2663:
2664: l_period_start_date := l_period_start_date + 1;
2665: l_residuals_tbl(res_index).cf_period_start_end_date := l_period_start_date;
2672: p_start_date => l_period_start_date, -- Start date mentioned in the Header rec
2673: p_end_date => l_period_end_date,
2674: p_arrears => 'Y',
2675: x_return_status => l_return_status);
2676: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2677: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2678: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2679: RAISE OKL_API.G_EXCEPTION_ERROR;
2680: END IF;
2673: p_end_date => l_period_end_date,
2674: p_arrears => 'Y',
2675: x_return_status => l_return_status);
2676: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2677: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2678: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2679: RAISE OKL_API.G_EXCEPTION_ERROR;
2680: END IF;
2681: END IF; -- IF p_day_count_method = 'THIRTY'
2674: p_arrears => 'Y',
2675: x_return_status => l_return_status);
2676: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2677: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2678: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2679: RAISE OKL_API.G_EXCEPTION_ERROR;
2680: END IF;
2681: END IF; -- IF p_day_count_method = 'THIRTY'
2682: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2675: x_return_status => l_return_status);
2676: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2677: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2678: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2679: RAISE OKL_API.G_EXCEPTION_ERROR;
2680: END IF;
2681: END IF; -- IF p_day_count_method = 'THIRTY'
2682: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2683: round(l_residuals_tbl(res_index).cf_rate,4) || '|' || l_residuals_tbl(res_index).cf_date
2719: p_start_date => p_start_date, -- Start date mentioned in the Header rec
2720: p_end_date => l_cash_inflow_strms_tbl(cin_index).cf_date,
2721: p_arrears => l_cash_inflow_strms_tbl(cin_index).is_arrears,
2722: x_return_status => l_return_status);
2723: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2724: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2725: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2726: RAISE OKL_API.G_EXCEPTION_ERROR;
2727: END IF;
2720: p_end_date => l_cash_inflow_strms_tbl(cin_index).cf_date,
2721: p_arrears => l_cash_inflow_strms_tbl(cin_index).is_arrears,
2722: x_return_status => l_return_status);
2723: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2724: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2725: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2726: RAISE OKL_API.G_EXCEPTION_ERROR;
2727: END IF;
2728: -- cf_dpp, cf_ppy, cf_periods are being populated
2721: p_arrears => l_cash_inflow_strms_tbl(cin_index).is_arrears,
2722: x_return_status => l_return_status);
2723: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2724: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2725: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2726: RAISE OKL_API.G_EXCEPTION_ERROR;
2727: END IF;
2728: -- cf_dpp, cf_ppy, cf_periods are being populated
2729: IF p_day_count_method <> 'THIRTY'
2722: x_return_status => l_return_status);
2723: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2724: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2725: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2726: RAISE OKL_API.G_EXCEPTION_ERROR;
2727: END IF;
2728: -- cf_dpp, cf_ppy, cf_periods are being populated
2729: IF p_day_count_method <> 'THIRTY'
2730: THEN
2747: p_start_date => l_period_start_date, -- Start date mentioned in the Header rec
2748: p_end_date => l_period_end_date,
2749: p_arrears => 'Y',
2750: x_return_status => l_return_status);
2751: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2752: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2753: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2754: RAISE OKL_API.G_EXCEPTION_ERROR;
2755: END IF;
2748: p_end_date => l_period_end_date,
2749: p_arrears => 'Y',
2750: x_return_status => l_return_status);
2751: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2752: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2753: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2754: RAISE OKL_API.G_EXCEPTION_ERROR;
2755: END IF;
2756: END IF; -- If p_day_convention <> 'THIRTY'
2749: p_arrears => 'Y',
2750: x_return_status => l_return_status);
2751: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2752: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2753: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2754: RAISE OKL_API.G_EXCEPTION_ERROR;
2755: END IF;
2756: END IF; -- If p_day_convention <> 'THIRTY'
2757: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2750: x_return_status => l_return_status);
2751: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2752: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2753: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2754: RAISE OKL_API.G_EXCEPTION_ERROR;
2755: END IF;
2756: END IF; -- If p_day_convention <> 'THIRTY'
2757: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2758: round(l_cash_inflow_strms_tbl(cin_index).cf_rate,4) || '|' || l_cash_inflow_strms_tbl(cin_index).cf_date
2796: p_start_date => p_start_date, -- Start date mentioned in the Header rec
2797: p_end_date => l_cash_outflow_strms_tbl(cout_index).cf_date,
2798: p_arrears => l_cash_outflow_strms_tbl(cout_index).is_arrears,
2799: x_return_status => l_return_status);
2800: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2801: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2802: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2803: RAISE OKL_API.G_EXCEPTION_ERROR;
2804: END IF;
2797: p_end_date => l_cash_outflow_strms_tbl(cout_index).cf_date,
2798: p_arrears => l_cash_outflow_strms_tbl(cout_index).is_arrears,
2799: x_return_status => l_return_status);
2800: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2801: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2802: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2803: RAISE OKL_API.G_EXCEPTION_ERROR;
2804: END IF;
2805: -- cf_dpp, cf_ppy, cf_periods are being populated
2798: p_arrears => l_cash_outflow_strms_tbl(cout_index).is_arrears,
2799: x_return_status => l_return_status);
2800: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2801: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2802: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2803: RAISE OKL_API.G_EXCEPTION_ERROR;
2804: END IF;
2805: -- cf_dpp, cf_ppy, cf_periods are being populated
2806: IF p_day_count_method <> 'THIRTY'
2799: x_return_status => l_return_status);
2800: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2801: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2802: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2803: RAISE OKL_API.G_EXCEPTION_ERROR;
2804: END IF;
2805: -- cf_dpp, cf_ppy, cf_periods are being populated
2806: IF p_day_count_method <> 'THIRTY'
2807: THEN
2824: p_start_date => l_period_start_date,
2825: p_end_date => l_period_end_date,
2826: p_arrears => 'Y',
2827: x_return_status => l_return_status);
2828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2831: RAISE OKL_API.G_EXCEPTION_ERROR;
2832: END IF;
2825: p_end_date => l_period_end_date,
2826: p_arrears => 'Y',
2827: x_return_status => l_return_status);
2828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2831: RAISE OKL_API.G_EXCEPTION_ERROR;
2832: END IF;
2833: END IF; -- If p_day_convention <> 'THIRTY'
2826: p_arrears => 'Y',
2827: x_return_status => l_return_status);
2828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2831: RAISE OKL_API.G_EXCEPTION_ERROR;
2832: END IF;
2833: END IF; -- If p_day_convention <> 'THIRTY'
2834: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2827: x_return_status => l_return_status);
2828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2831: RAISE OKL_API.G_EXCEPTION_ERROR;
2832: END IF;
2833: END IF; -- If p_day_convention <> 'THIRTY'
2834: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2835: ROUND(l_cash_outflow_strms_tbl(cout_index).cf_rate,4) || '|' || l_cash_outflow_strms_tbl(cout_index).cf_date
2868: p_start_date => p_start_date, -- Start date mentioned in the Header rec
2869: p_end_date => l_cash_inflow_strms_tbl(cin_index).cf_date,
2870: p_arrears => 'N',
2871: x_return_status => l_return_status);
2872: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2873: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2874: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2875: RAISE OKL_API.G_EXCEPTION_ERROR;
2876: END IF;
2869: p_end_date => l_cash_inflow_strms_tbl(cin_index).cf_date,
2870: p_arrears => 'N',
2871: x_return_status => l_return_status);
2872: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2873: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2874: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2875: RAISE OKL_API.G_EXCEPTION_ERROR;
2876: END IF;
2877:
2870: p_arrears => 'N',
2871: x_return_status => l_return_status);
2872: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2873: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2874: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2875: RAISE OKL_API.G_EXCEPTION_ERROR;
2876: END IF;
2877:
2878: -- cf_dpp, cf_ppy, cf_periods are being populated
2871: x_return_status => l_return_status);
2872: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2873: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2874: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2875: RAISE OKL_API.G_EXCEPTION_ERROR;
2876: END IF;
2877:
2878: -- cf_dpp, cf_ppy, cf_periods are being populated
2879: IF p_day_count_method <> 'THIRTY'
2897: p_start_date => l_period_start_date,
2898: p_end_date => l_period_end_date,
2899: p_arrears => 'Y',
2900: x_return_status => l_return_status);
2901: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2902: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2903: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2904: RAISE OKL_API.G_EXCEPTION_ERROR;
2905: END IF;
2898: p_end_date => l_period_end_date,
2899: p_arrears => 'Y',
2900: x_return_status => l_return_status);
2901: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2902: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2903: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2904: RAISE OKL_API.G_EXCEPTION_ERROR;
2905: END IF;
2906: END IF; -- If p_day_convention <> 'THIRTY'
2899: p_arrears => 'Y',
2900: x_return_status => l_return_status);
2901: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2902: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2903: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2904: RAISE OKL_API.G_EXCEPTION_ERROR;
2905: END IF;
2906: END IF; -- If p_day_convention <> 'THIRTY'
2907: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2900: x_return_status => l_return_status);
2901: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2902: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2903: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2904: RAISE OKL_API.G_EXCEPTION_ERROR;
2905: END IF;
2906: END IF; -- If p_day_convention <> 'THIRTY'
2907: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2908: ROUND(l_cash_inflow_strms_tbl(cin_index).cf_rate,4) || '|' || l_cash_inflow_strms_tbl(cin_index).cf_date
2927: p_start_date => p_start_date,
2928: p_end_date => px_pricing_parameter_tbl(i).line_end_date,
2929: p_arrears => 'N',
2930: x_return_status => l_return_status);
2931: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2932: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2933: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2934: RAISE OKL_API.G_EXCEPTION_ERROR;
2935: END IF;
2928: p_end_date => px_pricing_parameter_tbl(i).line_end_date,
2929: p_arrears => 'N',
2930: x_return_status => l_return_status);
2931: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2932: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2933: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2934: RAISE OKL_API.G_EXCEPTION_ERROR;
2935: END IF;
2936: -- Use the cash inflows cf_dpp as the cf_dpp for outflows too,
2929: p_arrears => 'N',
2930: x_return_status => l_return_status);
2931: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2932: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2933: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2934: RAISE OKL_API.G_EXCEPTION_ERROR;
2935: END IF;
2936: -- Use the cash inflows cf_dpp as the cf_dpp for outflows too,
2937: -- instead of calculation of the cf_dpp for ACT365/ ACTUAL day count methods pricing
2930: x_return_status => l_return_status);
2931: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2932: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2933: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2934: RAISE OKL_API.G_EXCEPTION_ERROR;
2935: END IF;
2936: -- Use the cash inflows cf_dpp as the cf_dpp for outflows too,
2937: -- instead of calculation of the cf_dpp for ACT365/ ACTUAL day count methods pricing
2938: l_cash_outflow_strms_tbl(cout_index).cf_dpp :=
2972: THEN
2973: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2974: 'Unable to calculate the IRR l_adv_inf_payment= ' || round(l_adv_inf_payment, 4)
2975: || 'l_time_zero_cost = ' || round( l_time_zero_cost, 4) );
2976: OKL_API.SET_MESSAGE (
2977: p_app_name => G_APP_NAME,
2978: p_msg_name => 'OKL_IRR_CALC_INF_LOOP',
2979: p_token1 => 'ADV_AMOUNT',
2980: p_token1_value => l_adv_inf_payment,
2979: p_token1 => 'ADV_AMOUNT',
2980: p_token1_value => l_adv_inf_payment,
2981: p_token2 => 'CAPITAL_AMOUNT',
2982: p_token2_value => l_time_zero_cost);
2983: RAISE OKL_API.G_EXCEPTION_ERROR;
2984: END IF;
2985: -- 30/ Validate Currency code and Precision ...
2986: IF p_currency_code IS NOT NULL
2987: THEN
2995: IF l_precision IS NULL
2996: THEN
2997: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2998: ': ' || 'Precision is not mentioned !' );
2999: OKL_API.set_message(
3000: p_app_name => G_APP_NAME,
3001: p_msg_name => OKL_API.G_REQUIRED_VALUE,
3002: p_token1 => OKL_API.G_COL_NAME_TOKEN,
3003: p_token1_value => 'CURRENCY_CODE');
2997: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
2998: ': ' || 'Precision is not mentioned !' );
2999: OKL_API.set_message(
3000: p_app_name => G_APP_NAME,
3001: p_msg_name => OKL_API.G_REQUIRED_VALUE,
3002: p_token1 => OKL_API.G_COL_NAME_TOKEN,
3003: p_token1_value => 'CURRENCY_CODE');
3004: RAISE OKL_API.G_EXCEPTION_ERROR;
3005: END IF;
2998: ': ' || 'Precision is not mentioned !' );
2999: OKL_API.set_message(
3000: p_app_name => G_APP_NAME,
3001: p_msg_name => OKL_API.G_REQUIRED_VALUE,
3002: p_token1 => OKL_API.G_COL_NAME_TOKEN,
3003: p_token1_value => 'CURRENCY_CODE');
3004: RAISE OKL_API.G_EXCEPTION_ERROR;
3005: END IF;
3006: -- Setting up all for the MAIN Loop ....
3000: p_app_name => G_APP_NAME,
3001: p_msg_name => OKL_API.G_REQUIRED_VALUE,
3002: p_token1 => OKL_API.G_COL_NAME_TOKEN,
3003: p_token1_value => 'CURRENCY_CODE');
3004: RAISE OKL_API.G_EXCEPTION_ERROR;
3005: END IF;
3006: -- Setting up all for the MAIN Loop ....
3007: -- Setting the IRR limit
3008: l_irr_limit := ROUND(NVL(ABS(fnd_profile.value('OKL_PRE_TAX_IRR_LIMIT')), 1000), 0)/100;
3065: END IF;
3066: -- Now, calculate the Present Value of the Residual Value Cash Inflow
3067: IF (l_rate /l_cf_ppy = -1) or ((l_periods < 1) AND (l_rate /l_cf_ppy <= -1))
3068: THEN
3069: OKL_API.SET_MESSAGE (
3070: p_app_name => G_APP_NAME,
3071: p_msg_name => 'OKL_IRR_ZERO_DIV');
3072: l_return_status := OKL_API.G_RET_STS_ERROR;
3073: RAISE OKL_API.G_EXCEPTION_ERROR;
3068: THEN
3069: OKL_API.SET_MESSAGE (
3070: p_app_name => G_APP_NAME,
3071: p_msg_name => 'OKL_IRR_ZERO_DIV');
3072: l_return_status := OKL_API.G_RET_STS_ERROR;
3073: RAISE OKL_API.G_EXCEPTION_ERROR;
3074: END IF;
3075: l_disc_rate := 1 / POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3076: l_temp_amount := l_cf_amount * l_disc_rate;
3069: OKL_API.SET_MESSAGE (
3070: p_app_name => G_APP_NAME,
3071: p_msg_name => 'OKL_IRR_ZERO_DIV');
3072: l_return_status := OKL_API.G_RET_STS_ERROR;
3073: RAISE OKL_API.G_EXCEPTION_ERROR;
3074: END IF;
3075: l_disc_rate := 1 / POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3076: l_temp_amount := l_cf_amount * l_disc_rate;
3077: l_npv := l_npv + nvl(l_temp_amount,0);
3126: THEN
3127: l_rate := l_irr;
3128: IF (l_rate /l_cf_ppy = -1) or ((l_periods < 1) AND (l_rate /l_cf_ppy <= -1))
3129: THEN
3130: OKL_API.SET_MESSAGE (
3131: p_app_name => G_APP_NAME,
3132: p_msg_name => 'OKL_IRR_ZERO_DIV');
3133: l_return_status := OKL_API.G_RET_STS_ERROR;
3134: RAISE OKL_API.G_EXCEPTION_ERROR;
3129: THEN
3130: OKL_API.SET_MESSAGE (
3131: p_app_name => G_APP_NAME,
3132: p_msg_name => 'OKL_IRR_ZERO_DIV');
3133: l_return_status := OKL_API.G_RET_STS_ERROR;
3134: RAISE OKL_API.G_EXCEPTION_ERROR;
3135: END IF;
3136: -- Now, calculate the Present Value of the Cash Inflows
3137: l_disc_rate := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3130: OKL_API.SET_MESSAGE (
3131: p_app_name => G_APP_NAME,
3132: p_msg_name => 'OKL_IRR_ZERO_DIV');
3133: l_return_status := OKL_API.G_RET_STS_ERROR;
3134: RAISE OKL_API.G_EXCEPTION_ERROR;
3135: END IF;
3136: -- Now, calculate the Present Value of the Cash Inflows
3137: l_disc_rate := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3138: l_temp_amount := l_cf_amount * l_disc_rate;
3149: -- Rate given, need to solve for Payment
3150: l_rate := l_cash_inflow_strms_tbl(cin_index).cf_rate;
3151: IF (l_rate /l_cf_ppy = -1) or ((l_periods < 1) AND (l_rate /l_cf_ppy <= -1))
3152: THEN
3153: OKL_API.SET_MESSAGE (
3154: p_app_name => G_APP_NAME,
3155: p_msg_name => 'OKL_IRR_ZERO_DIV');
3156: l_return_status := OKL_API.G_RET_STS_ERROR;
3157: RAISE OKL_API.G_EXCEPTION_ERROR;
3152: THEN
3153: OKL_API.SET_MESSAGE (
3154: p_app_name => G_APP_NAME,
3155: p_msg_name => 'OKL_IRR_ZERO_DIV');
3156: l_return_status := OKL_API.G_RET_STS_ERROR;
3157: RAISE OKL_API.G_EXCEPTION_ERROR;
3158: END IF;
3159: l_term_interest := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3160: l_acc_term_interest := l_acc_term_interest + l_term_interest;
3153: OKL_API.SET_MESSAGE (
3154: p_app_name => G_APP_NAME,
3155: p_msg_name => 'OKL_IRR_ZERO_DIV');
3156: l_return_status := OKL_API.G_RET_STS_ERROR;
3157: RAISE OKL_API.G_EXCEPTION_ERROR;
3158: END IF;
3159: l_term_interest := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3160: l_acc_term_interest := l_acc_term_interest + l_term_interest;
3161: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3217: THEN
3218: l_rate := l_irr;
3219: IF (l_rate /l_cf_ppy = -1) or ((l_periods < 1) AND (l_rate /l_cf_ppy <= -1))
3220: THEN
3221: OKL_API.SET_MESSAGE (
3222: p_app_name => G_APP_NAME,
3223: p_msg_name => 'OKL_IRR_ZERO_DIV');
3224: l_return_status := OKL_API.G_RET_STS_ERROR;
3225: RAISE OKL_API.G_EXCEPTION_ERROR;
3220: THEN
3221: OKL_API.SET_MESSAGE (
3222: p_app_name => G_APP_NAME,
3223: p_msg_name => 'OKL_IRR_ZERO_DIV');
3224: l_return_status := OKL_API.G_RET_STS_ERROR;
3225: RAISE OKL_API.G_EXCEPTION_ERROR;
3226: END IF;
3227: -- Now, calculate the Present Value of the Cash Inflows
3228: l_disc_rate := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3221: OKL_API.SET_MESSAGE (
3222: p_app_name => G_APP_NAME,
3223: p_msg_name => 'OKL_IRR_ZERO_DIV');
3224: l_return_status := OKL_API.G_RET_STS_ERROR;
3225: RAISE OKL_API.G_EXCEPTION_ERROR;
3226: END IF;
3227: -- Now, calculate the Present Value of the Cash Inflows
3228: l_disc_rate := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3229: l_temp_amount := l_cf_amount * l_disc_rate;
3240: -- Rate given, need to solve for Payment
3241: l_rate := l_cash_outflow_strms_tbl(cout_index).cf_rate;
3242: IF (l_rate /l_cf_ppy = -1) or ((l_periods < 1) AND (l_rate /l_cf_ppy <= -1))
3243: THEN
3244: OKL_API.SET_MESSAGE (
3245: p_app_name => G_APP_NAME,
3246: p_msg_name => 'OKL_IRR_ZERO_DIV');
3247: l_return_status := OKL_API.G_RET_STS_ERROR;
3248: RAISE OKL_API.G_EXCEPTION_ERROR;
3243: THEN
3244: OKL_API.SET_MESSAGE (
3245: p_app_name => G_APP_NAME,
3246: p_msg_name => 'OKL_IRR_ZERO_DIV');
3247: l_return_status := OKL_API.G_RET_STS_ERROR;
3248: RAISE OKL_API.G_EXCEPTION_ERROR;
3249: END IF;
3250: l_term_interest := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3251: l_acc_term_interest := l_acc_term_interest + l_term_interest;
3244: OKL_API.SET_MESSAGE (
3245: p_app_name => G_APP_NAME,
3246: p_msg_name => 'OKL_IRR_ZERO_DIV');
3247: l_return_status := OKL_API.G_RET_STS_ERROR;
3248: RAISE OKL_API.G_EXCEPTION_ERROR;
3249: END IF;
3250: l_term_interest := 1/ POWER((1 + l_rate /(l_cf_ppy)), l_periods);
3251: l_acc_term_interest := l_acc_term_interest + l_term_interest;
3252: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3288: THEN
3289: -- Calculate the Payment and exit .. ..( NO LOOPING ...)
3290: IF ROUND( l_acc_term_interest, l_precision + 4 ) = 0
3291: THEN
3292: OKL_API.SET_MESSAGE (
3293: p_app_name => G_APP_NAME,
3294: p_msg_name => 'OKL_IRR_ZERO_DIV');
3295: l_return_status := OKL_API.G_RET_STS_ERROR;
3296: EXIT WHEN (l_return_status = OKL_API.G_RET_STS_ERROR);
3291: THEN
3292: OKL_API.SET_MESSAGE (
3293: p_app_name => G_APP_NAME,
3294: p_msg_name => 'OKL_IRR_ZERO_DIV');
3295: l_return_status := OKL_API.G_RET_STS_ERROR;
3296: EXIT WHEN (l_return_status = OKL_API.G_RET_STS_ERROR);
3297: END IF;
3298: x_payment := -l_npv/ l_acc_term_interest;
3299: px_irr := l_irr;
3292: OKL_API.SET_MESSAGE (
3293: p_app_name => G_APP_NAME,
3294: p_msg_name => 'OKL_IRR_ZERO_DIV');
3295: l_return_status := OKL_API.G_RET_STS_ERROR;
3296: EXIT WHEN (l_return_status = OKL_API.G_RET_STS_ERROR);
3297: END IF;
3298: x_payment := -l_npv/ l_acc_term_interest;
3299: px_irr := l_irr;
3300: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3386: -- If IRR exceeded the limit set in the profile, then raise an error
3387: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3388: 'l_irr ' || round( l_irr, 4 ) );
3389: IF ABS(l_irr) > l_irr_limit THEN
3390: OKL_API.SET_MESSAGE (
3391: p_app_name => G_APP_NAME,
3392: p_msg_name => 'OKL_IRR_CALC_IRR_LIMIT',
3393: p_token1 => 'IRR_LIMIT',
3394: p_token1_value => l_irr_limit*100);
3391: p_app_name => G_APP_NAME,
3392: p_msg_name => 'OKL_IRR_CALC_IRR_LIMIT',
3393: p_token1 => 'IRR_LIMIT',
3394: p_token1_value => l_irr_limit*100);
3395: x_return_status := OKL_API.G_RET_STS_ERROR;
3396: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3397: '---------------- IRR crossed the limit --------------------------- ' );
3398: RAISE OKL_API.G_EXCEPTION_ERROR;
3399: --EXIT WHEN (x_return_status = OKL_API.G_RET_STS_ERROR);
3394: p_token1_value => l_irr_limit*100);
3395: x_return_status := OKL_API.G_RET_STS_ERROR;
3396: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3397: '---------------- IRR crossed the limit --------------------------- ' );
3398: RAISE OKL_API.G_EXCEPTION_ERROR;
3399: --EXIT WHEN (x_return_status = OKL_API.G_RET_STS_ERROR);
3400: END IF;
3401: l_prev_incr_sign := SIGN(l_increment_rate);
3402: l_prev_npv_sign := SIGN(l_npv);
3395: x_return_status := OKL_API.G_RET_STS_ERROR;
3396: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3397: '---------------- IRR crossed the limit --------------------------- ' );
3398: RAISE OKL_API.G_EXCEPTION_ERROR;
3399: --EXIT WHEN (x_return_status = OKL_API.G_RET_STS_ERROR);
3400: END IF;
3401: l_prev_incr_sign := SIGN(l_increment_rate);
3402: l_prev_npv_sign := SIGN(l_npv);
3403: l_prev_npv := l_npv;
3404: END IF;
3405: END LOOP; -- (Loop on n_iterations .. )
3406: -- Setting up the return variables
3407: x_return_status := l_return_status;
3408: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
3409: x_msg_data => x_msg_data);
3410: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3411: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
3412: EXCEPTION
3409: x_msg_data => x_msg_data);
3410: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3411: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
3412: EXCEPTION
3413: WHEN OKL_API.G_EXCEPTION_ERROR THEN
3414: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3415: p_api_name => l_api_name,
3416: p_pkg_name => G_PKG_NAME,
3417: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3410: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3411: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
3412: EXCEPTION
3413: WHEN OKL_API.G_EXCEPTION_ERROR THEN
3414: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3415: p_api_name => l_api_name,
3416: p_pkg_name => G_PKG_NAME,
3417: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3418: x_msg_count => x_msg_count,
3413: WHEN OKL_API.G_EXCEPTION_ERROR THEN
3414: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3415: p_api_name => l_api_name,
3416: p_pkg_name => G_PKG_NAME,
3417: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3418: x_msg_count => x_msg_count,
3419: x_msg_data => x_msg_data,
3420: p_api_type => g_api_type);
3421: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3417: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3418: x_msg_count => x_msg_count,
3419: x_msg_data => x_msg_data,
3420: p_api_type => g_api_type);
3421: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3422: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3423: p_api_name => l_api_name,
3424: p_pkg_name => G_PKG_NAME,
3425: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
3418: x_msg_count => x_msg_count,
3419: x_msg_data => x_msg_data,
3420: p_api_type => g_api_type);
3421: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3422: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3423: p_api_name => l_api_name,
3424: p_pkg_name => G_PKG_NAME,
3425: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
3426: x_msg_count => x_msg_count,
3421: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3422: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3423: p_api_name => l_api_name,
3424: p_pkg_name => G_PKG_NAME,
3425: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
3426: x_msg_count => x_msg_count,
3427: x_msg_data => x_msg_data,
3428: p_api_type => g_api_type);
3429: WHEN OTHERS THEN
3426: x_msg_count => x_msg_count,
3427: x_msg_data => x_msg_data,
3428: p_api_type => g_api_type);
3429: WHEN OTHERS THEN
3430: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3431: p_api_name => l_api_name,
3432: p_pkg_name => G_PKG_NAME,
3433: p_exc_name => 'OTHERS',
3434: x_msg_count => x_msg_count,
3484: l_days_per_annum NUMBER;
3485: l_interest_factor NUMBER;
3486: l_residual_percent NUMBER;
3487: BEGIN
3488: l_return_status := OKL_API.G_RET_STS_SUCCESS;
3489: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
3490: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
3491:
3492: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3494: -- check for logging on STATEMENT level
3495: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
3496: -- Call START_ACTIVITY to create savepoint, check compatibility
3497: -- and initialize message list
3498: l_return_status := OKL_API.START_ACTIVITY(
3499: p_api_name => l_api_name,
3500: p_pkg_name => G_PKG_NAME,
3501: p_init_msg_list => p_init_msg_list,
3502: l_api_version => l_api_version,
3503: p_api_version => p_api_version,
3504: p_api_type => g_api_type,
3505: x_return_status => x_return_status);
3506: --Check if activity started successfully
3507: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3508: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3509: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3510: RAISE OKL_API.G_EXCEPTION_ERROR;
3511: END IF;
3504: p_api_type => g_api_type,
3505: x_return_status => x_return_status);
3506: --Check if activity started successfully
3507: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3508: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3509: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3510: RAISE OKL_API.G_EXCEPTION_ERROR;
3511: END IF;
3512: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','-Start' );
3505: x_return_status => x_return_status);
3506: --Check if activity started successfully
3507: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3508: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3509: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3510: RAISE OKL_API.G_EXCEPTION_ERROR;
3511: END IF;
3512: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','-Start' );
3513: get_days_in_year_and_month(
3506: --Check if activity started successfully
3507: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3508: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3509: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3510: RAISE OKL_API.G_EXCEPTION_ERROR;
3511: END IF;
3512: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','-Start' );
3513: get_days_in_year_and_month(
3514: p_day_count_method => p_day_count_method,
3515: x_days_in_month => l_days_in_month,
3516: x_days_in_year => l_days_in_year,
3517: x_return_status => l_return_status);
3518: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3522: RAISE OKL_API.G_EXCEPTION_ERROR;
3523: END IF;
3516: x_days_in_year => l_days_in_year,
3517: x_return_status => l_return_status);
3518: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3522: RAISE OKL_API.G_EXCEPTION_ERROR;
3523: END IF;
3524: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3517: x_return_status => l_return_status);
3518: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3522: RAISE OKL_API.G_EXCEPTION_ERROR;
3523: END IF;
3524: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3525: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
3518: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3522: RAISE OKL_API.G_EXCEPTION_ERROR;
3523: END IF;
3524: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3525: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
3526: -- Initializations
3534: THEN
3535: -- Not handling other pricing scenarios as of now
3536: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3537: 'Compute_iir_sfp currently supports only Solve for Financed Amount EOT Percent Pricing method only' );
3538: OKL_API.SET_MESSAGE (
3539: p_app_name => G_APP_NAME,
3540: p_msg_name => 'OKL_LP_INVALID_PRICING_METHOD');
3541: RAISE OKL_API.G_EXCEPTION_ERROR;
3542: END IF;
3537: 'Compute_iir_sfp currently supports only Solve for Financed Amount EOT Percent Pricing method only' );
3538: OKL_API.SET_MESSAGE (
3539: p_app_name => G_APP_NAME,
3540: p_msg_name => 'OKL_LP_INVALID_PRICING_METHOD');
3541: RAISE OKL_API.G_EXCEPTION_ERROR;
3542: END IF;
3543: IF px_pricing_parameter_rec.cash_inflows IS NOT NULL AND
3544: px_pricing_parameter_rec.cash_inflows.COUNT > 0
3545: THEN
3562: p_start_date => l_next_cif_date,
3563: p_end_date => l_cash_inflows_tbl(i).cf_date,
3564: p_arrears => l_cash_inflows_tbl(i).is_arrears,
3565: x_return_status => l_return_status);
3566: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3567: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3568: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3569: RAISE OKL_API.G_EXCEPTION_ERROR;
3570: END IF;
3563: p_end_date => l_cash_inflows_tbl(i).cf_date,
3564: p_arrears => l_cash_inflows_tbl(i).is_arrears,
3565: x_return_status => l_return_status);
3566: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3567: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3568: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3569: RAISE OKL_API.G_EXCEPTION_ERROR;
3570: END IF;
3571: IF ( l_cash_inflows_tbl(i).cf_purpose = 'UNSCHEDULED_PRINCIPAL_PAYMENT')
3564: p_arrears => l_cash_inflows_tbl(i).is_arrears,
3565: x_return_status => l_return_status);
3566: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3567: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3568: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3569: RAISE OKL_API.G_EXCEPTION_ERROR;
3570: END IF;
3571: IF ( l_cash_inflows_tbl(i).cf_purpose = 'UNSCHEDULED_PRINCIPAL_PAYMENT')
3572: THEN
3565: x_return_status => l_return_status);
3566: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3567: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3568: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3569: RAISE OKL_API.G_EXCEPTION_ERROR;
3570: END IF;
3571: IF ( l_cash_inflows_tbl(i).cf_purpose = 'UNSCHEDULED_PRINCIPAL_PAYMENT')
3572: THEN
3573: l_cash_inflows_tbl(i).cf_purpose := 'P';
3582: p_day_convention => p_day_count_method,
3583: p_start_date => p_start_date,
3584: p_cash_inflow_date => l_cash_inflows_tbl(i).cf_date,
3585: x_return_status => l_return_status );
3586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3589: RAISE OKL_API.G_EXCEPTION_ERROR;
3590: END IF;
3583: p_start_date => p_start_date,
3584: p_cash_inflow_date => l_cash_inflows_tbl(i).cf_date,
3585: x_return_status => l_return_status );
3586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3589: RAISE OKL_API.G_EXCEPTION_ERROR;
3590: END IF;
3591: -- Sum the Interest based on the capitalized amount
3584: p_cash_inflow_date => l_cash_inflows_tbl(i).cf_date,
3585: x_return_status => l_return_status );
3586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3589: RAISE OKL_API.G_EXCEPTION_ERROR;
3590: END IF;
3591: -- Sum the Interest based on the capitalized amount
3592: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3585: x_return_status => l_return_status );
3586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3589: RAISE OKL_API.G_EXCEPTION_ERROR;
3590: END IF;
3591: -- Sum the Interest based on the capitalized amount
3592: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3593: l_cash_inflows_tbl(i).cf_date || '|' || round(l_cash_inflows_tbl(i).cf_amount,4)
3629: p_start_date => l_next_cif_date,
3630: p_end_date => l_residuals_tbl(res_index).cf_date,
3631: p_arrears => 'Y',
3632: x_return_status => l_return_status);
3633: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3634: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3635: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3636: RAISE OKL_API.G_EXCEPTION_ERROR;
3637: END IF;
3630: p_end_date => l_residuals_tbl(res_index).cf_date,
3631: p_arrears => 'Y',
3632: x_return_status => l_return_status);
3633: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3634: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3635: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3636: RAISE OKL_API.G_EXCEPTION_ERROR;
3637: END IF;
3638: END IF; -- IF l_next_cif_date >= l_residuals_tbl( res_index ).cf_date
3631: p_arrears => 'Y',
3632: x_return_status => l_return_status);
3633: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3634: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3635: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3636: RAISE OKL_API.G_EXCEPTION_ERROR;
3637: END IF;
3638: END IF; -- IF l_next_cif_date >= l_residuals_tbl( res_index ).cf_date
3639: l_next_cif_date := l_residuals_tbl( res_index ).cf_date;
3632: x_return_status => l_return_status);
3633: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3634: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3635: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3636: RAISE OKL_API.G_EXCEPTION_ERROR;
3637: END IF;
3638: END IF; -- IF l_next_cif_date >= l_residuals_tbl( res_index ).cf_date
3639: l_next_cif_date := l_residuals_tbl( res_index ).cf_date;
3640: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3673: p_day_convention => p_day_count_method,
3674: p_start_date => p_start_date,
3675: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
3676: x_return_status => l_return_status );
3677: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3678: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3679: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3680: RAISE OKL_API.G_EXCEPTION_ERROR;
3681: END IF;
3674: p_start_date => p_start_date,
3675: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
3676: x_return_status => l_return_status );
3677: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3678: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3679: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3680: RAISE OKL_API.G_EXCEPTION_ERROR;
3681: END IF;
3682: -- Sum the Residual Percentage. Cf_amount will be storing the percentages
3675: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
3676: x_return_status => l_return_status );
3677: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3678: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3679: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3680: RAISE OKL_API.G_EXCEPTION_ERROR;
3681: END IF;
3682: -- Sum the Residual Percentage. Cf_amount will be storing the percentages
3683: -- instead of directly the amounts
3676: x_return_status => l_return_status );
3677: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3678: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3679: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3680: RAISE OKL_API.G_EXCEPTION_ERROR;
3681: END IF;
3682: -- Sum the Residual Percentage. Cf_amount will be storing the percentages
3683: -- instead of directly the amounts
3684: l_residual_percent := l_residual_percent + nvl( l_residuals_tbl(res_index).cf_amount, 0);
3709: p_day_convention => p_day_count_method,
3710: p_start_date => p_start_date,
3711: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
3712: x_return_status => l_return_status );
3713: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3714: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3715: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3716: RAISE OKL_API.G_EXCEPTION_ERROR;
3717: END IF;
3710: p_start_date => p_start_date,
3711: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
3712: x_return_status => l_return_status );
3713: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3714: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3715: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3716: RAISE OKL_API.G_EXCEPTION_ERROR;
3717: END IF;
3718: l_rate := 1 + ( l_cash_inflows_tbl(cf_index).cf_days *
3711: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
3712: x_return_status => l_return_status );
3713: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3714: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3715: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3716: RAISE OKL_API.G_EXCEPTION_ERROR;
3717: END IF;
3718: l_rate := 1 + ( l_cash_inflows_tbl(cf_index).cf_days *
3719: l_cash_inflows_tbl(cf_index).cf_rate /l_days_per_annum );
3712: x_return_status => l_return_status );
3713: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3714: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3715: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3716: RAISE OKL_API.G_EXCEPTION_ERROR;
3717: END IF;
3718: l_rate := 1 + ( l_cash_inflows_tbl(cf_index).cf_days *
3719: l_cash_inflows_tbl(cf_index).cf_rate /l_days_per_annum );
3720: -- Multiply this interest factor
3745: x_residual_int_factor := l_interest_factor;
3746: END IF;
3747: -- Set ther return values and return them !!
3748: x_return_status := l_return_status;
3749: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
3750: x_msg_data => x_msg_data);
3751: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3752: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
3753: EXCEPTION
3750: x_msg_data => x_msg_data);
3751: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3752: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
3753: EXCEPTION
3754: WHEN OKL_API.G_EXCEPTION_ERROR THEN
3755: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3756: p_api_name => l_api_name,
3757: p_pkg_name => G_PKG_NAME,
3758: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3751: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3752: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
3753: EXCEPTION
3754: WHEN OKL_API.G_EXCEPTION_ERROR THEN
3755: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3756: p_api_name => l_api_name,
3757: p_pkg_name => G_PKG_NAME,
3758: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3759: x_msg_count => x_msg_count,
3754: WHEN OKL_API.G_EXCEPTION_ERROR THEN
3755: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3756: p_api_name => l_api_name,
3757: p_pkg_name => G_PKG_NAME,
3758: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3759: x_msg_count => x_msg_count,
3760: x_msg_data => x_msg_data,
3761: p_api_type => g_api_type);
3762: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3758: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
3759: x_msg_count => x_msg_count,
3760: x_msg_data => x_msg_data,
3761: p_api_type => g_api_type);
3762: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3763: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3764: p_api_name => l_api_name,
3765: p_pkg_name => G_PKG_NAME,
3766: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
3759: x_msg_count => x_msg_count,
3760: x_msg_data => x_msg_data,
3761: p_api_type => g_api_type);
3762: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3763: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3764: p_api_name => l_api_name,
3765: p_pkg_name => G_PKG_NAME,
3766: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
3767: x_msg_count => x_msg_count,
3762: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3763: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3764: p_api_name => l_api_name,
3765: p_pkg_name => G_PKG_NAME,
3766: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
3767: x_msg_count => x_msg_count,
3768: x_msg_data => x_msg_data,
3769: p_api_type => g_api_type);
3770: WHEN OTHERS THEN
3767: x_msg_count => x_msg_count,
3768: x_msg_data => x_msg_data,
3769: p_api_type => g_api_type);
3770: WHEN OTHERS THEN
3771: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
3772: p_api_name => l_api_name,
3773: p_pkg_name => G_PKG_NAME,
3774: p_exc_name => 'OTHERS',
3775: x_msg_count => x_msg_count,
3845: l_days_per_annum NUMBER;
3846: l_interest_factor NUMBER;
3847: l_residual_percent NUMBER;
3848: BEGIN
3849: l_return_status := OKL_API.G_RET_STS_SUCCESS;
3850: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
3851: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
3852:
3853: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
3855: -- check for logging on STATEMENT level
3856: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
3857: -- Call START_ACTIVITY to create savepoint, check compatibility
3858: -- and initialize message list
3859: l_return_status := OKL_API.START_ACTIVITY(
3860: p_api_name => l_api_name,
3861: p_pkg_name => G_PKG_NAME,
3862: p_init_msg_list => p_init_msg_list,
3863: l_api_version => l_api_version,
3864: p_api_version => p_api_version,
3865: p_api_type => g_api_type,
3866: x_return_status => x_return_status);
3867: --Check if activity started successfully
3868: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3869: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3870: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3871: RAISE OKL_API.G_EXCEPTION_ERROR;
3872: END IF;
3865: p_api_type => g_api_type,
3866: x_return_status => x_return_status);
3867: --Check if activity started successfully
3868: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3869: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3870: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3871: RAISE OKL_API.G_EXCEPTION_ERROR;
3872: END IF;
3873: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','-Start' );
3866: x_return_status => x_return_status);
3867: --Check if activity started successfully
3868: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3869: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3870: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3871: RAISE OKL_API.G_EXCEPTION_ERROR;
3872: END IF;
3873: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','-Start' );
3874: get_days_in_year_and_month(
3867: --Check if activity started successfully
3868: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3869: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3870: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3871: RAISE OKL_API.G_EXCEPTION_ERROR;
3872: END IF;
3873: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','-Start' );
3874: get_days_in_year_and_month(
3875: p_day_count_method => p_day_count_method,
3876: x_days_in_month => l_days_in_month,
3877: x_days_in_year => l_days_in_year,
3878: x_return_status => l_return_status);
3879: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3880: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3881: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3882: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3883: RAISE OKL_API.G_EXCEPTION_ERROR;
3884: END IF;
3877: x_days_in_year => l_days_in_year,
3878: x_return_status => l_return_status);
3879: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3880: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3881: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3882: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3883: RAISE OKL_API.G_EXCEPTION_ERROR;
3884: END IF;
3885: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3878: x_return_status => l_return_status);
3879: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3880: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3881: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3882: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3883: RAISE OKL_API.G_EXCEPTION_ERROR;
3884: END IF;
3885: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3886: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
3879: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S','After get_day_count_method ' || l_return_status);
3880: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3881: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3882: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3883: RAISE OKL_API.G_EXCEPTION_ERROR;
3884: END IF;
3885: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3886: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
3887: -- Initializations
3914: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3915: 'Compute_iir currently supports only Solve for Payment, Solve for Financed Amount, ' );
3916: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3917: 'Solve for Subsidy, Solve for Subsidy, Down Payment, Tradein, Missing Payment Pricing Scenarios only, Target Rate ( IIR) ' );
3918: OKL_API.SET_MESSAGE (
3919: p_app_name => G_APP_NAME,
3920: p_msg_name => 'OKL_LP_INVALID_PRICING_METHOD');
3921: RAISE OKL_API.G_EXCEPTION_ERROR;
3922: END IF;
3917: 'Solve for Subsidy, Solve for Subsidy, Down Payment, Tradein, Missing Payment Pricing Scenarios only, Target Rate ( IIR) ' );
3918: OKL_API.SET_MESSAGE (
3919: p_app_name => G_APP_NAME,
3920: p_msg_name => 'OKL_LP_INVALID_PRICING_METHOD');
3921: RAISE OKL_API.G_EXCEPTION_ERROR;
3922: END IF;
3923: IF p_pricing_method = 'SP' OR
3924: p_pricing_method = 'SY' OR
3925: p_pricing_method = 'SM' OR
3934: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3935: 'Financed Amount cannot be null .. Pricing Method '|| p_pricing_method );
3936: -- Raise an Error
3937:
3938: RAISE OKL_API.G_EXCEPTION_ERROR;
3939: END IF;
3940: -- The cash inflows should have rate populated !
3941: FOR t IN px_pricing_parameter_rec.cash_inflows.FIRST ..
3942: px_pricing_parameter_rec.cash_inflows.LAST
3946: THEN
3947: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
3948: 'Streams Passed are not having the Rate. Pricing Method '|| p_pricing_method );
3949: -- Raise an Error
3950: OKL_API.set_message(
3951: G_APP_NAME,
3952: OKL_API.G_INVALID_VALUE,
3953: OKL_API.G_COL_NAME_TOKEN,
3954: 'CF_RATE');
3948: 'Streams Passed are not having the Rate. Pricing Method '|| p_pricing_method );
3949: -- Raise an Error
3950: OKL_API.set_message(
3951: G_APP_NAME,
3952: OKL_API.G_INVALID_VALUE,
3953: OKL_API.G_COL_NAME_TOKEN,
3954: 'CF_RATE');
3955: RAISE OKL_API.G_EXCEPTION_ERROR;
3956: END IF;
3949: -- Raise an Error
3950: OKL_API.set_message(
3951: G_APP_NAME,
3952: OKL_API.G_INVALID_VALUE,
3953: OKL_API.G_COL_NAME_TOKEN,
3954: 'CF_RATE');
3955: RAISE OKL_API.G_EXCEPTION_ERROR;
3956: END IF;
3957: END LOOP;
3951: G_APP_NAME,
3952: OKL_API.G_INVALID_VALUE,
3953: OKL_API.G_COL_NAME_TOKEN,
3954: 'CF_RATE');
3955: RAISE OKL_API.G_EXCEPTION_ERROR;
3956: END IF;
3957: END LOOP;
3958: END IF;
3959: IF p_pricing_method = 'SF' AND
3972: -- and Residual Value properly atleast
3973: IF px_pricing_parameter_rec.financed_amount IS NULL
3974: THEN
3975: -- Raise an Error
3976: RAISE OKL_API.G_EXCEPTION_ERROR;
3977: END IF;
3978: END IF;
3979: -- Calculate the Investment ..
3980: -- C - S - D - T
4007: p_start_date => l_next_cif_date,
4008: p_end_date => l_cash_inflows_tbl(i).cf_date,
4009: p_arrears => l_cash_inflows_tbl(i).is_arrears,
4010: x_return_status => l_return_status);
4011: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4012: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4013: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4014: RAISE OKL_API.G_EXCEPTION_ERROR;
4015: END IF;
4008: p_end_date => l_cash_inflows_tbl(i).cf_date,
4009: p_arrears => l_cash_inflows_tbl(i).is_arrears,
4010: x_return_status => l_return_status);
4011: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4012: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4013: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4014: RAISE OKL_API.G_EXCEPTION_ERROR;
4015: END IF;
4016: IF ( l_cash_inflows_tbl(i).cf_purpose = 'UNSCHEDULED_PRINCIPAL_PAYMENT')
4009: p_arrears => l_cash_inflows_tbl(i).is_arrears,
4010: x_return_status => l_return_status);
4011: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4012: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4013: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4014: RAISE OKL_API.G_EXCEPTION_ERROR;
4015: END IF;
4016: IF ( l_cash_inflows_tbl(i).cf_purpose = 'UNSCHEDULED_PRINCIPAL_PAYMENT')
4017: THEN
4010: x_return_status => l_return_status);
4011: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4012: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4013: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4014: RAISE OKL_API.G_EXCEPTION_ERROR;
4015: END IF;
4016: IF ( l_cash_inflows_tbl(i).cf_purpose = 'UNSCHEDULED_PRINCIPAL_PAYMENT')
4017: THEN
4018: l_cash_inflows_tbl(i).cf_purpose := 'P';
4032: p_day_convention => p_day_count_method,
4033: p_start_date => p_start_date,
4034: p_cash_inflow_date => l_cash_inflows_tbl(i).cf_date,
4035: x_return_status => l_return_status );
4036: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4037: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4038: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4039: RAISE OKL_API.G_EXCEPTION_ERROR;
4040: END IF;
4033: p_start_date => p_start_date,
4034: p_cash_inflow_date => l_cash_inflows_tbl(i).cf_date,
4035: x_return_status => l_return_status );
4036: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4037: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4038: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4039: RAISE OKL_API.G_EXCEPTION_ERROR;
4040: END IF;
4041: -- Sum the Interest based on the capitalized amount
4034: p_cash_inflow_date => l_cash_inflows_tbl(i).cf_date,
4035: x_return_status => l_return_status );
4036: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4037: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4038: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4039: RAISE OKL_API.G_EXCEPTION_ERROR;
4040: END IF;
4041: -- Sum the Interest based on the capitalized amount
4042: l_interest := l_interest +
4035: x_return_status => l_return_status );
4036: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4037: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4038: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4039: RAISE OKL_API.G_EXCEPTION_ERROR;
4040: END IF;
4041: -- Sum the Interest based on the capitalized amount
4042: l_interest := l_interest +
4043: (l_investment * l_cash_inflows_tbl(i).cf_rate * l_cash_inflows_tbl(i).cf_days / l_days_per_annum );
4083: p_start_date => l_next_cif_date,
4084: p_end_date => l_residuals_tbl(res_index).cf_date,
4085: p_arrears => 'Y',
4086: x_return_status => l_return_status);
4087: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4088: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4089: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4090: RAISE OKL_API.G_EXCEPTION_ERROR;
4091: END IF;
4084: p_end_date => l_residuals_tbl(res_index).cf_date,
4085: p_arrears => 'Y',
4086: x_return_status => l_return_status);
4087: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4088: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4089: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4090: RAISE OKL_API.G_EXCEPTION_ERROR;
4091: END IF;
4092: END IF; -- IF l_next_cif_date >= l_residuals_tbl( res_index ).cf_date
4085: p_arrears => 'Y',
4086: x_return_status => l_return_status);
4087: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4088: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4089: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4090: RAISE OKL_API.G_EXCEPTION_ERROR;
4091: END IF;
4092: END IF; -- IF l_next_cif_date >= l_residuals_tbl( res_index ).cf_date
4093: l_next_cif_date := l_residuals_tbl( res_index ).cf_date;
4086: x_return_status => l_return_status);
4087: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4088: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4089: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4090: RAISE OKL_API.G_EXCEPTION_ERROR;
4091: END IF;
4092: END IF; -- IF l_next_cif_date >= l_residuals_tbl( res_index ).cf_date
4093: l_next_cif_date := l_residuals_tbl( res_index ).cf_date;
4094: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4138: p_day_convention => p_day_count_method,
4139: p_start_date => p_start_date,
4140: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
4141: x_return_status => l_return_status );
4142: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4143: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4144: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4145: RAISE OKL_API.G_EXCEPTION_ERROR;
4146: END IF;
4139: p_start_date => p_start_date,
4140: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
4141: x_return_status => l_return_status );
4142: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4143: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4144: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4145: RAISE OKL_API.G_EXCEPTION_ERROR;
4146: END IF;
4147: l_rate := 1 + ( l_residuals_tbl(res_index).cf_days *
4140: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
4141: x_return_status => l_return_status );
4142: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4143: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4144: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4145: RAISE OKL_API.G_EXCEPTION_ERROR;
4146: END IF;
4147: l_rate := 1 + ( l_residuals_tbl(res_index).cf_days *
4148: l_residuals_tbl(res_index).cf_rate /l_days_per_annum );
4141: x_return_status => l_return_status );
4142: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4143: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4144: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4145: RAISE OKL_API.G_EXCEPTION_ERROR;
4146: END IF;
4147: l_rate := 1 + ( l_residuals_tbl(res_index).cf_days *
4148: l_residuals_tbl(res_index).cf_rate /l_days_per_annum );
4149: l_opening_bal := ( l_closing_bal + l_residuals_tbl(res_index).cf_amount ) / l_rate;
4176: p_day_convention => p_day_count_method,
4177: p_start_date => p_start_date,
4178: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
4179: x_return_status => l_return_status );
4180: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4181: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4182: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4183: RAISE OKL_API.G_EXCEPTION_ERROR;
4184: END IF;
4177: p_start_date => p_start_date,
4178: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
4179: x_return_status => l_return_status );
4180: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4181: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4182: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4183: RAISE OKL_API.G_EXCEPTION_ERROR;
4184: END IF;
4185: l_rate := 1 + ( l_cash_inflows_tbl(cf_index).cf_days *
4178: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
4179: x_return_status => l_return_status );
4180: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4181: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4182: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4183: RAISE OKL_API.G_EXCEPTION_ERROR;
4184: END IF;
4185: l_rate := 1 + ( l_cash_inflows_tbl(cf_index).cf_days *
4186: l_cash_inflows_tbl(cf_index).cf_rate /l_days_per_annum );
4179: x_return_status => l_return_status );
4180: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4181: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4182: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4183: RAISE OKL_API.G_EXCEPTION_ERROR;
4184: END IF;
4185: l_rate := 1 + ( l_cash_inflows_tbl(cf_index).cf_days *
4186: l_cash_inflows_tbl(cf_index).cf_rate /l_days_per_annum );
4187: -- Multiply this interest factor
4331: p_day_convention => p_day_count_method,
4332: p_start_date => p_start_date,
4333: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
4334: x_return_status => l_return_status );
4335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4338: RAISE OKL_API.G_EXCEPTION_ERROR;
4339: END IF;
4332: p_start_date => p_start_date,
4333: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
4334: x_return_status => l_return_status );
4335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4338: RAISE OKL_API.G_EXCEPTION_ERROR;
4339: END IF;
4340: IF ( l_cash_inflows_tbl(cf_index).cf_purpose = 'B' )
4333: p_cash_inflow_date => l_cash_inflows_tbl(cf_index).cf_date,
4334: x_return_status => l_return_status );
4335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4338: RAISE OKL_API.G_EXCEPTION_ERROR;
4339: END IF;
4340: IF ( l_cash_inflows_tbl(cf_index).cf_purpose = 'B' )
4341: THEN
4334: x_return_status => l_return_status );
4335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4338: RAISE OKL_API.G_EXCEPTION_ERROR;
4339: END IF;
4340: IF ( l_cash_inflows_tbl(cf_index).cf_purpose = 'B' )
4341: THEN
4342: l_interest := l_opening_bal * l_cash_inflows_tbl(cf_index).cf_days
4382: p_day_convention => p_day_count_method,
4383: p_start_date => p_start_date,
4384: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
4385: x_return_status => l_return_status );
4386: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4387: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4388: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4389: RAISE OKL_API.G_EXCEPTION_ERROR;
4390: END IF;
4383: p_start_date => p_start_date,
4384: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
4385: x_return_status => l_return_status );
4386: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4387: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4388: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4389: RAISE OKL_API.G_EXCEPTION_ERROR;
4390: END IF;
4391: l_interest := l_opening_bal * l_residuals_tbl(res_index).cf_days
4384: p_cash_inflow_date => l_residuals_tbl(res_index).cf_date,
4385: x_return_status => l_return_status );
4386: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4387: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4388: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4389: RAISE OKL_API.G_EXCEPTION_ERROR;
4390: END IF;
4391: l_interest := l_opening_bal * l_residuals_tbl(res_index).cf_days
4392: * l_rate /l_days_per_annum;
4385: x_return_status => l_return_status );
4386: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4387: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4388: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4389: RAISE OKL_API.G_EXCEPTION_ERROR;
4390: END IF;
4391: l_interest := l_opening_bal * l_residuals_tbl(res_index).cf_days
4392: * l_rate /l_days_per_annum;
4393: l_principal_payment := l_payment - l_interest;
4415: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4416: 'IMPLICIT INTEREST RATE =' || l_iir );
4417: px_iir := l_iir;
4418: END IF;
4419: x_return_status := OKL_API.G_RET_STS_SUCCESS;
4420:
4421: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
4422: x_msg_data => x_msg_data);
4423: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4417: px_iir := l_iir;
4418: END IF;
4419: x_return_status := OKL_API.G_RET_STS_SUCCESS;
4420:
4421: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
4422: x_msg_data => x_msg_data);
4423: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4424: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
4425: EXIT;
4560: l_iir := l_iir + l_increment;
4561: END IF;
4562: IF n_iterations > 100
4563: THEN
4564: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
4565: p_msg_name => 'OKL_IIR_CALC_IIR_LIMIT',
4566: p_token1 => 'IIR_LIMIT',
4567: p_token1_value => 100);
4568: RAISE OKL_API.G_EXCEPTION_ERROR;
4564: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
4565: p_msg_name => 'OKL_IIR_CALC_IIR_LIMIT',
4566: p_token1 => 'IIR_LIMIT',
4567: p_token1_value => 100);
4568: RAISE OKL_API.G_EXCEPTION_ERROR;
4569: END IF;
4570: l_prev_incr_sign := SIGN(l_increment);
4571: l_prev_diff_sign := SIGN(l_diff);
4572: l_prev_diff := l_diff;
4576: -- End of the Pricing Logic for Solve for Payments
4577: END IF; -- IF p_pricing_method ...
4578: -- Set ther return values and return them !!
4579: x_return_status := l_return_status;
4580: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
4581: x_msg_data => x_msg_data);
4582: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4583: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
4584: EXCEPTION
4581: x_msg_data => x_msg_data);
4582: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4583: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
4584: EXCEPTION
4585: WHEN OKL_API.G_EXCEPTION_ERROR THEN
4586: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4587: p_api_name => l_api_name,
4588: p_pkg_name => G_PKG_NAME,
4589: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4582: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4583: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
4584: EXCEPTION
4585: WHEN OKL_API.G_EXCEPTION_ERROR THEN
4586: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4587: p_api_name => l_api_name,
4588: p_pkg_name => G_PKG_NAME,
4589: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4590: x_msg_count => x_msg_count,
4585: WHEN OKL_API.G_EXCEPTION_ERROR THEN
4586: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4587: p_api_name => l_api_name,
4588: p_pkg_name => G_PKG_NAME,
4589: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4590: x_msg_count => x_msg_count,
4591: x_msg_data => x_msg_data,
4592: p_api_type => g_api_type);
4593: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4589: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4590: x_msg_count => x_msg_count,
4591: x_msg_data => x_msg_data,
4592: p_api_type => g_api_type);
4593: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4594: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4595: p_api_name => l_api_name,
4596: p_pkg_name => G_PKG_NAME,
4597: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
4590: x_msg_count => x_msg_count,
4591: x_msg_data => x_msg_data,
4592: p_api_type => g_api_type);
4593: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4594: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4595: p_api_name => l_api_name,
4596: p_pkg_name => G_PKG_NAME,
4597: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
4598: x_msg_count => x_msg_count,
4593: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4594: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4595: p_api_name => l_api_name,
4596: p_pkg_name => G_PKG_NAME,
4597: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
4598: x_msg_count => x_msg_count,
4599: x_msg_data => x_msg_data,
4600: p_api_type => g_api_type);
4601: WHEN OTHERS THEN
4598: x_msg_count => x_msg_count,
4599: x_msg_data => x_msg_data,
4600: p_api_type => g_api_type);
4601: WHEN OTHERS THEN
4602: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4603: p_api_name => l_api_name,
4604: p_pkg_name => G_PKG_NAME,
4605: p_exc_name => 'OTHERS',
4606: x_msg_count => x_msg_count,
4624: p_object_type = 'QQ'
4625: THEN
4626: l_valid := TRUE;
4627: END IF;
4628: x_return_status := OKL_API.G_RET_STS_SUCCESS;
4629: RETURN l_valid;
4630: EXCEPTION
4631: WHEN OKL_API.G_EXCEPTION_ERROR
4632: THEN
4627: END IF;
4628: x_return_status := OKL_API.G_RET_STS_SUCCESS;
4629: RETURN l_valid;
4630: EXCEPTION
4631: WHEN OKL_API.G_EXCEPTION_ERROR
4632: THEN
4633: x_return_status := G_RET_STS_ERROR;
4634: RETURN false;
4635: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR
4631: WHEN OKL_API.G_EXCEPTION_ERROR
4632: THEN
4633: x_return_status := G_RET_STS_ERROR;
4634: RETURN false;
4635: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR
4636: THEN
4637: x_return_status := G_RET_STS_UNEXP_ERROR;
4638: RETURN false;
4639: WHEN OTHERS
4637: x_return_status := G_RET_STS_UNEXP_ERROR;
4638: RETURN false;
4639: WHEN OTHERS
4640: THEN
4641: OKL_API.SET_MESSAGE (
4642: p_app_name => G_APP_NAME,
4643: p_msg_name => G_DB_ERROR,
4644: p_token1 => G_PROG_NAME_TOKEN,
4645: p_token1_value => 'validate_pricing_method',
4742: lrs_factor lrs_factor_rec_type;
4743: lrs_levels lrs_levels_tbl_type;
4744: lvl_index NUMBER;
4745: BEGIN
4746: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4747: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
4748: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
4749: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4750: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
4751: -- check for logging on STATEMENT level
4752: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
4753: -- Call START_ACTIVITY to create savepoint, check compatibility
4754: -- and initialize message list
4755: l_return_status := OKL_API.START_ACTIVITY(
4756: p_api_name => l_api_name,
4757: p_pkg_name => G_PKG_NAME,
4758: p_init_msg_list => p_init_msg_list,
4759: l_api_version => l_api_version,
4760: p_api_version => p_api_version,
4761: p_api_type => g_api_type,
4762: x_return_status => x_return_status);
4763: --Check if activity started successfully
4764: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4765: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4766: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4767: RAISE OKL_API.G_EXCEPTION_ERROR;
4768: END IF;
4761: p_api_type => g_api_type,
4762: x_return_status => x_return_status);
4763: --Check if activity started successfully
4764: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4765: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4766: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4767: RAISE OKL_API.G_EXCEPTION_ERROR;
4768: END IF;
4769: -- Actual logic Begins here
4762: x_return_status => x_return_status);
4763: --Check if activity started successfully
4764: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4765: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4766: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4767: RAISE OKL_API.G_EXCEPTION_ERROR;
4768: END IF;
4769: -- Actual logic Begins here
4770: IF p_start_date IS NULL OR
4763: --Check if activity started successfully
4764: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4765: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4766: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4767: RAISE OKL_API.G_EXCEPTION_ERROR;
4768: END IF;
4769: -- Actual logic Begins here
4770: IF p_start_date IS NULL OR
4771: p_lrt_id IS NULL OR
4774: THEN
4775: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4776: 'Missing required input value ' );
4777:
4778: RAISE OKL_API.G_EXCEPTION_ERROR;
4779: END IF;
4780: -- Start with fetching the Lease Rate Set Header n Version information
4781: l_return_status := OKL_API.G_RET_STS_ERROR;
4782: FOR t_rec IN lrs_version_details_csr(
4777:
4778: RAISE OKL_API.G_EXCEPTION_ERROR;
4779: END IF;
4780: -- Start with fetching the Lease Rate Set Header n Version information
4781: l_return_status := OKL_API.G_RET_STS_ERROR;
4782: FOR t_rec IN lrs_version_details_csr(
4783: p_lrs_version_id => p_lrt_id,
4784: p_date => p_start_date)
4785: LOOP
4802: lrs_details_rec.residual_tolerance := t_rec.residual_tolerance ;
4803: lrs_details_rec.deferred_pmts := t_rec.deferred_pmts ;
4804: lrs_details_rec.advance_pmts := t_rec.advance_pmts ;
4805: -- Using l_return_status as a flag
4806: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4807: END LOOP;
4808: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4809: RAISE OKL_API.G_EXCEPTION_ERROR;
4810: END IF;
4804: lrs_details_rec.advance_pmts := t_rec.advance_pmts ;
4805: -- Using l_return_status as a flag
4806: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4807: END LOOP;
4808: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4809: RAISE OKL_API.G_EXCEPTION_ERROR;
4810: END IF;
4811: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4812: ' Successfully fetched the Lease Rate Set Header n Version Details !' );
4805: -- Using l_return_status as a flag
4806: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4807: END LOOP;
4808: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4809: RAISE OKL_API.G_EXCEPTION_ERROR;
4810: END IF;
4811: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4812: ' Successfully fetched the Lease Rate Set Header n Version Details !' );
4813: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4814: ' p_term_in_months | p_eof_percentage | Residual Tolerance ' ||
4815: p_term_in_months || ' | ' || round(p_eot_percentage, 4)
4816: || ' | ' || round(lrs_details_rec.residual_tolerance, 4));
4817: -- Fetch the Factors Information
4818: l_return_status := OKL_API.G_RET_STS_ERROR;
4819: FOR t_rec IN lrs_factors_csr(
4820: p_lrs_version_id => lrs_details_rec.version_id,
4821: p_term => p_term_in_months,
4822: p_eot_percentage => p_eot_percentage,
4825: lrs_factor.factor_id := t_rec.factor_id;
4826: lrs_factor.term_in_months := t_rec.term_in_months;
4827: lrs_factor.residual_value_percent := t_rec.residual_value_percent;
4828: -- Using l_return_status as a flag
4829: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4830: END LOOP; -- lrs_factors
4831: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4832: RAISE OKL_API.G_EXCEPTION_ERROR;
4833: END IF;
4827: lrs_factor.residual_value_percent := t_rec.residual_value_percent;
4828: -- Using l_return_status as a flag
4829: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4830: END LOOP; -- lrs_factors
4831: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4832: RAISE OKL_API.G_EXCEPTION_ERROR;
4833: END IF;
4834: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4835: 'Successfully fetched the Lesae Rate Set Factors !' );
4828: -- Using l_return_status as a flag
4829: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4830: END LOOP; -- lrs_factors
4831: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4832: RAISE OKL_API.G_EXCEPTION_ERROR;
4833: END IF;
4834: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4835: 'Successfully fetched the Lesae Rate Set Factors !' );
4836: -- Fetch the levels Information
4833: END IF;
4834: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4835: 'Successfully fetched the Lesae Rate Set Factors !' );
4836: -- Fetch the levels Information
4837: l_return_status := OKL_API.G_RET_STS_ERROR;
4838: lvl_index := 1;
4839: FOR t_rec IN lrs_levels_csr( p_lrs_factor_id => lrs_factor.factor_id )
4840: LOOP
4841: lrs_levels(lvl_index).sequence_number := t_rec.sequence_number;
4841: lrs_levels(lvl_index).sequence_number := t_rec.sequence_number;
4842: lrs_levels(lvl_index).periods := t_rec.periods;
4843: lrs_levels(lvl_index).lease_rate_factor := t_rec.lease_rate_factor;
4844: -- Using l_return_status as a flag
4845: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4846: -- Increment the lvl_index
4847: lvl_index := lvl_index + 1;
4848: END LOOP; -- lrs_levels
4849: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4845: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4846: -- Increment the lvl_index
4847: lvl_index := lvl_index + 1;
4848: END LOOP; -- lrs_levels
4849: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4850: RAISE OKL_API.G_EXCEPTION_ERROR;
4851: END IF;
4852: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4853: 'Successfully fetched the Lease Rate Factor Levels !' );
4846: -- Increment the lvl_index
4847: lvl_index := lvl_index + 1;
4848: END LOOP; -- lrs_levels
4849: IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4850: RAISE OKL_API.G_EXCEPTION_ERROR;
4851: END IF;
4852: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4853: 'Successfully fetched the Lease Rate Factor Levels !' );
4854: -- Setting up the return variables ...
4855: x_lrs_details := lrs_details_rec;
4856: x_lrs_factor := lrs_factor;
4857: x_lrs_levels := lrs_levels;
4858: x_return_status := l_return_status;
4859: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
4860: x_msg_data => x_msg_data);
4861: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4862: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
4863: EXCEPTION
4860: x_msg_data => x_msg_data);
4861: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4862: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
4863: EXCEPTION
4864: WHEN OKL_API.G_EXCEPTION_ERROR THEN
4865: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4866: p_api_name => l_api_name,
4867: p_pkg_name => G_PKG_NAME,
4868: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4861: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4862: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
4863: EXCEPTION
4864: WHEN OKL_API.G_EXCEPTION_ERROR THEN
4865: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4866: p_api_name => l_api_name,
4867: p_pkg_name => G_PKG_NAME,
4868: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4869: x_msg_count => x_msg_count,
4864: WHEN OKL_API.G_EXCEPTION_ERROR THEN
4865: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4866: p_api_name => l_api_name,
4867: p_pkg_name => G_PKG_NAME,
4868: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4869: x_msg_count => x_msg_count,
4870: x_msg_data => x_msg_data,
4871: p_api_type => g_api_type);
4872: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4868: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
4869: x_msg_count => x_msg_count,
4870: x_msg_data => x_msg_data,
4871: p_api_type => g_api_type);
4872: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4873: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4874: p_api_name => l_api_name,
4875: p_pkg_name => G_PKG_NAME,
4876: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
4869: x_msg_count => x_msg_count,
4870: x_msg_data => x_msg_data,
4871: p_api_type => g_api_type);
4872: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4873: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4874: p_api_name => l_api_name,
4875: p_pkg_name => G_PKG_NAME,
4876: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
4877: x_msg_count => x_msg_count,
4872: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4873: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4874: p_api_name => l_api_name,
4875: p_pkg_name => G_PKG_NAME,
4876: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
4877: x_msg_count => x_msg_count,
4878: x_msg_data => x_msg_data,
4879: p_api_type => g_api_type);
4880: WHEN OTHERS THEN
4877: x_msg_count => x_msg_count,
4878: x_msg_data => x_msg_data,
4879: p_api_type => g_api_type);
4880: WHEN OTHERS THEN
4881: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
4882: p_api_name => l_api_name,
4883: p_pkg_name => G_PKG_NAME,
4884: p_exc_name => 'OTHERS',
4885: x_msg_count => x_msg_count,
4950: is_debug_procedure_on BOOLEAN;
4951: is_debug_statement_on BOOLEAN;
4952: srt_details srt_details_rec_type;
4953: BEGIN
4954: l_return_status := OKL_API.G_RET_STS_SUCCESS;
4955: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
4956: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
4957:
4958: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
4960: -- check for logging on STATEMENT level
4961: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
4962: -- Call START_ACTIVITY to create savepoint, check compatibility
4963: -- and initialize message list
4964: l_return_status := OKL_API.START_ACTIVITY(
4965: p_api_name => l_api_name,
4966: p_pkg_name => G_PKG_NAME,
4967: p_init_msg_list => p_init_msg_list,
4968: l_api_version => l_api_version,
4969: p_api_version => p_api_version,
4970: p_api_type => g_api_type,
4971: x_return_status => x_return_status);
4972: --Check if activity started successfully
4973: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4974: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4975: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4976: RAISE OKL_API.G_EXCEPTION_ERROR;
4977: END IF;
4970: p_api_type => g_api_type,
4971: x_return_status => x_return_status);
4972: --Check if activity started successfully
4973: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4974: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4975: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4976: RAISE OKL_API.G_EXCEPTION_ERROR;
4977: END IF;
4978: IF p_start_date IS NULL
4971: x_return_status => x_return_status);
4972: --Check if activity started successfully
4973: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4974: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4975: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4976: RAISE OKL_API.G_EXCEPTION_ERROR;
4977: END IF;
4978: IF p_start_date IS NULL
4979: THEN
4972: --Check if activity started successfully
4973: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4974: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4975: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4976: RAISE OKL_API.G_EXCEPTION_ERROR;
4977: END IF;
4978: IF p_start_date IS NULL
4979: THEN
4980: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4978: IF p_start_date IS NULL
4979: THEN
4980: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4981: 'Start Date is null !! ' );
4982: OKL_API.set_message(
4983: G_APP_NAME,
4984: OKL_API.G_INVALID_VALUE,
4985: OKL_API.G_COL_NAME_TOKEN,
4986: 'EXPECTED START DATE');
4980: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4981: 'Start Date is null !! ' );
4982: OKL_API.set_message(
4983: G_APP_NAME,
4984: OKL_API.G_INVALID_VALUE,
4985: OKL_API.G_COL_NAME_TOKEN,
4986: 'EXPECTED START DATE');
4987: RAISE OKL_API.G_EXCEPTION_ERROR;
4988: END IF;
4981: 'Start Date is null !! ' );
4982: OKL_API.set_message(
4983: G_APP_NAME,
4984: OKL_API.G_INVALID_VALUE,
4985: OKL_API.G_COL_NAME_TOKEN,
4986: 'EXPECTED START DATE');
4987: RAISE OKL_API.G_EXCEPTION_ERROR;
4988: END IF;
4989: IF p_srt_id IS NULL
4983: G_APP_NAME,
4984: OKL_API.G_INVALID_VALUE,
4985: OKL_API.G_COL_NAME_TOKEN,
4986: 'EXPECTED START DATE');
4987: RAISE OKL_API.G_EXCEPTION_ERROR;
4988: END IF;
4989: IF p_srt_id IS NULL
4990: THEN
4991: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4989: IF p_srt_id IS NULL
4990: THEN
4991: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4992: 'Standard Rate Template ID is required !! ' );
4993: OKL_API.set_message(
4994: G_APP_NAME,
4995: OKL_API.G_REQUIRED_VALUE,
4996: OKL_API.G_COL_NAME_TOKEN,
4997: 'STANDARD RATE TEMPLATE ID');
4991: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4992: 'Standard Rate Template ID is required !! ' );
4993: OKL_API.set_message(
4994: G_APP_NAME,
4995: OKL_API.G_REQUIRED_VALUE,
4996: OKL_API.G_COL_NAME_TOKEN,
4997: 'STANDARD RATE TEMPLATE ID');
4998: RAISE OKL_API.G_EXCEPTION_ERROR;
4999: END IF;
4992: 'Standard Rate Template ID is required !! ' );
4993: OKL_API.set_message(
4994: G_APP_NAME,
4995: OKL_API.G_REQUIRED_VALUE,
4996: OKL_API.G_COL_NAME_TOKEN,
4997: 'STANDARD RATE TEMPLATE ID');
4998: RAISE OKL_API.G_EXCEPTION_ERROR;
4999: END IF;
5000: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
4994: G_APP_NAME,
4995: OKL_API.G_REQUIRED_VALUE,
4996: OKL_API.G_COL_NAME_TOKEN,
4997: 'STANDARD RATE TEMPLATE ID');
4998: RAISE OKL_API.G_EXCEPTION_ERROR;
4999: END IF;
5000: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5001: ': p_srt_id= ' || p_srt_id );
5002: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5001: ': p_srt_id= ' || p_srt_id );
5002: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5003: ': p_start_date= '|| p_start_date );
5004:
5005: l_return_status := OKL_API.G_RET_STS_ERROR;
5006: FOR t_rec IN srt_details_csr(
5007: p_srt_version_id => p_srt_id,
5008: p_date => p_start_date )
5009: LOOP
5033: srt_details.rate_type_code || ' | ' || srt_details.min_adj_rate
5034: || ' | ' || srt_details.max_adj_rate || ' | ' || srt_details.srt_rate || ' | ' || srt_details.spread);
5035:
5036: -- Using l_return_status as flag
5037: l_return_status := OKL_API.G_RET_STS_SUCCESS;
5038: END LOOP; -- srt_details_csr
5039: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5040: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5041: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5035:
5036: -- Using l_return_status as flag
5037: l_return_status := OKL_API.G_RET_STS_SUCCESS;
5038: END LOOP; -- srt_details_csr
5039: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5040: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5041: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5042: RAISE OKL_API.G_EXCEPTION_ERROR;
5043: END IF;
5036: -- Using l_return_status as flag
5037: l_return_status := OKL_API.G_RET_STS_SUCCESS;
5038: END LOOP; -- srt_details_csr
5039: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5040: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5041: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5042: RAISE OKL_API.G_EXCEPTION_ERROR;
5043: END IF;
5044:
5037: l_return_status := OKL_API.G_RET_STS_SUCCESS;
5038: END LOOP; -- srt_details_csr
5039: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5040: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5041: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5042: RAISE OKL_API.G_EXCEPTION_ERROR;
5043: END IF;
5044:
5045: IF srt_details.rate_type_code = G_QQ_SRT_RATE_TYPE
5038: END LOOP; -- srt_details_csr
5039: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5040: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5041: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5042: RAISE OKL_API.G_EXCEPTION_ERROR;
5043: END IF;
5044:
5045: IF srt_details.rate_type_code = G_QQ_SRT_RATE_TYPE
5046: THEN
5044:
5045: IF srt_details.rate_type_code = G_QQ_SRT_RATE_TYPE
5046: THEN
5047: -- Initialize l_return_status to 'E'
5048: l_return_status := OKL_API.G_RET_STS_ERROR;
5049: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5050: ': p_srt_header_id = ' || srt_details.srt_header_id );
5051: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5052: ': p_start_date=' || p_start_date );
5055: p_date => p_start_date)
5056: LOOP
5057: srt_details.srt_rate := t_rec.srt_rate;
5058: -- Using l_return_status as flag
5059: l_return_status := OKL_API.G_RET_STS_SUCCESS;
5060: END LOOP; -- srt_index_rate_csr
5061: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5062: ': After srt_index_rate_csr ' || l_return_status );
5063: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5059: l_return_status := OKL_API.G_RET_STS_SUCCESS;
5060: END LOOP; -- srt_index_rate_csr
5061: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5062: ': After srt_index_rate_csr ' || l_return_status );
5063: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5064: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5065: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5066: RAISE OKL_API.G_EXCEPTION_ERROR;
5067: END IF;
5060: END LOOP; -- srt_index_rate_csr
5061: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5062: ': After srt_index_rate_csr ' || l_return_status );
5063: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5064: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5065: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5066: RAISE OKL_API.G_EXCEPTION_ERROR;
5067: END IF;
5068: END IF; -- IF srt_details.rate_type_code = 'INDEX'
5061: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5062: ': After srt_index_rate_csr ' || l_return_status );
5063: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5064: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5065: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5066: RAISE OKL_API.G_EXCEPTION_ERROR;
5067: END IF;
5068: END IF; -- IF srt_details.rate_type_code = 'INDEX'
5069: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5062: ': After srt_index_rate_csr ' || l_return_status );
5063: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5064: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5065: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5066: RAISE OKL_API.G_EXCEPTION_ERROR;
5067: END IF;
5068: END IF; -- IF srt_details.rate_type_code = 'INDEX'
5069: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5070: 'Rate from the SRT ' || srt_details.srt_rate );
5069: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5070: 'Rate from the SRT ' || srt_details.srt_rate );
5071: -- Setting up the return variables ..
5072: x_srt_details := srt_details;
5073: x_return_status := OKL_API.G_RET_STS_SUCCESS;
5074: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
5075: x_msg_data => x_msg_data);
5076: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5077: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
5070: 'Rate from the SRT ' || srt_details.srt_rate );
5071: -- Setting up the return variables ..
5072: x_srt_details := srt_details;
5073: x_return_status := OKL_API.G_RET_STS_SUCCESS;
5074: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
5075: x_msg_data => x_msg_data);
5076: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5077: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
5078: EXCEPTION
5075: x_msg_data => x_msg_data);
5076: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5077: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
5078: EXCEPTION
5079: WHEN OKL_API.G_EXCEPTION_ERROR THEN
5080: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5081: p_api_name => l_api_name,
5082: p_pkg_name => G_PKG_NAME,
5083: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5076: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5077: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
5078: EXCEPTION
5079: WHEN OKL_API.G_EXCEPTION_ERROR THEN
5080: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5081: p_api_name => l_api_name,
5082: p_pkg_name => G_PKG_NAME,
5083: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5084: x_msg_count => x_msg_count,
5079: WHEN OKL_API.G_EXCEPTION_ERROR THEN
5080: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5081: p_api_name => l_api_name,
5082: p_pkg_name => G_PKG_NAME,
5083: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5084: x_msg_count => x_msg_count,
5085: x_msg_data => x_msg_data,
5086: p_api_type => g_api_type);
5087: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5083: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5084: x_msg_count => x_msg_count,
5085: x_msg_data => x_msg_data,
5086: p_api_type => g_api_type);
5087: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5088: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5089: p_api_name => l_api_name,
5090: p_pkg_name => G_PKG_NAME,
5091: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
5084: x_msg_count => x_msg_count,
5085: x_msg_data => x_msg_data,
5086: p_api_type => g_api_type);
5087: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5088: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5089: p_api_name => l_api_name,
5090: p_pkg_name => G_PKG_NAME,
5091: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
5092: x_msg_count => x_msg_count,
5087: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5088: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5089: p_api_name => l_api_name,
5090: p_pkg_name => G_PKG_NAME,
5091: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
5092: x_msg_count => x_msg_count,
5093: x_msg_data => x_msg_data,
5094: p_api_type => g_api_type);
5095: WHEN OTHERS THEN
5092: x_msg_count => x_msg_count,
5093: x_msg_data => x_msg_data,
5094: p_api_type => g_api_type);
5095: WHEN OTHERS THEN
5096: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5097: p_api_name => l_api_name,
5098: p_pkg_name => G_PKG_NAME,
5099: p_exc_name => 'OTHERS',
5100: x_msg_count => x_msg_count,
5186: l_period_end_date DATE;
5187: l_sum_rent_in_curr_month NUMBER;
5188: l_orig_income_in_curr_month NUMBER;
5189: BEGIN
5190: l_return_status := OKL_API.G_RET_STS_SUCCESS;
5191: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
5192: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
5193: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5194: 'begin debug OKLRPIUB.pls call '|| LOWER(l_api_name));
5195: -- check for logging on STATEMENT level
5196: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
5197: -- Call START_ACTIVITY to create savepoint, check compatibility
5198: -- and initialize message list
5199: l_return_status := OKL_API.START_ACTIVITY(
5200: p_api_name => l_api_name,
5201: p_pkg_name => G_PKG_NAME,
5202: p_init_msg_list => p_init_msg_list,
5203: l_api_version => l_api_version,
5204: p_api_version => p_api_version,
5205: p_api_type => g_api_type,
5206: x_return_status => x_return_status);
5207: --Check if activity started successfully
5208: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5209: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5210: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5211: RAISE OKL_API.G_EXCEPTION_ERROR;
5212: END IF;
5205: p_api_type => g_api_type,
5206: x_return_status => x_return_status);
5207: --Check if activity started successfully
5208: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5209: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5210: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5211: RAISE OKL_API.G_EXCEPTION_ERROR;
5212: END IF;
5213: -- Actual logic Begins here
5206: x_return_status => x_return_status);
5207: --Check if activity started successfully
5208: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5209: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5210: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5211: RAISE OKL_API.G_EXCEPTION_ERROR;
5212: END IF;
5213: -- Actual logic Begins here
5214: -- Validate the input parameters
5207: --Check if activity started successfully
5208: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5209: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5210: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5211: RAISE OKL_API.G_EXCEPTION_ERROR;
5212: END IF;
5213: -- Actual logic Begins here
5214: -- Validate the input parameters
5215: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5220: x_days_in_year => l_days_in_year,
5221: x_return_status => l_return_status);
5222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5223: 'After get_day_count_method ' || l_return_status);
5224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5227: RAISE OKL_API.G_EXCEPTION_ERROR;
5228: END IF;
5221: x_return_status => l_return_status);
5222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5223: 'After get_day_count_method ' || l_return_status);
5224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5227: RAISE OKL_API.G_EXCEPTION_ERROR;
5228: END IF;
5229:
5222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5223: 'After get_day_count_method ' || l_return_status);
5224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5227: RAISE OKL_API.G_EXCEPTION_ERROR;
5228: END IF;
5229:
5230: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5223: 'After get_day_count_method ' || l_return_status);
5224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5227: RAISE OKL_API.G_EXCEPTION_ERROR;
5228: END IF;
5229:
5230: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5231: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
5235: px_pricing_parameter_rec.cash_inflows.COUNT <= 0 OR
5236: px_pricing_parameter_rec.line_end_date IS NULL
5237: THEN
5238: -- Show the error message and
5239: RAISE OKL_API.G_EXCEPTION_ERROR;
5240: END IF;
5241: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
5242: 'Input Parameters p_start_date, p_end_date, count(cash_inflows) = '
5243: || p_start_date || ',' || px_pricing_parameter_rec.line_end_date || ',' ||
5286: nvl( px_pricing_parameter_rec.trade_in, 0 );
5287: IF l_investment <= 0
5288: THEN
5289: -- Initial Investment itself cant be negative !!
5290: RAISE OKL_API.G_EXCEPTION_ERROR;
5291: END IF; -- IF l_investment ..
5292:
5293: -- Initialize the things
5294: n_iterations := 0;
5316: p_start_date => l_start_date,
5317: p_months_after => p_term,
5318: x_date => l_k_end_date,
5319: x_return_status => l_return_status);
5320: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5321: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5322: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5323: RAISE OKL_API.G_EXCEPTION_ERROR;
5324: END IF;
5317: p_months_after => p_term,
5318: x_date => l_k_end_date,
5319: x_return_status => l_return_status);
5320: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5321: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5322: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5323: RAISE OKL_API.G_EXCEPTION_ERROR;
5324: END IF;
5325: l_k_end_date := l_k_end_date - 1;
5318: x_date => l_k_end_date,
5319: x_return_status => l_return_status);
5320: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5321: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5322: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5323: RAISE OKL_API.G_EXCEPTION_ERROR;
5324: END IF;
5325: l_k_end_date := l_k_end_date - 1;
5326: */
5319: x_return_status => l_return_status);
5320: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5321: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5322: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5323: RAISE OKL_API.G_EXCEPTION_ERROR;
5324: END IF;
5325: l_k_end_date := l_k_end_date - 1;
5326: */
5327: -- Assume the line end date as passed in the .line_end_date
5495: p_start_date => l_start_date,
5496: p_end_date => l_end_date,
5497: p_arrears => 'Y', -- Calculate until the end of the month !
5498: x_return_status => l_return_status);
5499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5502: RAISE OKL_API.G_EXCEPTION_ERROR;
5503: END IF;
5496: p_end_date => l_end_date,
5497: p_arrears => 'Y', -- Calculate until the end of the month !
5498: x_return_status => l_return_status);
5499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5502: RAISE OKL_API.G_EXCEPTION_ERROR;
5503: END IF;
5504: -- Case when the start date and end date are as follows:
5497: p_arrears => 'Y', -- Calculate until the end of the month !
5498: x_return_status => l_return_status);
5499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5502: RAISE OKL_API.G_EXCEPTION_ERROR;
5503: END IF;
5504: -- Case when the start date and end date are as follows:
5505: -- Start Date = 31st of the Month
5498: x_return_status => l_return_status);
5499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5502: RAISE OKL_API.G_EXCEPTION_ERROR;
5503: END IF;
5504: -- Case when the start date and end date are as follows:
5505: -- Start Date = 31st of the Month
5506: -- End Date = 31st of the Month
5518: p_day_convention => p_day_count_method,
5519: p_start_date => p_start_date,
5520: p_cash_inflow_date => l_start_date,
5521: x_return_status => l_return_status );
5522: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5523: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5524: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5525: RAISE OKL_API.G_EXCEPTION_ERROR;
5526: END IF;
5519: p_start_date => p_start_date,
5520: p_cash_inflow_date => l_start_date,
5521: x_return_status => l_return_status );
5522: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5523: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5524: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5525: RAISE OKL_API.G_EXCEPTION_ERROR;
5526: END IF;
5527: l_tmp_interest := l_termination_val * l_days * l_bk_yield / l_days_per_annum;
5520: p_cash_inflow_date => l_start_date,
5521: x_return_status => l_return_status );
5522: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5523: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5524: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5525: RAISE OKL_API.G_EXCEPTION_ERROR;
5526: END IF;
5527: l_tmp_interest := l_termination_val * l_days * l_bk_yield / l_days_per_annum;
5528: l_termination_val := l_termination_val + l_tmp_interest;
5521: x_return_status => l_return_status );
5522: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5523: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5524: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5525: RAISE OKL_API.G_EXCEPTION_ERROR;
5526: END IF;
5527: l_tmp_interest := l_termination_val * l_days * l_bk_yield / l_days_per_annum;
5528: l_termination_val := l_termination_val + l_tmp_interest;
5529: l_termination_val_tbl(t).cf_amount := l_termination_val;
5571: p_start_date => l_start_date,
5572: p_end_date => l_end_date,
5573: p_arrears => l_cf_inflows(cf_index).is_arrears,
5574: x_return_status => l_return_status);
5575: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5576: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5577: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5578: RAISE OKL_API.G_EXCEPTION_ERROR;
5579: END IF;
5572: p_end_date => l_end_date,
5573: p_arrears => l_cf_inflows(cf_index).is_arrears,
5574: x_return_status => l_return_status);
5575: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5576: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5577: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5578: RAISE OKL_API.G_EXCEPTION_ERROR;
5579: END IF;
5580: -- Based on the day convention, get the days/annum
5573: p_arrears => l_cf_inflows(cf_index).is_arrears,
5574: x_return_status => l_return_status);
5575: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5576: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5577: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5578: RAISE OKL_API.G_EXCEPTION_ERROR;
5579: END IF;
5580: -- Based on the day convention, get the days/annum
5581: l_days_per_annum := get_days_per_annum(
5574: x_return_status => l_return_status);
5575: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5576: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5577: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5578: RAISE OKL_API.G_EXCEPTION_ERROR;
5579: END IF;
5580: -- Based on the day convention, get the days/annum
5581: l_days_per_annum := get_days_per_annum(
5582: p_day_convention => p_day_count_method,
5582: p_day_convention => p_day_count_method,
5583: p_start_date => p_start_date,
5584: p_cash_inflow_date => l_start_date,
5585: x_return_status => l_return_status );
5586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5589: RAISE OKL_API.G_EXCEPTION_ERROR;
5590: END IF;
5583: p_start_date => p_start_date,
5584: p_cash_inflow_date => l_start_date,
5585: x_return_status => l_return_status );
5586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5589: RAISE OKL_API.G_EXCEPTION_ERROR;
5590: END IF;
5591: -- Calculation of Interest
5584: p_cash_inflow_date => l_start_date,
5585: x_return_status => l_return_status );
5586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5589: RAISE OKL_API.G_EXCEPTION_ERROR;
5590: END IF;
5591: -- Calculation of Interest
5592: l_tmp_interest := l_termination_val * l_days * l_bk_yield / l_days_per_annum;
5585: x_return_status => l_return_status );
5586: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5587: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5588: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5589: RAISE OKL_API.G_EXCEPTION_ERROR;
5590: END IF;
5591: -- Calculation of Interest
5592: l_tmp_interest := l_termination_val * l_days * l_bk_yield / l_days_per_annum;
5593: -- Termination value streams assignments
5658: p_start_date => l_start_date,
5659: p_end_date => l_end_date,
5660: p_arrears => l_is_res_arrears, -- Calculate until the end of the month/Contract End Date
5661: x_return_status => l_return_status);
5662: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5663: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5664: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5665: RAISE OKL_API.G_EXCEPTION_ERROR;
5666: END IF;
5659: p_end_date => l_end_date,
5660: p_arrears => l_is_res_arrears, -- Calculate until the end of the month/Contract End Date
5661: x_return_status => l_return_status);
5662: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5663: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5664: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5665: RAISE OKL_API.G_EXCEPTION_ERROR;
5666: END IF;
5667: -- But, In case, when Last Stream Element Date = Contract End Date
5660: p_arrears => l_is_res_arrears, -- Calculate until the end of the month/Contract End Date
5661: x_return_status => l_return_status);
5662: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5663: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5664: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5665: RAISE OKL_API.G_EXCEPTION_ERROR;
5666: END IF;
5667: -- But, In case, when Last Stream Element Date = Contract End Date
5668: -- and Payments are arrears, then Day Count should be equal to zero.
5661: x_return_status => l_return_status);
5662: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5663: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5664: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5665: RAISE OKL_API.G_EXCEPTION_ERROR;
5666: END IF;
5667: -- But, In case, when Last Stream Element Date = Contract End Date
5668: -- and Payments are arrears, then Day Count should be equal to zero.
5669: IF TO_CHAR( p_start_date, 'DD') = 31 AND -- Contract Starting on 31st of Month
5697: p_day_convention => p_day_count_method,
5698: p_start_date => p_start_date,
5699: p_cash_inflow_date => l_start_date,
5700: x_return_status => l_return_status );
5701: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5702: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5703: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5704: RAISE OKL_API.G_EXCEPTION_ERROR;
5705: END IF;
5698: p_start_date => p_start_date,
5699: p_cash_inflow_date => l_start_date,
5700: x_return_status => l_return_status );
5701: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5702: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5703: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5704: RAISE OKL_API.G_EXCEPTION_ERROR;
5705: END IF;
5706: -- Interest Calculation
5699: p_cash_inflow_date => l_start_date,
5700: x_return_status => l_return_status );
5701: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5702: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5703: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5704: RAISE OKL_API.G_EXCEPTION_ERROR;
5705: END IF;
5706: -- Interest Calculation
5707: l_tmp_interest := l_termination_val * l_days * l_bk_yield / l_days_per_annum;
5700: x_return_status => l_return_status );
5701: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5702: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5703: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5704: RAISE OKL_API.G_EXCEPTION_ERROR;
5705: END IF;
5706: -- Interest Calculation
5707: l_tmp_interest := l_termination_val * l_days * l_bk_yield / l_days_per_annum;
5708: -- Termination value streams assignment
5925: l_bk_yield||'|'||l_prev_bk_yeild||'|'||l_positive_diff_bk_yeild||'|'||l_negative_diff_bk_yeild );
5926: END LOOP; -- Loop on n_iterations
5927: -- Actual logic Ends here
5928: x_return_status := l_return_status;
5929: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
5930: x_msg_data => x_msg_data);
5931: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5932: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
5933: EXCEPTION
5930: x_msg_data => x_msg_data);
5931: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5932: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
5933: EXCEPTION
5934: WHEN OKL_API.G_EXCEPTION_ERROR THEN
5935: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5936: p_api_name => l_api_name,
5937: p_pkg_name => G_PKG_NAME,
5938: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5931: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
5932: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
5933: EXCEPTION
5934: WHEN OKL_API.G_EXCEPTION_ERROR THEN
5935: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5936: p_api_name => l_api_name,
5937: p_pkg_name => G_PKG_NAME,
5938: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5939: x_msg_count => x_msg_count,
5934: WHEN OKL_API.G_EXCEPTION_ERROR THEN
5935: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5936: p_api_name => l_api_name,
5937: p_pkg_name => G_PKG_NAME,
5938: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5939: x_msg_count => x_msg_count,
5940: x_msg_data => x_msg_data,
5941: p_api_type => g_api_type);
5942: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5938: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
5939: x_msg_count => x_msg_count,
5940: x_msg_data => x_msg_data,
5941: p_api_type => g_api_type);
5942: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5943: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5944: p_api_name => l_api_name,
5945: p_pkg_name => G_PKG_NAME,
5946: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
5939: x_msg_count => x_msg_count,
5940: x_msg_data => x_msg_data,
5941: p_api_type => g_api_type);
5942: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5943: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5944: p_api_name => l_api_name,
5945: p_pkg_name => G_PKG_NAME,
5946: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
5947: x_msg_count => x_msg_count,
5942: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5943: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5944: p_api_name => l_api_name,
5945: p_pkg_name => G_PKG_NAME,
5946: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
5947: x_msg_count => x_msg_count,
5948: x_msg_data => x_msg_data,
5949: p_api_type => g_api_type);
5950: WHEN OTHERS THEN
5947: x_msg_count => x_msg_count,
5948: x_msg_data => x_msg_data,
5949: p_api_type => g_api_type);
5950: WHEN OTHERS THEN
5951: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
5952: p_api_name => l_api_name,
5953: p_pkg_name => G_PKG_NAME,
5954: p_exc_name => 'OTHERS',
5955: x_msg_count => x_msg_count,
6047: l_tot_tradein NUMBER;
6048: l_tot_subsidy NUMBER;
6049: l_eot_type_code VARCHAR2(30);
6050: BEGIN
6051: l_return_status := OKL_API.G_RET_STS_SUCCESS;
6052: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
6053: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
6054: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6055: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
6054: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6055: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
6056: -- check for logging on STATEMENT level
6057: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
6058: l_return_status := OKL_API.START_ACTIVITY(
6059: p_api_name => l_api_name,
6060: p_pkg_name => G_PKG_NAME,
6061: p_init_msg_list => p_init_msg_list,
6062: l_api_version => l_api_version,
6063: p_api_version => p_api_version,
6064: p_api_type => g_api_type,
6065: x_return_status => x_return_status);
6066: --Check if activity started successfully
6067: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6068: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6069: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6070: RAISE OKL_API.G_EXCEPTION_ERROR;
6071: END IF;
6064: p_api_type => g_api_type,
6065: x_return_status => x_return_status);
6066: --Check if activity started successfully
6067: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6068: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6069: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6070: RAISE OKL_API.G_EXCEPTION_ERROR;
6071: END IF;
6072: -- Know the type of the EOT and then proceed with the values directly or calculate the amount
6065: x_return_status => x_return_status);
6066: --Check if activity started successfully
6067: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6068: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6069: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6070: RAISE OKL_API.G_EXCEPTION_ERROR;
6071: END IF;
6072: -- Know the type of the EOT and then proceed with the values directly or calculate the amount
6073: FOR t_rec IN get_eot_type(p_qq_id => p_qq_hdr_rec.id)
6066: --Check if activity started successfully
6067: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6068: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6069: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6070: RAISE OKL_API.G_EXCEPTION_ERROR;
6071: END IF;
6072: -- Know the type of the EOT and then proceed with the values directly or calculate the amount
6073: FOR t_rec IN get_eot_type(p_qq_id => p_qq_hdr_rec.id)
6074: LOOP
6158: p_eot_percentage => l_eot_percentage,
6159: x_lrs_details => l_lrs_details,
6160: x_lrs_factor => l_lrs_factor,
6161: x_lrs_levels => l_lrs_levels);
6162: IF l_return_status <> OKL_API.G_RET_STS_SUCCESS
6163: THEN
6164: OPEN get_cat_name(p_category_id => t_rec.item_category_id);
6165: FETCH get_cat_name INTO cat_rec;
6166: CLOSE get_cat_name;
6166: CLOSE get_cat_name;
6167: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6168: 'Couldnot found the Lease Rate Factor levels for Item Category ' || cat_rec.name );
6169: -- Show the message and then return back throwing an error!
6170: OKL_API.set_message(
6171: p_app_name => G_APP_NAME,
6172: p_msg_name => 'OKL_LP_NO_LRS_LEVELS_FOUND',
6173: p_token1 => 'ITEMCAT',
6174: p_token1_value => cat_rec.name,
6175: p_token2 => 'ITEMTERM',
6176: p_token2_value => p_qq_hdr_rec.term,
6177: p_token3 => 'ITEMEOTPERCENT',
6178: p_token3_value => ROUND(l_eot_percentage,4) );
6179: RAISE OKL_API.G_EXCEPTION_ERROR;
6180: END IF;
6181: -- Apply the adjustment matrix if needed!
6182: IF l_lrs_details.adj_mat_version_id IS NOT NULL AND
6183: l_got_adj_factor = FALSE
6201: x_msg_count => x_msg_count,
6202: x_msg_data => x_msg_data,
6203: p_okl_ac_rec => l_ac_rec_type,
6204: x_adjustment_factor => l_adj_factor );
6205: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6206: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6207: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6208: RAISE OKL_API.G_EXCEPTION_ERROR;
6209: END IF;
6202: x_msg_data => x_msg_data,
6203: p_okl_ac_rec => l_ac_rec_type,
6204: x_adjustment_factor => l_adj_factor );
6205: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6206: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6207: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6208: RAISE OKL_API.G_EXCEPTION_ERROR;
6209: END IF;
6210: END IF;
6203: p_okl_ac_rec => l_ac_rec_type,
6204: x_adjustment_factor => l_adj_factor );
6205: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6206: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6207: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6208: RAISE OKL_API.G_EXCEPTION_ERROR;
6209: END IF;
6210: END IF;
6211: IF l_got_adj_factor = FALSE
6204: x_adjustment_factor => l_adj_factor );
6205: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6206: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6207: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6208: RAISE OKL_API.G_EXCEPTION_ERROR;
6209: END IF;
6210: END IF;
6211: IF l_got_adj_factor = FALSE
6212: THEN
6223: -- Get the Months factor!
6224: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
6225: p_frequency => l_lrs_details.frq_code,
6226: x_return_status => l_return_status);
6227: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6228: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6229: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6230: RAISE OKL_API.G_EXCEPTION_ERROR;
6231: END IF;
6224: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
6225: p_frequency => l_lrs_details.frq_code,
6226: x_return_status => l_return_status);
6227: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6228: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6229: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6230: RAISE OKL_API.G_EXCEPTION_ERROR;
6231: END IF;
6232: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Months/Period ' || l_months_per_period );
6225: p_frequency => l_lrs_details.frq_code,
6226: x_return_status => l_return_status);
6227: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6228: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6229: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6230: RAISE OKL_API.G_EXCEPTION_ERROR;
6231: END IF;
6232: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Months/Period ' || l_months_per_period );
6233: -- Populating the Cash Flow Levels
6226: x_return_status => l_return_status);
6227: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6228: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6229: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6230: RAISE OKL_API.G_EXCEPTION_ERROR;
6231: END IF;
6232: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Months/Period ' || l_months_per_period );
6233: -- Populating the Cash Flow Levels
6234: l_months_after := 0;
6245: p_start_date => p_qq_hdr_rec.expected_start_date,
6246: p_months_after => l_months_after,
6247: x_date => l_item_cat_cf_tbl(i).cash_flow_level_tbl(cf_index).start_date,
6248: x_return_status => l_return_status);
6249: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6250: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6251: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6252: RAISE OKL_API.G_EXCEPTION_ERROR;
6253: END IF;
6246: p_months_after => l_months_after,
6247: x_date => l_item_cat_cf_tbl(i).cash_flow_level_tbl(cf_index).start_date,
6248: x_return_status => l_return_status);
6249: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6250: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6251: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6252: RAISE OKL_API.G_EXCEPTION_ERROR;
6253: END IF;
6254: -- Add to the l_months_after
6247: x_date => l_item_cat_cf_tbl(i).cash_flow_level_tbl(cf_index).start_date,
6248: x_return_status => l_return_status);
6249: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6250: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6251: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6252: RAISE OKL_API.G_EXCEPTION_ERROR;
6253: END IF;
6254: -- Add to the l_months_after
6255: l_months_after := l_months_after + ( l_lrs_levels(t).periods * l_months_per_period );
6248: x_return_status => l_return_status);
6249: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6250: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6251: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6252: RAISE OKL_API.G_EXCEPTION_ERROR;
6253: END IF;
6254: -- Add to the l_months_after
6255: l_months_after := l_months_after + ( l_lrs_levels(t).periods * l_months_per_period );
6256: -- Increment the index
6270: -- Get the Months factor!
6271: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
6272: p_frequency => p_qq_hdr_rec.target_frequency,
6273: x_return_status => l_return_status);
6274: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6275: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6276: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6277: RAISE OKL_API.G_EXCEPTION_ERROR;
6278: END IF;
6271: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
6272: p_frequency => p_qq_hdr_rec.target_frequency,
6273: x_return_status => l_return_status);
6274: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6275: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6276: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6277: RAISE OKL_API.G_EXCEPTION_ERROR;
6278: END IF;
6279: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Months/Period ' || l_months_per_period );
6272: p_frequency => p_qq_hdr_rec.target_frequency,
6273: x_return_status => l_return_status);
6274: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6275: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6276: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6277: RAISE OKL_API.G_EXCEPTION_ERROR;
6278: END IF;
6279: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Months/Period ' || l_months_per_period );
6280: l_periods := p_qq_hdr_rec.term / l_months_per_period;
6273: x_return_status => l_return_status);
6274: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6275: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6276: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6277: RAISE OKL_API.G_EXCEPTION_ERROR;
6278: END IF;
6279: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Months/Period ' || l_months_per_period );
6280: l_periods := p_qq_hdr_rec.term / l_months_per_period;
6281: -- Need to validate that the term / ( frequency factor ) should be a whole number !
6281: -- Need to validate that the term / ( frequency factor ) should be a whole number !
6282: IF l_periods <> TRUNC( l_periods )
6283: THEN
6284: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Periods has to be a whole number ');
6285: OKL_API.set_message( G_APP_NAME, OKL_API.G_INVALID_VALUE, OKL_API.G_COL_NAME_TOKEN, 'l_periods');
6286: RAISE OKL_API.G_EXCEPTION_ERROR;
6287: END IF;
6288: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6289: 'Line ID | OEC | EOT Amount | Arrears YN | Freq | Periods | LRF | Amt | Start Date ' );
6282: IF l_periods <> TRUNC( l_periods )
6283: THEN
6284: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Periods has to be a whole number ');
6285: OKL_API.set_message( G_APP_NAME, OKL_API.G_INVALID_VALUE, OKL_API.G_COL_NAME_TOKEN, 'l_periods');
6286: RAISE OKL_API.G_EXCEPTION_ERROR;
6287: END IF;
6288: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6289: 'Line ID | OEC | EOT Amount | Arrears YN | Freq | Periods | LRF | Amt | Start Date ' );
6290: i := 1;
6331: x_days_in_month => x_days_in_month,
6332: x_days_in_year => x_days_in_year);
6333: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6334: 'After get_qq_sgt_day_convention ' || l_return_status );
6335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6338: RAISE OKL_API.G_EXCEPTION_ERROR;
6339: END IF;
6332: x_days_in_year => x_days_in_year);
6333: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6334: 'After get_qq_sgt_day_convention ' || l_return_status );
6335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6338: RAISE OKL_API.G_EXCEPTION_ERROR;
6339: END IF;
6340: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6333: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6334: 'After get_qq_sgt_day_convention ' || l_return_status );
6335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6338: RAISE OKL_API.G_EXCEPTION_ERROR;
6339: END IF;
6340: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6341: 'SGT Day convention: ' || x_days_in_month || ' / ' || x_days_in_year);
6334: 'After get_qq_sgt_day_convention ' || l_return_status );
6335: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6336: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6337: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6338: RAISE OKL_API.G_EXCEPTION_ERROR;
6339: END IF;
6340: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6341: 'SGT Day convention: ' || x_days_in_month || ' / ' || x_days_in_year);
6342: -- Return the values ...
6341: 'SGT Day convention: ' || x_days_in_month || ' / ' || x_days_in_year);
6342: -- Return the values ...
6343: x_item_cat_cf_tbl := l_item_cat_cf_tbl;
6344: x_return_status := l_return_status;
6345: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
6346: x_msg_data => x_msg_data);
6347: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6348: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
6349: EXCEPTION
6346: x_msg_data => x_msg_data);
6347: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6348: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
6349: EXCEPTION
6350: WHEN OKL_API.G_EXCEPTION_ERROR THEN
6351: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6352: p_api_name => l_api_name,
6353: p_pkg_name => G_PKG_NAME,
6354: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6347: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6348: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
6349: EXCEPTION
6350: WHEN OKL_API.G_EXCEPTION_ERROR THEN
6351: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6352: p_api_name => l_api_name,
6353: p_pkg_name => G_PKG_NAME,
6354: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6355: x_msg_count => x_msg_count,
6350: WHEN OKL_API.G_EXCEPTION_ERROR THEN
6351: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6352: p_api_name => l_api_name,
6353: p_pkg_name => G_PKG_NAME,
6354: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6355: x_msg_count => x_msg_count,
6356: x_msg_data => x_msg_data,
6357: p_api_type => g_api_type);
6358: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6354: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6355: x_msg_count => x_msg_count,
6356: x_msg_data => x_msg_data,
6357: p_api_type => g_api_type);
6358: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6359: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6360: p_api_name => l_api_name,
6361: p_pkg_name => G_PKG_NAME,
6362: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
6355: x_msg_count => x_msg_count,
6356: x_msg_data => x_msg_data,
6357: p_api_type => g_api_type);
6358: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6359: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6360: p_api_name => l_api_name,
6361: p_pkg_name => G_PKG_NAME,
6362: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
6363: x_msg_count => x_msg_count,
6358: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6359: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6360: p_api_name => l_api_name,
6361: p_pkg_name => G_PKG_NAME,
6362: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
6363: x_msg_count => x_msg_count,
6364: x_msg_data => x_msg_data,
6365: p_api_type => g_api_type);
6366: WHEN OTHERS THEN
6363: x_msg_count => x_msg_count,
6364: x_msg_data => x_msg_data,
6365: p_api_type => g_api_type);
6366: WHEN OTHERS THEN
6367: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6368: p_api_name => l_api_name,
6369: p_pkg_name => G_PKG_NAME,
6370: p_exc_name => 'OTHERS',
6371: x_msg_count => x_msg_count,
6428: l_adj_factor NUMBER;
6429: l_deal_size NUMBER;
6430: l_months_factor NUMBER;
6431: BEGIN
6432: l_return_status := OKL_API.G_RET_STS_SUCCESS;
6433: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
6434: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
6435: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6436: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
6434: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
6435: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6436: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
6437: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
6438: l_return_status := OKL_API.START_ACTIVITY(
6439: p_api_name => l_api_name,
6440: p_pkg_name => G_PKG_NAME,
6441: p_init_msg_list => p_init_msg_list,
6442: l_api_version => l_api_version,
6442: l_api_version => l_api_version,
6443: p_api_version => p_api_version,
6444: p_api_type => g_api_type,
6445: x_return_status => x_return_status);
6446: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6447: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6448: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6449: RAISE OKL_API.G_EXCEPTION_ERROR;
6450: END IF;
6443: p_api_version => p_api_version,
6444: p_api_type => g_api_type,
6445: x_return_status => x_return_status);
6446: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6447: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6448: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6449: RAISE OKL_API.G_EXCEPTION_ERROR;
6450: END IF;
6451: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6444: p_api_type => g_api_type,
6445: x_return_status => x_return_status);
6446: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6447: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6448: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6449: RAISE OKL_API.G_EXCEPTION_ERROR;
6450: END IF;
6451: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6452: 'Pricing Method is ' || p_qq_hdr_rec.pricing_method );
6445: x_return_status => x_return_status);
6446: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6447: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6448: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6449: RAISE OKL_API.G_EXCEPTION_ERROR;
6450: END IF;
6451: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6452: 'Pricing Method is ' || p_qq_hdr_rec.pricing_method );
6453: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6471: p_start_date => p_qq_hdr_rec.expected_start_date,
6472: x_srt_details => l_srt_details);
6473: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6474: ': l_return_status ' || l_return_status );
6475: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6476: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6477: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6478: RAISE OKL_API.G_EXCEPTION_ERROR;
6479: END IF;
6472: x_srt_details => l_srt_details);
6473: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6474: ': l_return_status ' || l_return_status );
6475: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6476: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6477: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6478: RAISE OKL_API.G_EXCEPTION_ERROR;
6479: END IF;
6480: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6473: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6474: ': l_return_status ' || l_return_status );
6475: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6476: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6477: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6478: RAISE OKL_API.G_EXCEPTION_ERROR;
6479: END IF;
6480: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6481: 'Using SRT ' || l_srt_details.template_name || ' Version ' || l_srt_details.version_number
6474: ': l_return_status ' || l_return_status );
6475: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6476: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6477: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6478: RAISE OKL_API.G_EXCEPTION_ERROR;
6479: END IF;
6480: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6481: 'Using SRT ' || l_srt_details.template_name || ' Version ' || l_srt_details.version_number
6482: || ' Status ' || l_srt_details.sts_code || ' Pricing Engine ' || l_srt_details.pricing_engine_code
6506: x_msg_count => x_msg_count,
6507: x_msg_data => x_msg_data,
6508: p_okl_ac_rec => l_ac_rec_type,
6509: x_adjustment_factor => l_adj_factor );
6510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6513: RAISE OKL_API.G_EXCEPTION_ERROR;
6514: END IF;
6507: x_msg_data => x_msg_data,
6508: p_okl_ac_rec => l_ac_rec_type,
6509: x_adjustment_factor => l_adj_factor );
6510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6513: RAISE OKL_API.G_EXCEPTION_ERROR;
6514: END IF;
6515: END IF;
6508: p_okl_ac_rec => l_ac_rec_type,
6509: x_adjustment_factor => l_adj_factor );
6510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6513: RAISE OKL_API.G_EXCEPTION_ERROR;
6514: END IF;
6515: END IF;
6516: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6509: x_adjustment_factor => l_adj_factor );
6510: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6511: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6512: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6513: RAISE OKL_API.G_EXCEPTION_ERROR;
6514: END IF;
6515: END IF;
6516: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6517: 'Adjustment Factor ' || l_adj_factor );
6554: l_cash_flow_det_tbl(1).start_date := p_qq_hdr_rec.expected_start_date;
6555: l_months_factor := okl_stream_generator_pvt.get_months_factor(
6556: p_frequency => p_qq_hdr_rec.target_frequency,
6557: x_return_status => x_return_status);
6558: IF x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
6559: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6560: ELSIF x_return_status = OKL_API.G_RET_STS_ERROR THEN
6561: RAISE OKL_API.G_EXCEPTION_ERROR;
6562: END IF;
6555: l_months_factor := okl_stream_generator_pvt.get_months_factor(
6556: p_frequency => p_qq_hdr_rec.target_frequency,
6557: x_return_status => x_return_status);
6558: IF x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
6559: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6560: ELSIF x_return_status = OKL_API.G_RET_STS_ERROR THEN
6561: RAISE OKL_API.G_EXCEPTION_ERROR;
6562: END IF;
6563: l_cash_flow_det_tbl(1).number_of_periods := p_qq_hdr_rec.term / l_months_factor;
6556: p_frequency => p_qq_hdr_rec.target_frequency,
6557: x_return_status => x_return_status);
6558: IF x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
6559: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6560: ELSIF x_return_status = OKL_API.G_RET_STS_ERROR THEN
6561: RAISE OKL_API.G_EXCEPTION_ERROR;
6562: END IF;
6563: l_cash_flow_det_tbl(1).number_of_periods := p_qq_hdr_rec.term / l_months_factor;
6564: IF l_cash_flow_det_tbl(1).number_of_periods <> TRUNC( l_cash_flow_det_tbl(1).number_of_periods )
6557: x_return_status => x_return_status);
6558: IF x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
6559: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6560: ELSIF x_return_status = OKL_API.G_RET_STS_ERROR THEN
6561: RAISE OKL_API.G_EXCEPTION_ERROR;
6562: END IF;
6563: l_cash_flow_det_tbl(1).number_of_periods := p_qq_hdr_rec.term / l_months_factor;
6564: IF l_cash_flow_det_tbl(1).number_of_periods <> TRUNC( l_cash_flow_det_tbl(1).number_of_periods )
6565: THEN
6563: l_cash_flow_det_tbl(1).number_of_periods := p_qq_hdr_rec.term / l_months_factor;
6564: IF l_cash_flow_det_tbl(1).number_of_periods <> TRUNC( l_cash_flow_det_tbl(1).number_of_periods )
6565: THEN
6566: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Periods has to be a whole number ');
6567: OKL_API.set_message( G_APP_NAME, OKL_API.G_INVALID_VALUE, OKL_API.G_COL_NAME_TOKEN, 'Target Frequency');
6568: RAISE OKL_API.G_EXCEPTION_ERROR;
6569: END IF;
6570: -- Fetch the day convention from the Stream Generation Template ...
6571: get_qq_sgt_day_convention(
6564: IF l_cash_flow_det_tbl(1).number_of_periods <> TRUNC( l_cash_flow_det_tbl(1).number_of_periods )
6565: THEN
6566: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'Periods has to be a whole number ');
6567: OKL_API.set_message( G_APP_NAME, OKL_API.G_INVALID_VALUE, OKL_API.G_COL_NAME_TOKEN, 'Target Frequency');
6568: RAISE OKL_API.G_EXCEPTION_ERROR;
6569: END IF;
6570: -- Fetch the day convention from the Stream Generation Template ...
6571: get_qq_sgt_day_convention(
6572: p_api_version => p_api_version,
6578: x_days_in_month => x_days_in_month,
6579: x_days_in_year => x_days_in_year);
6580: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6581: 'After get_qq_sgt_day_convention ' || l_return_status );
6582: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6583: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6584: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6585: RAISE OKL_API.G_EXCEPTION_ERROR;
6586: END IF;
6579: x_days_in_year => x_days_in_year);
6580: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6581: 'After get_qq_sgt_day_convention ' || l_return_status );
6582: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6583: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6584: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6585: RAISE OKL_API.G_EXCEPTION_ERROR;
6586: END IF;
6587: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6580: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6581: 'After get_qq_sgt_day_convention ' || l_return_status );
6582: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6583: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6584: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6585: RAISE OKL_API.G_EXCEPTION_ERROR;
6586: END IF;
6587: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6588: 'SGT Day convention: ' || x_days_in_month || ' / ' || x_days_in_year);
6581: 'After get_qq_sgt_day_convention ' || l_return_status );
6582: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6583: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6584: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6585: RAISE OKL_API.G_EXCEPTION_ERROR;
6586: END IF;
6587: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6588: 'SGT Day convention: ' || x_days_in_month || ' / ' || x_days_in_year);
6589: ELSIF p_qq_hdr_rec.structured_pricing <> 'N'
6607: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6608: 'After get_qq_cash_flows ' || l_return_status );
6609: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6610: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
6611: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6612: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6613: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6614: RAISE OKL_API.G_EXCEPTION_ERROR;
6615: END IF;
6608: 'After get_qq_cash_flows ' || l_return_status );
6609: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6610: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
6611: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6612: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6613: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6614: RAISE OKL_API.G_EXCEPTION_ERROR;
6615: END IF;
6616: END IF; -- IF p_qq_hdr_rec.pricing_method
6609: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6610: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
6611: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6612: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6613: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6614: RAISE OKL_API.G_EXCEPTION_ERROR;
6615: END IF;
6616: END IF; -- IF p_qq_hdr_rec.pricing_method
6617: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6610: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
6611: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6612: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6613: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6614: RAISE OKL_API.G_EXCEPTION_ERROR;
6615: END IF;
6616: END IF; -- IF p_qq_hdr_rec.pricing_method
6617: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6618: ': Built the Cash flows and Levels ' );
6635: -- Setting up the return variables
6636: x_cash_flow_rec := l_cash_flow_rec;
6637: x_cash_flow_det_tbl := l_cash_flow_det_tbl;
6638: x_return_status := l_return_status;
6639: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
6640: x_msg_data => x_msg_data);
6641: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6642: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
6643: EXCEPTION
6640: x_msg_data => x_msg_data);
6641: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6642: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
6643: EXCEPTION
6644: WHEN OKL_API.G_EXCEPTION_ERROR THEN
6645: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6646: p_api_name => l_api_name,
6647: p_pkg_name => G_PKG_NAME,
6648: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6641: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6642: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
6643: EXCEPTION
6644: WHEN OKL_API.G_EXCEPTION_ERROR THEN
6645: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6646: p_api_name => l_api_name,
6647: p_pkg_name => G_PKG_NAME,
6648: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6649: x_msg_count => x_msg_count,
6644: WHEN OKL_API.G_EXCEPTION_ERROR THEN
6645: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6646: p_api_name => l_api_name,
6647: p_pkg_name => G_PKG_NAME,
6648: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6649: x_msg_count => x_msg_count,
6650: x_msg_data => x_msg_data,
6651: p_api_type => g_api_type);
6652: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6648: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
6649: x_msg_count => x_msg_count,
6650: x_msg_data => x_msg_data,
6651: p_api_type => g_api_type);
6652: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6653: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6654: p_api_name => l_api_name,
6655: p_pkg_name => G_PKG_NAME,
6656: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
6649: x_msg_count => x_msg_count,
6650: x_msg_data => x_msg_data,
6651: p_api_type => g_api_type);
6652: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6653: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6654: p_api_name => l_api_name,
6655: p_pkg_name => G_PKG_NAME,
6656: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
6657: x_msg_count => x_msg_count,
6652: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6653: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6654: p_api_name => l_api_name,
6655: p_pkg_name => G_PKG_NAME,
6656: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
6657: x_msg_count => x_msg_count,
6658: x_msg_data => x_msg_data,
6659: p_api_type => g_api_type);
6660: WHEN OTHERS THEN
6657: x_msg_count => x_msg_count,
6658: x_msg_data => x_msg_data,
6659: p_api_type => g_api_type);
6660: WHEN OTHERS THEN
6661: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
6662: p_api_name => l_api_name,
6663: p_pkg_name => G_PKG_NAME,
6664: p_exc_name => 'OTHERS',
6665: x_msg_count => x_msg_count,
6795: l_lq_id NUMBER;
6796: l_target_arrears NUMBER;
6797: cfl_index BINARY_INTEGER;
6798: BEGIN
6799: l_return_status := OKL_API.G_RET_STS_SUCCESS;
6800: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
6801: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
6802: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6803: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
6802: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6803: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
6804: -- check for logging on STATEMENT level
6805: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
6806: l_return_status := OKL_API.START_ACTIVITY(
6807: p_api_name => l_api_name,
6808: p_pkg_name => G_PKG_NAME,
6809: p_init_msg_list => p_init_msg_list,
6810: l_api_version => l_api_version,
6811: p_api_version => p_api_version,
6812: p_api_type => g_api_type,
6813: x_return_status => x_return_status);
6814: --Check if activity started successfully
6815: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6817: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6818: RAISE OKL_API.G_EXCEPTION_ERROR;
6819: END IF;
6812: p_api_type => g_api_type,
6813: x_return_status => x_return_status);
6814: --Check if activity started successfully
6815: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6817: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6818: RAISE OKL_API.G_EXCEPTION_ERROR;
6819: END IF;
6820: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', ': p_id=' || p_id );
6813: x_return_status => x_return_status);
6814: --Check if activity started successfully
6815: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6817: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6818: RAISE OKL_API.G_EXCEPTION_ERROR;
6819: END IF;
6820: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', ': p_id=' || p_id );
6821: i := 1;
6814: --Check if activity started successfully
6815: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6817: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6818: RAISE OKL_API.G_EXCEPTION_ERROR;
6819: END IF;
6820: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', ': p_id=' || p_id );
6821: i := 1;
6822: l_months_after := 0;
6857: p_start_date => p_adj_mat_cat_rec.target_eff_from,
6858: x_srt_details => l_srt_details);
6859: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6860: ': l_return_status ' || l_return_status );
6861: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6862: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6863: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6864: RAISE OKL_API.G_EXCEPTION_ERROR;
6865: END IF;
6858: x_srt_details => l_srt_details);
6859: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6860: ': l_return_status ' || l_return_status );
6861: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6862: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6863: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6864: RAISE OKL_API.G_EXCEPTION_ERROR;
6865: END IF;
6866: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6859: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6860: ': l_return_status ' || l_return_status );
6861: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6862: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6863: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6864: RAISE OKL_API.G_EXCEPTION_ERROR;
6865: END IF;
6866: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6867: 'Using SRT ' || l_srt_details.template_name || ' Version ' || l_srt_details.version_number
6860: ': l_return_status ' || l_return_status );
6861: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6862: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6863: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6864: RAISE OKL_API.G_EXCEPTION_ERROR;
6865: END IF;
6866: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
6867: 'Using SRT ' || l_srt_details.template_name || ' Version ' || l_srt_details.version_number
6868: || ' Status ' || l_srt_details.sts_code || ' Pricing Engine ' || l_srt_details.pricing_engine_code
6889: x_msg_count => x_msg_count,
6890: x_msg_data => x_msg_data,
6891: p_okl_ac_rec => l_ac_rec_type,
6892: x_adjustment_factor => l_adj_factor );
6893: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6894: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6895: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6896: RAISE OKL_API.G_EXCEPTION_ERROR;
6897: END IF;
6890: x_msg_data => x_msg_data,
6891: p_okl_ac_rec => l_ac_rec_type,
6892: x_adjustment_factor => l_adj_factor );
6893: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6894: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6895: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6896: RAISE OKL_API.G_EXCEPTION_ERROR;
6897: END IF;
6898: END IF;
6891: p_okl_ac_rec => l_ac_rec_type,
6892: x_adjustment_factor => l_adj_factor );
6893: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6894: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6895: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6896: RAISE OKL_API.G_EXCEPTION_ERROR;
6897: END IF;
6898: END IF;
6899: -- Populating the Cash flow Header information
6892: x_adjustment_factor => l_adj_factor );
6893: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6894: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6895: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6896: RAISE OKL_API.G_EXCEPTION_ERROR;
6897: END IF;
6898: END IF;
6899: -- Populating the Cash flow Header information
6900: IF p_cf_source = G_CF_SOURCE_LQ
6939: p_frequency => l_srt_details.frequency_code,
6940: x_return_status => l_return_status);
6941: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6942: 'p_months_factor'||l_months_factor);
6943: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6944: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6945: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6946: RAISE OKL_API.G_EXCEPTION_ERROR;
6947: END IF;
6940: x_return_status => l_return_status);
6941: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6942: 'p_months_factor'||l_months_factor);
6943: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6944: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6945: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6946: RAISE OKL_API.G_EXCEPTION_ERROR;
6947: END IF;
6948: l_cash_flow_det_tbl(1).number_of_periods := quote_rec.term / l_months_factor;
6941: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
6942: 'p_months_factor'||l_months_factor);
6943: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6944: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6945: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6946: RAISE OKL_API.G_EXCEPTION_ERROR;
6947: END IF;
6948: l_cash_flow_det_tbl(1).number_of_periods := quote_rec.term / l_months_factor;
6949: --l_cash_flow_det_tbl(1).amount has been already fetched from the
6942: 'p_months_factor'||l_months_factor);
6943: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
6944: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
6945: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
6946: RAISE OKL_API.G_EXCEPTION_ERROR;
6947: END IF;
6948: l_cash_flow_det_tbl(1).number_of_periods := quote_rec.term / l_months_factor;
6949: --l_cash_flow_det_tbl(1).amount has been already fetched from the
6950: -- target_amount column either from OKL_LEASE_QUOTES_B/OKL_ASSETS_B/OKL_FEES_B
6953: -- as the pricing option, the user will be shown to enter the Cash flow levels too.
6954: -- Hence, retrieve the cash flow levels even when the pricing option is SRT.
6955: -- From SRT, get the Rate,Frequency
6956: -- From CFL, get the Advance/Arrears, n, Fetching the Cash Flows Information
6957: l_return_status := OKL_API.G_RET_STS_ERROR;
6958: FOR t_rec in lq_cash_flows_csr( p_id =>p_id,
6959: p_cf_source_type => p_cf_source )
6960: LOOP
6961: l_cash_flow_rec.caf_id := t_rec.caf_id;
6969: l_cash_flow_rec.due_arrears_yn := t_rec.due_arrears_yn;
6970: l_cash_flow_rec.start_date := t_rec.start_date;
6971: l_cash_flow_rec.number_of_advance_periods := t_rec.number_of_advance_periods;
6972: -- Use l_retun_status as a flag
6973: l_return_status := OKL_API.G_RET_STS_SUCCESS;
6974: END LOOP;
6975: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
6976: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
6977: THEN
6972: -- Use l_retun_status as a flag
6973: l_return_status := OKL_API.G_RET_STS_SUCCESS;
6974: END LOOP;
6975: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
6976: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
6977: THEN
6978: cfl_index := 1;
6979: l_return_status := OKL_API.G_RET_STS_ERROR;
6980: -- Cash Flows exists. So, fetch the Cash Flow Levels
6975: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
6976: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
6977: THEN
6978: cfl_index := 1;
6979: l_return_status := OKL_API.G_RET_STS_ERROR;
6980: -- Cash Flows exists. So, fetch the Cash Flow Levels
6981: FOR t_rec in lq_cash_flow_levels_csr( l_cash_flow_rec.caf_id )
6982: LOOP
6983: l_cash_flow_det_tbl(cfl_index).cfl_id := t_rec.cfl_id;
7009: -- Regular Periodic Payment
7010: l_cash_flow_det_tbl(cfl_index).is_stub := 'N';
7011: END IF;
7012: -- Use l_retun_status as a flag
7013: l_return_status := OKL_API.G_RET_STS_SUCCESS;
7014: -- Increment i
7015: cfl_index := cfl_index + 1;
7016: END LOOP;
7017: ELSE
7014: -- Increment i
7015: cfl_index := cfl_index + 1;
7016: END LOOP;
7017: ELSE
7018: l_return_status := OKL_API.G_RET_STS_SUCCESS;
7019: END IF;
7020: END IF;
7021: -- Get the Day convention from the SRT itself !
7022: x_days_in_year := l_srt_details.day_convention_code;
7075: x_days_in_month => x_days_in_month,
7076: x_days_in_year => x_days_in_year);
7077: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7078: ': After Fetching the Day convention from the SGT - TR ' );
7079: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7080: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7081: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7082: RAISE OKL_API.G_EXCEPTION_ERROR;
7083: END IF;
7076: x_days_in_year => x_days_in_year);
7077: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7078: ': After Fetching the Day convention from the SGT - TR ' );
7079: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7080: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7081: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7082: RAISE OKL_API.G_EXCEPTION_ERROR;
7083: END IF;
7084: ELSE
7077: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7078: ': After Fetching the Day convention from the SGT - TR ' );
7079: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7080: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7081: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7082: RAISE OKL_API.G_EXCEPTION_ERROR;
7083: END IF;
7084: ELSE
7085: -- Assuming that the Asset is having Structured Pricing overridden
7078: ': After Fetching the Day convention from the SGT - TR ' );
7079: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7080: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7081: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7082: RAISE OKL_API.G_EXCEPTION_ERROR;
7083: END IF;
7084: ELSE
7085: -- Assuming that the Asset is having Structured Pricing overridden
7086: -- from that of the Payment Structure defined at the Lease Quote level
7099: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7100: 'After get_qq_cash_flows ' || l_return_status );
7101: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7102: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
7103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7106: RAISE OKL_API.G_EXCEPTION_ERROR;
7107: END IF;
7100: 'After get_qq_cash_flows ' || l_return_status );
7101: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7102: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
7103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7106: RAISE OKL_API.G_EXCEPTION_ERROR;
7107: END IF;
7108: END IF; -- IF p_qq_hdr_rec.pricing_method
7101: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7102: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
7103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7106: RAISE OKL_API.G_EXCEPTION_ERROR;
7107: END IF;
7108: END IF; -- IF p_qq_hdr_rec.pricing_method
7109: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7102: 'l_cash_flow_det_tbl.COUNT ' || l_cash_flow_det_tbl.COUNT);
7103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7106: RAISE OKL_API.G_EXCEPTION_ERROR;
7107: END IF;
7108: END IF; -- IF p_qq_hdr_rec.pricing_method
7109: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7110: ': Built the Cash flows and Levels ' );
7129: x_cash_flow_rec := l_cash_flow_rec;
7130: x_cash_flow_det_tbl := l_cash_flow_det_tbl;
7131: x_return_status := l_return_status;
7132:
7133: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
7134: x_msg_data => x_msg_data);
7135: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
7136: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
7137: EXCEPTION
7134: x_msg_data => x_msg_data);
7135: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
7136: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
7137: EXCEPTION
7138: WHEN OKL_API.G_EXCEPTION_ERROR THEN
7139: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
7140: p_api_name => l_api_name,
7141: p_pkg_name => G_PKG_NAME,
7142: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
7135: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
7136: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
7137: EXCEPTION
7138: WHEN OKL_API.G_EXCEPTION_ERROR THEN
7139: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
7140: p_api_name => l_api_name,
7141: p_pkg_name => G_PKG_NAME,
7142: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
7143: x_msg_count => x_msg_count,
7138: WHEN OKL_API.G_EXCEPTION_ERROR THEN
7139: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
7140: p_api_name => l_api_name,
7141: p_pkg_name => G_PKG_NAME,
7142: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
7143: x_msg_count => x_msg_count,
7144: x_msg_data => x_msg_data,
7145: p_api_type => g_api_type);
7146: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7142: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
7143: x_msg_count => x_msg_count,
7144: x_msg_data => x_msg_data,
7145: p_api_type => g_api_type);
7146: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7147: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
7148: p_api_name => l_api_name,
7149: p_pkg_name => G_PKG_NAME,
7150: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
7143: x_msg_count => x_msg_count,
7144: x_msg_data => x_msg_data,
7145: p_api_type => g_api_type);
7146: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7147: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
7148: p_api_name => l_api_name,
7149: p_pkg_name => G_PKG_NAME,
7150: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
7151: x_msg_count => x_msg_count,
7146: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7147: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
7148: p_api_name => l_api_name,
7149: p_pkg_name => G_PKG_NAME,
7150: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
7151: x_msg_count => x_msg_count,
7152: x_msg_data => x_msg_data,
7153: p_api_type => g_api_type);
7154: WHEN OTHERS THEN
7151: x_msg_count => x_msg_count,
7152: x_msg_data => x_msg_data,
7153: p_api_type => g_api_type);
7154: WHEN OTHERS THEN
7155: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
7156: p_api_name => l_api_name,
7157: p_pkg_name => G_PKG_NAME,
7158: p_exc_name => 'OTHERS',
7159: x_msg_count => x_msg_count,
7265: l_residual_percent NUMBER;
7266: l_residual_int_factor NUMBER;
7267: l_net_adj_amt NUMBER;
7268: BEGIN
7269: l_return_status := OKL_API.G_RET_STS_SUCCESS;
7270: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
7271: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
7272: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
7273: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
7274: -- check for logging on STATEMENT level
7275: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
7276: -- Call START_ACTIVITY to create savepoint, check compatibility
7277: -- and initialize message list
7278: l_return_status := OKL_API.START_ACTIVITY(
7279: p_api_name => l_api_name,
7280: p_pkg_name => G_PKG_NAME,
7281: p_init_msg_list => p_init_msg_list,
7282: l_api_version => l_api_version,
7282: l_api_version => l_api_version,
7283: p_api_version => p_api_version,
7284: p_api_type => g_api_type,
7285: x_return_status => x_return_status);
7286: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7287: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7288: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7289: RAISE OKL_API.G_EXCEPTION_ERROR;
7290: END IF;
7283: p_api_version => p_api_version,
7284: p_api_type => g_api_type,
7285: x_return_status => x_return_status);
7286: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7287: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7288: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7289: RAISE OKL_API.G_EXCEPTION_ERROR;
7290: END IF;
7291: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7284: p_api_type => g_api_type,
7285: x_return_status => x_return_status);
7286: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7287: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7288: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7289: RAISE OKL_API.G_EXCEPTION_ERROR;
7290: END IF;
7291: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7292: ': p_qq_id ' || p_qq_id );
7285: x_return_status => x_return_status);
7286: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7287: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7288: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7289: RAISE OKL_API.G_EXCEPTION_ERROR;
7290: END IF;
7291: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7292: ': p_qq_id ' || p_qq_id );
7293:
7308: p_so_type => 'QQ',
7309: x_so_hdr_rec => l_hdr_rec );
7310: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7311: 'After get_so_hdr ' || l_return_status );
7312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7315: RAISE OKL_API.G_EXCEPTION_ERROR;
7316: END IF;
7309: x_so_hdr_rec => l_hdr_rec );
7310: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7311: 'After get_so_hdr ' || l_return_status );
7312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7315: RAISE OKL_API.G_EXCEPTION_ERROR;
7316: END IF;
7317: -- Validate the Pricing Method for Quick Quote
7310: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7311: 'After get_so_hdr ' || l_return_status );
7312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7315: RAISE OKL_API.G_EXCEPTION_ERROR;
7316: END IF;
7317: -- Validate the Pricing Method for Quick Quote
7318: -- RC, SF, SP, SS, SY, TR are the permitted pricing methods for the Quick Quote
7311: 'After get_so_hdr ' || l_return_status );
7312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7315: RAISE OKL_API.G_EXCEPTION_ERROR;
7316: END IF;
7317: -- Validate the Pricing Method for Quick Quote
7318: -- RC, SF, SP, SS, SY, TR are the permitted pricing methods for the Quick Quote
7319: l_valid_pm := validate_pricing_method(
7329: ELSE
7330: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7331: 'l_valid_pm = FALSE' );
7332: END IF;
7333: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7334: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7335: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7336: RAISE OKL_API.G_EXCEPTION_ERROR;
7337: END IF;
7330: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7331: 'l_valid_pm = FALSE' );
7332: END IF;
7333: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7334: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7335: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7336: RAISE OKL_API.G_EXCEPTION_ERROR;
7337: END IF;
7338: -- If Pricing Method is invalid .. raise exception ..
7331: 'l_valid_pm = FALSE' );
7332: END IF;
7333: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7334: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7335: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7336: RAISE OKL_API.G_EXCEPTION_ERROR;
7337: END IF;
7338: -- If Pricing Method is invalid .. raise exception ..
7339: IF l_valid_pm = FALSE
7332: END IF;
7333: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7334: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7335: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7336: RAISE OKL_API.G_EXCEPTION_ERROR;
7337: END IF;
7338: -- If Pricing Method is invalid .. raise exception ..
7339: IF l_valid_pm = FALSE
7340: THEN
7338: -- If Pricing Method is invalid .. raise exception ..
7339: IF l_valid_pm = FALSE
7340: THEN
7341: -- Display a message and raise an exception ..
7342: OKL_API.SET_MESSAGE(
7343: p_app_name => g_app_name,
7344: p_msg_name => g_invalid_value,
7345: p_token1 => g_col_name_token,
7346: p_token1_value => 'Pricing Method');
7343: p_app_name => g_app_name,
7344: p_msg_name => g_invalid_value,
7345: p_token1 => g_col_name_token,
7346: p_token1_value => 'Pricing Method');
7347: RAISE OKL_API.G_EXCEPTION_ERROR;
7348: END IF;
7349: -- Know the type of the EOT and then proceed with the values directly or calculate the amount
7350: FOR t_rec IN get_eot_type( p_qq_id => p_qq_id )
7351: LOOP
7366: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7367: 'After get_qq_item_cat_details ' || l_return_status );
7368: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7369: 'l_item_cat_tbl.COUNT ' || l_item_cat_tbl.COUNT );
7370: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7371: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7372: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7373: RAISE OKL_API.G_EXCEPTION_ERROR;
7374: END IF;
7367: 'After get_qq_item_cat_details ' || l_return_status );
7368: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7369: 'l_item_cat_tbl.COUNT ' || l_item_cat_tbl.COUNT );
7370: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7371: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7372: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7373: RAISE OKL_API.G_EXCEPTION_ERROR;
7374: END IF;
7375: -- Loop through the Item Category Table and determine the Total Item Cat Cost
7368: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7369: 'l_item_cat_tbl.COUNT ' || l_item_cat_tbl.COUNT );
7370: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7371: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7372: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7373: RAISE OKL_API.G_EXCEPTION_ERROR;
7374: END IF;
7375: -- Loop through the Item Category Table and determine the Total Item Cat Cost
7376: l_tot_item_cat_amount := 0;
7369: 'l_item_cat_tbl.COUNT ' || l_item_cat_tbl.COUNT );
7370: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7371: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7372: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7373: RAISE OKL_API.G_EXCEPTION_ERROR;
7374: END IF;
7375: -- Loop through the Item Category Table and determine the Total Item Cat Cost
7376: l_tot_item_cat_amount := 0;
7377: l_tot_eot_amount := 0;
7411: p_item_category_amount => l_tot_item_cat_amount,
7412: x_all_amounts_rec => l_fin_adj_rec);
7413: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7414: 'After get_qq_fin_adj_details ' || l_return_status );
7415: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7416: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7417: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7418: RAISE OKL_API.G_EXCEPTION_ERROR;
7419: END IF;
7412: x_all_amounts_rec => l_fin_adj_rec);
7413: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7414: 'After get_qq_fin_adj_details ' || l_return_status );
7415: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7416: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7417: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7418: RAISE OKL_API.G_EXCEPTION_ERROR;
7419: END IF;
7420: -- Possibly now, we can build the Pricing Parameter Record
7413: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7414: 'After get_qq_fin_adj_details ' || l_return_status );
7415: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7416: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7417: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7418: RAISE OKL_API.G_EXCEPTION_ERROR;
7419: END IF;
7420: -- Possibly now, we can build the Pricing Parameter Record
7421: l_pricing_parameters_rec.financed_amount := l_tot_item_cat_amount;
7414: 'After get_qq_fin_adj_details ' || l_return_status );
7415: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7416: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7417: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7418: RAISE OKL_API.G_EXCEPTION_ERROR;
7419: END IF;
7420: -- Possibly now, we can build the Pricing Parameter Record
7421: l_pricing_parameters_rec.financed_amount := l_tot_item_cat_amount;
7422: l_pricing_parameters_rec.trade_in := l_fin_adj_rec.tradein_amount;
7441: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7442: 'After get_qq_asset_oec ' || l_return_status );
7443: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7444: 'l_oec=' || nvl( l_oec, 0 ) );
7445: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7446: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7447: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7448: RAISE OKL_API.G_EXCEPTION_ERROR;
7449: END IF;
7442: 'After get_qq_asset_oec ' || l_return_status );
7443: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7444: 'l_oec=' || nvl( l_oec, 0 ) );
7445: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7446: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7447: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7448: RAISE OKL_API.G_EXCEPTION_ERROR;
7449: END IF;
7450: l_eot_percentage := ( l_tot_eot_amount / l_oec ) * 100; -- EOT Percentage;
7443: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7444: 'l_oec=' || nvl( l_oec, 0 ) );
7445: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7446: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7447: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7448: RAISE OKL_API.G_EXCEPTION_ERROR;
7449: END IF;
7450: l_eot_percentage := ( l_tot_eot_amount / l_oec ) * 100; -- EOT Percentage;
7451: END IF;
7444: 'l_oec=' || nvl( l_oec, 0 ) );
7445: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7446: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7447: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7448: RAISE OKL_API.G_EXCEPTION_ERROR;
7449: END IF;
7450: l_eot_percentage := ( l_tot_eot_amount / l_oec ) * 100; -- EOT Percentage;
7451: END IF;
7452: IF l_hdr_rec.pricing_method = 'RC' -- Rate card pricing
7463: x_days_in_year => l_days_in_year,
7464: x_item_cat_cf_tbl => l_item_cat_cf_tbl);
7465: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7466: 'After get_qq_rc_cash_flows ' || l_return_status );
7467: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7468: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7469: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7470: RAISE OKL_API.G_EXCEPTION_ERROR;
7471: END IF;
7464: x_item_cat_cf_tbl => l_item_cat_cf_tbl);
7465: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7466: 'After get_qq_rc_cash_flows ' || l_return_status );
7467: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7468: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7469: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7470: RAISE OKL_API.G_EXCEPTION_ERROR;
7471: END IF;
7472: -- The frequency needs to be fetched from the target_frequency
7465: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7466: 'After get_qq_rc_cash_flows ' || l_return_status );
7467: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7468: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7469: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7470: RAISE OKL_API.G_EXCEPTION_ERROR;
7471: END IF;
7472: -- The frequency needs to be fetched from the target_frequency
7473: l_frequency := l_item_cat_cf_tbl(1).cash_flow_level_tbl(1).fqy_code;
7466: 'After get_qq_rc_cash_flows ' || l_return_status );
7467: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7468: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7469: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7470: RAISE OKL_API.G_EXCEPTION_ERROR;
7471: END IF;
7472: -- The frequency needs to be fetched from the target_frequency
7473: l_frequency := l_item_cat_cf_tbl(1).cash_flow_level_tbl(1).fqy_code;
7474: ELSE
7489: x_cash_flow_rec => l_cash_flow_rec, -- Cash Flow Record
7490: x_cash_flow_det_tbl => l_cash_flow_det_tbl); -- Cash Flow Details Table
7491: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7492: 'After get_qq_cash_flows ' || l_return_status );
7493: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7494: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7495: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7496: RAISE OKL_API.G_EXCEPTION_ERROR;
7497: END IF;
7490: x_cash_flow_det_tbl => l_cash_flow_det_tbl); -- Cash Flow Details Table
7491: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7492: 'After get_qq_cash_flows ' || l_return_status );
7493: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7494: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7495: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7496: RAISE OKL_API.G_EXCEPTION_ERROR;
7497: END IF;
7498: -- Generate the Streams
7491: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7492: 'After get_qq_cash_flows ' || l_return_status );
7493: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7494: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7495: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7496: RAISE OKL_API.G_EXCEPTION_ERROR;
7497: END IF;
7498: -- Generate the Streams
7499: IF l_cash_flow_det_tbl IS NOT NULL AND
7492: 'After get_qq_cash_flows ' || l_return_status );
7493: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7494: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7495: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7496: RAISE OKL_API.G_EXCEPTION_ERROR;
7497: END IF;
7498: -- Generate the Streams
7499: IF l_cash_flow_det_tbl IS NOT NULL AND
7500: l_cash_flow_det_tbl.COUNT > 0
7508: x_msg_data => x_msg_data,
7509: p_cash_flow_rec => l_cash_flow_rec,
7510: p_cf_details_tbl => l_cash_flow_det_tbl,
7511: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
7512: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7513: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7514: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7515: RAISE OKL_API.G_EXCEPTION_ERROR;
7516: END IF;
7509: p_cash_flow_rec => l_cash_flow_rec,
7510: p_cf_details_tbl => l_cash_flow_det_tbl,
7511: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
7512: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7513: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7514: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7515: RAISE OKL_API.G_EXCEPTION_ERROR;
7516: END IF;
7517: l_frequency := l_cash_flow_det_tbl(l_cash_flow_det_tbl.FIRST).fqy_code;
7510: p_cf_details_tbl => l_cash_flow_det_tbl,
7511: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
7512: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7513: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7514: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7515: RAISE OKL_API.G_EXCEPTION_ERROR;
7516: END IF;
7517: l_frequency := l_cash_flow_det_tbl(l_cash_flow_det_tbl.FIRST).fqy_code;
7518: ELSE
7511: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
7512: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7513: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7514: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7515: RAISE OKL_API.G_EXCEPTION_ERROR;
7516: END IF;
7517: l_frequency := l_cash_flow_det_tbl(l_cash_flow_det_tbl.FIRST).fqy_code;
7518: ELSE
7519: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7517: l_frequency := l_cash_flow_det_tbl(l_cash_flow_det_tbl.FIRST).fqy_code;
7518: ELSE
7519: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7520: 'No Cash flow and Cash flow Levels obtained ! ' );
7521: OKL_API.SET_MESSAGE (
7522: p_app_name => G_APP_NAME,
7523: p_msg_name => 'OKL_LLA_PMT_SELECT');
7524: RAISE OKL_API.G_EXCEPTION_ERROR;
7525: END IF;
7520: 'No Cash flow and Cash flow Levels obtained ! ' );
7521: OKL_API.SET_MESSAGE (
7522: p_app_name => G_APP_NAME,
7523: p_msg_name => 'OKL_LLA_PMT_SELECT');
7524: RAISE OKL_API.G_EXCEPTION_ERROR;
7525: END IF;
7526: END IF; -- IF on Rate Card Pricing Method ..
7527: -- Build the Residuals Table
7528: IF l_item_cat_tbl IS NOT NULL AND
7532: p_start_date => l_hdr_rec.expected_start_date,
7533: p_months_after => l_hdr_rec.term,
7534: x_date => l_eot_date,
7535: x_return_status => l_return_status);
7536: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7537: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7538: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7539: RAISE OKL_API.G_EXCEPTION_ERROR;
7540: END IF;
7533: p_months_after => l_hdr_rec.term,
7534: x_date => l_eot_date,
7535: x_return_status => l_return_status);
7536: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7537: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7538: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7539: RAISE OKL_API.G_EXCEPTION_ERROR;
7540: END IF;
7541: l_eot_date := l_eot_date - 1;
7534: x_date => l_eot_date,
7535: x_return_status => l_return_status);
7536: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7537: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7538: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7539: RAISE OKL_API.G_EXCEPTION_ERROR;
7540: END IF;
7541: l_eot_date := l_eot_date - 1;
7542: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7535: x_return_status => l_return_status);
7536: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7537: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7538: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7539: RAISE OKL_API.G_EXCEPTION_ERROR;
7540: END IF;
7541: l_eot_date := l_eot_date - 1;
7542: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7543: 'QQ End date: ' || l_eot_date);
7548: x_ppy => l_cf_ppy,
7549: x_return_status => l_return_status );
7550: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7551: 'After get_dpp_ppy : ' || l_return_status);
7552: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7553: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7554: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7555: RAISE OKL_API.G_EXCEPTION_ERROR;
7556: END IF;
7549: x_return_status => l_return_status );
7550: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7551: 'After get_dpp_ppy : ' || l_return_status);
7552: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7553: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7554: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7555: RAISE OKL_API.G_EXCEPTION_ERROR;
7556: END IF;
7557: IF l_hdr_rec.pricing_method <> 'RC'
7550: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7551: 'After get_dpp_ppy : ' || l_return_status);
7552: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7553: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7554: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7555: RAISE OKL_API.G_EXCEPTION_ERROR;
7556: END IF;
7557: IF l_hdr_rec.pricing_method <> 'RC'
7558: THEN
7551: 'After get_dpp_ppy : ' || l_return_status);
7552: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7553: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7554: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7555: RAISE OKL_API.G_EXCEPTION_ERROR;
7556: END IF;
7557: IF l_hdr_rec.pricing_method <> 'RC'
7558: THEN
7559: FOR i in l_item_cat_tbl.FIRST .. l_item_cat_tbl.LAST
7609: p_cf_details_tbl => l_item_cat_cf_tbl(t).cash_flow_level_tbl,
7610: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
7611: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7612: 'After gen_so_cf_strms ' || l_return_status );
7613: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7614: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7615: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7616: RAISE OKL_API.G_EXCEPTION_ERROR;
7617: END IF;
7610: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
7611: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7612: 'After gen_so_cf_strms ' || l_return_status );
7613: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7614: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7615: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7616: RAISE OKL_API.G_EXCEPTION_ERROR;
7617: END IF;
7618: ELSE
7611: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7612: 'After gen_so_cf_strms ' || l_return_status );
7613: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7614: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7615: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7616: RAISE OKL_API.G_EXCEPTION_ERROR;
7617: END IF;
7618: ELSE
7619: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7612: 'After gen_so_cf_strms ' || l_return_status );
7613: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7614: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7615: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7616: RAISE OKL_API.G_EXCEPTION_ERROR;
7617: END IF;
7618: ELSE
7619: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7620: 'No Cash flow and Cash flow Levels obtained ! ' );
7617: END IF;
7618: ELSE
7619: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7620: 'No Cash flow and Cash flow Levels obtained ! ' );
7621: OKL_API.SET_MESSAGE (
7622: p_app_name => G_APP_NAME,
7623: p_msg_name => 'OKL_LLA_PMT_SELECT');
7624: RAISE OKL_API.G_EXCEPTION_ERROR;
7625: END IF;
7620: 'No Cash flow and Cash flow Levels obtained ! ' );
7621: OKL_API.SET_MESSAGE (
7622: p_app_name => G_APP_NAME,
7623: p_msg_name => 'OKL_LLA_PMT_SELECT');
7624: RAISE OKL_API.G_EXCEPTION_ERROR;
7625: END IF;
7626: l_pricing_parameters_tbl(pp_index).cash_inflows := l_strm_ele_tbl;
7627: l_strm_ele_tbl.DELETE;
7628: -- Increment the pricing param index ..
7654: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7655: 'After get_day_count_method ' || l_return_status);
7656: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7657: 'l_day_count_method = ' || l_day_count_method);
7658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7661: --Bug 5884825 PAGARG start
7662: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7655: 'After get_day_count_method ' || l_return_status);
7656: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7657: 'l_day_count_method = ' || l_day_count_method);
7658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7661: --Bug 5884825 PAGARG start
7662: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7663: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7656: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7657: 'l_day_count_method = ' || l_day_count_method);
7658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7661: --Bug 5884825 PAGARG start
7662: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7663: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7664: p_token1 => 'PRODUCT_NAME',
7658: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7659: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7660: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7661: --Bug 5884825 PAGARG start
7662: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7663: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7664: p_token1 => 'PRODUCT_NAME',
7665: p_token1_value => l_product_name);
7666: --Bug 5884825 PAGARG end
7663: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7664: p_token1 => 'PRODUCT_NAME',
7665: p_token1_value => l_product_name);
7666: --Bug 5884825 PAGARG end
7667: RAISE OKL_API.G_EXCEPTION_ERROR;
7668: END IF;
7669: IF l_hdr_rec.rate_template_id IS NOT NULL
7670: THEN
7671: -- Fetch the day convention from the Stream Generation Template ...
7681: x_days_in_month => l_sgt_days_in_month,
7682: x_days_in_year => l_sgt_days_in_year);
7683: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7684: 'After get_qq_sgt_day_convention ' || l_return_status );
7685: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7686: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7687: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7688: RAISE OKL_API.G_EXCEPTION_ERROR;
7689: END IF;
7682: x_days_in_year => l_sgt_days_in_year);
7683: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7684: 'After get_qq_sgt_day_convention ' || l_return_status );
7685: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7686: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7687: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7688: RAISE OKL_API.G_EXCEPTION_ERROR;
7689: END IF;
7690: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7683: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7684: 'After get_qq_sgt_day_convention ' || l_return_status );
7685: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7686: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7687: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7688: RAISE OKL_API.G_EXCEPTION_ERROR;
7689: END IF;
7690: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7691: 'SGT Day convention: ' || l_days_in_month || ' / ' || l_days_in_year);
7684: 'After get_qq_sgt_day_convention ' || l_return_status );
7685: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7686: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7687: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7688: RAISE OKL_API.G_EXCEPTION_ERROR;
7689: END IF;
7690: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7691: 'SGT Day convention: ' || l_days_in_month || ' / ' || l_days_in_year);
7692: -- Get the day convention ..
7698: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7699: '2/ After get_day_count_method ' || l_return_status);
7700: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7701: 'l_sgt_day_count_method = ' || l_sgt_day_count_method);
7702: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7703: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7704: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7705: --Bug 5884825 PAGARG start
7706: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7699: '2/ After get_day_count_method ' || l_return_status);
7700: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7701: 'l_sgt_day_count_method = ' || l_sgt_day_count_method);
7702: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7703: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7704: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7705: --Bug 5884825 PAGARG start
7706: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7707: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7700: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7701: 'l_sgt_day_count_method = ' || l_sgt_day_count_method);
7702: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7703: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7704: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7705: --Bug 5884825 PAGARG start
7706: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7707: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7708: p_token1 => 'PRODUCT_NAME',
7702: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7703: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7704: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7705: --Bug 5884825 PAGARG start
7706: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
7707: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7708: p_token1 => 'PRODUCT_NAME',
7709: p_token1_value => l_product_name);
7710: --Bug 5884825 PAGARG end
7707: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
7708: p_token1 => 'PRODUCT_NAME',
7709: p_token1_value => l_product_name);
7710: --Bug 5884825 PAGARG end
7711: RAISE OKL_API.G_EXCEPTION_ERROR;
7712: END IF;
7713: ELSE
7714: -- The day convention returned by the get_qq_rc_cash_flows / get_qq_cash_flows
7715: -- will be from the SGT already, so just store them in the SGT day convention variables.
7749: px_iir => l_iir,
7750: x_payment => l_miss_payment);
7751: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7752: 'After compute_iir ' || l_return_status );
7753: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7754: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7755: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7756: RAISE OKL_API.G_EXCEPTION_ERROR;
7757: END IF;
7750: x_payment => l_miss_payment);
7751: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7752: 'After compute_iir ' || l_return_status );
7753: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7754: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7755: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7756: RAISE OKL_API.G_EXCEPTION_ERROR;
7757: END IF;
7758: IF l_hdr_rec.pricing_method = 'SP' OR
7751: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7752: 'After compute_iir ' || l_return_status );
7753: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7754: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7755: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7756: RAISE OKL_API.G_EXCEPTION_ERROR;
7757: END IF;
7758: IF l_hdr_rec.pricing_method = 'SP' OR
7759: (l_hdr_rec.pricing_method = 'TR' AND
7752: 'After compute_iir ' || l_return_status );
7753: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7754: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7755: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7756: RAISE OKL_API.G_EXCEPTION_ERROR;
7757: END IF;
7758: IF l_hdr_rec.pricing_method = 'SP' OR
7759: (l_hdr_rec.pricing_method = 'TR' AND
7760: l_hdr_rec.target_rate_type = 'IIR' )
7760: l_hdr_rec.target_rate_type = 'IIR' )
7761: THEN
7762: IF l_miss_payment < 0
7763: THEN
7764: OKL_API.SET_MESSAGE (
7765: p_app_name => G_APP_NAME,
7766: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT',
7767: p_token1 => 'TYPE',
7768: p_token1_value => 'Payment',
7767: p_token1 => 'TYPE',
7768: p_token1_value => 'Payment',
7769: p_token2 => 'AMOUNT',
7770: p_token2_value => round(l_miss_payment,2) );
7771: RAISE okl_api.g_exception_error;
7772: END IF;
7773: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7774: ' SOLVED PAYMENT AMOUNT : ' || l_miss_payment );
7775: -- Populate back the missing payment amount in all the stream elements
7788: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7789: 'SOLVED SUBSIDY AMOUNT ' || l_pricing_parameters_tbl(1).subsidy );
7790: IF l_pricing_parameters_tbl(1).subsidy < 0
7791: THEN
7792: OKL_API.SET_MESSAGE (
7793: p_app_name => G_APP_NAME,
7794: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT',
7795: p_token1 => 'TYPE',
7796: p_token1_value => 'Subsidy',
7795: p_token1 => 'TYPE',
7796: p_token1_value => 'Subsidy',
7797: p_token2 => 'AMOUNT',
7798: p_token2_value => round(l_pricing_parameters_tbl(1).subsidy,2) );
7799: RAISE okl_api.g_exception_error;
7800: END IF;
7801: END IF; -- IF on pricing method
7802: ELSIF l_hdr_rec.pricing_method = 'SFP'
7803: THEN
7824: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7825: 'Closing Balance | Residual Percent | l_residual_int_factor ' );
7826: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7827: round(l_closing_balance, 4) || ' | ' || round( l_residual_percent, 4) || ' | ' || round(l_residual_int_factor,4) );
7828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7831: RAISE OKL_API.G_EXCEPTION_ERROR;
7832: END IF;
7825: 'Closing Balance | Residual Percent | l_residual_int_factor ' );
7826: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7827: round(l_closing_balance, 4) || ' | ' || round( l_residual_percent, 4) || ' | ' || round(l_residual_int_factor,4) );
7828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7831: RAISE OKL_API.G_EXCEPTION_ERROR;
7832: END IF;
7833: END IF;
7826: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7827: round(l_closing_balance, 4) || ' | ' || round( l_residual_percent, 4) || ' | ' || round(l_residual_int_factor,4) );
7828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7831: RAISE OKL_API.G_EXCEPTION_ERROR;
7832: END IF;
7833: END IF;
7834: IF l_hdr_rec.pricing_method = 'SF' OR
7827: round(l_closing_balance, 4) || ' | ' || round( l_residual_percent, 4) || ' | ' || round(l_residual_int_factor,4) );
7828: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7829: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7830: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7831: RAISE OKL_API.G_EXCEPTION_ERROR;
7832: END IF;
7833: END IF;
7834: IF l_hdr_rec.pricing_method = 'SF' OR
7835: l_hdr_rec.pricing_method = 'SFP'
7964: p_tot_rent_payment => l_tot_rent_payment,
7965: x_fee_srv_tbl => l_fee_srv_tbl);
7966: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7967: 'After get_fee_srvc_cash_flows ' || l_return_status );
7968: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7969: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7970: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7971: RAISE OKL_API.G_EXCEPTION_ERROR;
7972: END IF;
7965: x_fee_srv_tbl => l_fee_srv_tbl);
7966: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7967: 'After get_fee_srvc_cash_flows ' || l_return_status );
7968: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7969: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7970: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7971: RAISE OKL_API.G_EXCEPTION_ERROR;
7972: END IF;
7973: -- Now need to loop through the l_fee_srv_tbl, generate streams if needed
7966: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
7967: 'After get_fee_srvc_cash_flows ' || l_return_status );
7968: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7969: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7970: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7971: RAISE OKL_API.G_EXCEPTION_ERROR;
7972: END IF;
7973: -- Now need to loop through the l_fee_srv_tbl, generate streams if needed
7974: -- and accumulate the streams in the l_pricing_parameters_tbl !!
7967: 'After get_fee_srvc_cash_flows ' || l_return_status );
7968: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
7969: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
7970: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
7971: RAISE OKL_API.G_EXCEPTION_ERROR;
7972: END IF;
7973: -- Now need to loop through the l_fee_srv_tbl, generate streams if needed
7974: -- and accumulate the streams in the l_pricing_parameters_tbl !!
7975: IF l_fee_srv_tbl.COUNT > 0
8004: x_msg_data => x_msg_data,
8005: p_cash_flow_rec => l_fee_srv_tbl(t_index).cash_flow_rec,
8006: p_cf_details_tbl => l_fee_srv_tbl(t_index).cash_flow_level_tbl,
8007: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
8008: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8009: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8010: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8011: RAISE OKL_API.G_EXCEPTION_ERROR;
8012: END IF;
8005: p_cash_flow_rec => l_fee_srv_tbl(t_index).cash_flow_rec,
8006: p_cf_details_tbl => l_fee_srv_tbl(t_index).cash_flow_level_tbl,
8007: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
8008: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8009: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8010: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8011: RAISE OKL_API.G_EXCEPTION_ERROR;
8012: END IF;
8013: END IF;
8006: p_cf_details_tbl => l_fee_srv_tbl(t_index).cash_flow_level_tbl,
8007: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
8008: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8009: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8010: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8011: RAISE OKL_API.G_EXCEPTION_ERROR;
8012: END IF;
8013: END IF;
8014: -- Get the line_end_date from the last stream element generated !
8007: x_cash_inflow_strms_tbl => l_strm_ele_tbl);
8008: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8009: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8010: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8011: RAISE OKL_API.G_EXCEPTION_ERROR;
8012: END IF;
8013: END IF;
8014: -- Get the line_end_date from the last stream element generated !
8015: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8057: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8058: 'After compute_irr ' || l_return_status );
8059: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8060: 'SOLVED FOR TARGET-RATE (PIRR) ' || l_miss_payment );
8061: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8062: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8063: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8064: RAISE OKL_API.G_EXCEPTION_ERROR;
8065: END IF;
8058: 'After compute_irr ' || l_return_status );
8059: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8060: 'SOLVED FOR TARGET-RATE (PIRR) ' || l_miss_payment );
8061: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8062: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8063: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8064: RAISE OKL_API.G_EXCEPTION_ERROR;
8065: END IF;
8066: IF l_miss_payment < 0
8059: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8060: 'SOLVED FOR TARGET-RATE (PIRR) ' || l_miss_payment );
8061: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8062: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8063: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8064: RAISE OKL_API.G_EXCEPTION_ERROR;
8065: END IF;
8066: IF l_miss_payment < 0
8067: THEN
8060: 'SOLVED FOR TARGET-RATE (PIRR) ' || l_miss_payment );
8061: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8062: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8063: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8064: RAISE OKL_API.G_EXCEPTION_ERROR;
8065: END IF;
8066: IF l_miss_payment < 0
8067: THEN
8068: OKL_API.SET_MESSAGE (
8064: RAISE OKL_API.G_EXCEPTION_ERROR;
8065: END IF;
8066: IF l_miss_payment < 0
8067: THEN
8068: OKL_API.SET_MESSAGE (
8069: p_app_name => G_APP_NAME,
8070: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT',
8071: p_token1 => 'TYPE',
8072: p_token1_value => 'Payment',
8071: p_token1 => 'TYPE',
8072: p_token1_value => 'Payment',
8073: p_token2 => 'AMOUNT',
8074: p_token2_value => round(l_miss_payment,2) );
8075: RAISE okl_api.g_exception_error;
8076: END IF;
8077: END IF; -- Pricing method IF
8078: -- In case of the Pricing Method is SP...
8079: -- populate back the missing amount into the Cash Inflow Levels and the Streams too..
8178: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8179: '1/ After compute_iir ' || l_return_status );
8180: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8181: 'SOLVED FOR IIR ' || l_iir );
8182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8185: RAISE OKL_API.G_EXCEPTION_ERROR;
8186: END IF;
8179: '1/ After compute_iir ' || l_return_status );
8180: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8181: 'SOLVED FOR IIR ' || l_iir );
8182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8185: RAISE OKL_API.G_EXCEPTION_ERROR;
8186: END IF;
8187: -- Store back the pricing params record in l_pricing_parameters_tbl
8180: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8181: 'SOLVED FOR IIR ' || l_iir );
8182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8185: RAISE OKL_API.G_EXCEPTION_ERROR;
8186: END IF;
8187: -- Store back the pricing params record in l_pricing_parameters_tbl
8188: IF l_hdr_rec.pricing_method = 'RC'
8181: 'SOLVED FOR IIR ' || l_iir );
8182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8185: RAISE OKL_API.G_EXCEPTION_ERROR;
8186: END IF;
8187: -- Store back the pricing params record in l_pricing_parameters_tbl
8188: IF l_hdr_rec.pricing_method = 'RC'
8189: THEN
8220: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8221: 'After compute_irr ' || l_return_status );
8222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8223: 'px_irr ' || l_irr );
8224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8227: RAISE OKL_API.G_EXCEPTION_ERROR;
8228: END IF;
8221: 'After compute_irr ' || l_return_status );
8222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8223: 'px_irr ' || l_irr );
8224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8227: RAISE OKL_API.G_EXCEPTION_ERROR;
8228: END IF;
8229: END IF; -- IF l_hdr_rec.pricing_method = 'TR' AND l_hdr_rec.target_rate_type = 'PIRR'
8222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8223: 'px_irr ' || l_irr );
8224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8227: RAISE OKL_API.G_EXCEPTION_ERROR;
8228: END IF;
8229: END IF; -- IF l_hdr_rec.pricing_method = 'TR' AND l_hdr_rec.target_rate_type = 'PIRR'
8230: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8223: 'px_irr ' || l_irr );
8224: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8225: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8226: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8227: RAISE OKL_API.G_EXCEPTION_ERROR;
8228: END IF;
8229: END IF; -- IF l_hdr_rec.pricing_method = 'TR' AND l_hdr_rec.target_rate_type = 'PIRR'
8230: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8231: 'Subsidized Booking Yield Calculation ' );
8255: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8256: 'After compute_bk_yield ' || l_return_status );
8257: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8258: 'x_bk_yield ' || l_bk_yield );
8259: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8260: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8261: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8262: RAISE OKL_API.G_EXCEPTION_ERROR;
8263: END IF;
8256: 'After compute_bk_yield ' || l_return_status );
8257: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8258: 'x_bk_yield ' || l_bk_yield );
8259: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8260: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8261: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8262: RAISE OKL_API.G_EXCEPTION_ERROR;
8263: END IF;
8264: */
8257: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8258: 'x_bk_yield ' || l_bk_yield );
8259: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8260: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8261: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8262: RAISE OKL_API.G_EXCEPTION_ERROR;
8263: END IF;
8264: */
8265: END IF;
8258: 'x_bk_yield ' || l_bk_yield );
8259: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8260: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8261: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8262: RAISE OKL_API.G_EXCEPTION_ERROR;
8263: END IF;
8264: */
8265: END IF;
8266: -- Need to store the Subsidized Yields into l_subsized_yileds_rec
8320: p_initial_guess => l_subsidized_yields_rec.iir,
8321: px_pricing_parameter_tbl => l_tmp_prc_params_tbl,
8322: px_irr => l_iir,
8323: x_payment => l_miss_payment);
8324: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8326: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8327: RAISE OKL_API.G_EXCEPTION_ERROR;
8328: END IF;
8321: px_pricing_parameter_tbl => l_tmp_prc_params_tbl,
8322: px_irr => l_iir,
8323: x_payment => l_miss_payment);
8324: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8326: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8327: RAISE OKL_API.G_EXCEPTION_ERROR;
8328: END IF;
8329: -- Store back the pricing params ..
8322: px_irr => l_iir,
8323: x_payment => l_miss_payment);
8324: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8326: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8327: RAISE OKL_API.G_EXCEPTION_ERROR;
8328: END IF;
8329: -- Store back the pricing params ..
8330: IF l_hdr_rec.pricing_method = 'RC'
8323: x_payment => l_miss_payment);
8324: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8326: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8327: RAISE OKL_API.G_EXCEPTION_ERROR;
8328: END IF;
8329: -- Store back the pricing params ..
8330: IF l_hdr_rec.pricing_method = 'RC'
8331: THEN
8354: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8355: 'After compute_irr ' || l_return_status );
8356: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8357: 'px_irr ' || l_irr );
8358: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8359: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8360: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8361: RAISE OKL_API.G_EXCEPTION_ERROR;
8362: END IF;
8355: 'After compute_irr ' || l_return_status );
8356: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8357: 'px_irr ' || l_irr );
8358: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8359: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8360: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8361: RAISE OKL_API.G_EXCEPTION_ERROR;
8362: END IF;
8363: IF l_hdr_rec.pricing_method = 'RC'
8356: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8357: 'px_irr ' || l_irr );
8358: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8359: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8360: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8361: RAISE OKL_API.G_EXCEPTION_ERROR;
8362: END IF;
8363: IF l_hdr_rec.pricing_method = 'RC'
8364: THEN
8357: 'px_irr ' || l_irr );
8358: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8359: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8360: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8361: RAISE OKL_API.G_EXCEPTION_ERROR;
8362: END IF;
8363: IF l_hdr_rec.pricing_method = 'RC'
8364: THEN
8365: -- Store the IIR as the Booking Yield @ the QQ level
8384: x_termination_tbl => x_termination_tbl,
8385: x_pre_tax_inc_tbl => x_pre_tax_inc_tbl);
8386: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'After compute_bk_yield ' || l_return_status );
8387: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'x_bk_yield ' || l_bk_yield );
8388: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8389: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8390: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8391: RAISE OKL_API.G_EXCEPTION_ERROR;
8392: END IF;
8385: x_pre_tax_inc_tbl => x_pre_tax_inc_tbl);
8386: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'After compute_bk_yield ' || l_return_status );
8387: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'x_bk_yield ' || l_bk_yield );
8388: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8389: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8390: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8391: RAISE OKL_API.G_EXCEPTION_ERROR;
8392: END IF;
8393: */
8386: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'After compute_bk_yield ' || l_return_status );
8387: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'x_bk_yield ' || l_bk_yield );
8388: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8389: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8390: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8391: RAISE OKL_API.G_EXCEPTION_ERROR;
8392: END IF;
8393: */
8394: END IF;
8387: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S', 'x_bk_yield ' || l_bk_yield );
8388: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8389: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8390: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8391: RAISE OKL_API.G_EXCEPTION_ERROR;
8392: END IF;
8393: */
8394: END IF;
8395: -- ISG doesnot calculate the after_tax_irr yet
8551: i := i + 1;
8552: END LOOP;
8553: END IF;
8554: x_return_status := l_return_status;
8555: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
8556: x_msg_data => x_msg_data);
8557: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8558: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
8559: EXCEPTION
8556: x_msg_data => x_msg_data);
8557: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8558: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
8559: EXCEPTION
8560: WHEN OKL_API.G_EXCEPTION_ERROR THEN
8561: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8562: p_api_name => l_api_name,
8563: p_pkg_name => G_PKG_NAME,
8564: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8557: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8558: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
8559: EXCEPTION
8560: WHEN OKL_API.G_EXCEPTION_ERROR THEN
8561: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8562: p_api_name => l_api_name,
8563: p_pkg_name => G_PKG_NAME,
8564: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8565: x_msg_count => x_msg_count,
8560: WHEN OKL_API.G_EXCEPTION_ERROR THEN
8561: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8562: p_api_name => l_api_name,
8563: p_pkg_name => G_PKG_NAME,
8564: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8565: x_msg_count => x_msg_count,
8566: x_msg_data => x_msg_data,
8567: p_api_type => g_api_type);
8568: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8564: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8565: x_msg_count => x_msg_count,
8566: x_msg_data => x_msg_data,
8567: p_api_type => g_api_type);
8568: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8569: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8570: p_api_name => l_api_name,
8571: p_pkg_name => G_PKG_NAME,
8572: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
8565: x_msg_count => x_msg_count,
8566: x_msg_data => x_msg_data,
8567: p_api_type => g_api_type);
8568: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8569: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8570: p_api_name => l_api_name,
8571: p_pkg_name => G_PKG_NAME,
8572: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
8573: x_msg_count => x_msg_count,
8568: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8569: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8570: p_api_name => l_api_name,
8571: p_pkg_name => G_PKG_NAME,
8572: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
8573: x_msg_count => x_msg_count,
8574: x_msg_data => x_msg_data,
8575: p_api_type => g_api_type);
8576: WHEN OTHERS THEN
8573: x_msg_count => x_msg_count,
8574: x_msg_data => x_msg_data,
8575: p_api_type => g_api_type);
8576: WHEN OTHERS THEN
8577: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8578: p_api_name => l_api_name,
8579: p_pkg_name => G_PKG_NAME,
8580: p_exc_name => 'OTHERS',
8581: x_msg_count => x_msg_count,
8647: l_component_tbl OKL_LEASE_QUOTE_ASSET_PVT.asset_component_tbl_type;
8648: l_cf_hdr_rec OKL_LEASE_QUOTE_ASSET_PVT.cashflow_hdr_rec_type;
8649: l_cf_level_tbl OKL_LEASE_QUOTE_ASSET_PVT.cashflow_level_tbl_type;
8650: BEGIN
8651: l_return_status := OKL_API.G_RET_STS_SUCCESS;
8652: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
8653: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
8654: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8655: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
8654: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8655: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
8656: -- check for logging on STATEMENT level
8657: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
8658: l_return_status := OKL_API.START_ACTIVITY(
8659: p_api_name => l_api_name,
8660: p_pkg_name => G_PKG_NAME,
8661: p_init_msg_list => p_init_msg_list,
8662: l_api_version => l_api_version,
8663: p_api_version => p_api_version,
8664: p_api_type => g_api_type,
8665: x_return_status => x_return_status);
8666: --Check if activity started successfully
8667: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8668: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8669: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8670: RAISE OKL_API.G_EXCEPTION_ERROR;
8671: END IF;
8664: p_api_type => g_api_type,
8665: x_return_status => x_return_status);
8666: --Check if activity started successfully
8667: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8668: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8669: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8670: RAISE OKL_API.G_EXCEPTION_ERROR;
8671: END IF;
8672: -- Loop thu all the assets
8665: x_return_status => x_return_status);
8666: --Check if activity started successfully
8667: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8668: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8669: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8670: RAISE OKL_API.G_EXCEPTION_ERROR;
8671: END IF;
8672: -- Loop thu all the assets
8673: -- store the non-overriding assets id into assets_tbl
8666: --Check if activity started successfully
8667: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8668: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8669: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8670: RAISE OKL_API.G_EXCEPTION_ERROR;
8671: END IF;
8672: -- Loop thu all the assets
8673: -- store the non-overriding assets id into assets_tbl
8674: -- sum the oec_percentage
8695: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8696: 'After is_asset_overriding assets_rec.id =' || asset_rec.ast_id);
8697: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8698: ' l_return_status =' || l_return_status );
8699: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8700: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8701: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8702: RAISE OKL_API.G_EXCEPTION_ERROR;
8703: END IF;
8696: 'After is_asset_overriding assets_rec.id =' || asset_rec.ast_id);
8697: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8698: ' l_return_status =' || l_return_status );
8699: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8700: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8701: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8702: RAISE OKL_API.G_EXCEPTION_ERROR;
8703: END IF;
8704: IF l_overridden = FALSE
8697: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
8698: ' l_return_status =' || l_return_status );
8699: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8700: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8701: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8702: RAISE OKL_API.G_EXCEPTION_ERROR;
8703: END IF;
8704: IF l_overridden = FALSE
8705: THEN
8698: ' l_return_status =' || l_return_status );
8699: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8700: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8701: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8702: RAISE OKL_API.G_EXCEPTION_ERROR;
8703: END IF;
8704: IF l_overridden = FALSE
8705: THEN
8706: -- Asset is following the Payment Structure defined at Lease quote ..
8753: x_msg_count => x_msg_count,
8754: x_msg_data => x_msg_data);
8755: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8756: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
8757: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8758: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8759: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8760: RAISE OKL_API.G_EXCEPTION_ERROR;
8761: END IF;
8754: x_msg_data => x_msg_data);
8755: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8756: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
8757: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8758: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8759: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8760: RAISE OKL_API.G_EXCEPTION_ERROR;
8761: END IF;
8762: END LOOP;
8755: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8756: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
8757: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8758: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8759: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8760: RAISE OKL_API.G_EXCEPTION_ERROR;
8761: END IF;
8762: END LOOP;
8763: END IF;
8756: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
8757: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
8758: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
8759: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
8760: RAISE OKL_API.G_EXCEPTION_ERROR;
8761: END IF;
8762: END LOOP;
8763: END IF;
8764: -- Logic ends here !
8762: END LOOP;
8763: END IF;
8764: -- Logic ends here !
8765: x_return_status := l_return_status;
8766: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
8767: x_msg_data => x_msg_data);
8768: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8769: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
8770: EXCEPTION
8767: x_msg_data => x_msg_data);
8768: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8769: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
8770: EXCEPTION
8771: WHEN OKL_API.G_EXCEPTION_ERROR THEN
8772: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8773: p_api_name => l_api_name,
8774: p_pkg_name => G_PKG_NAME,
8775: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8768: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
8769: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
8770: EXCEPTION
8771: WHEN OKL_API.G_EXCEPTION_ERROR THEN
8772: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8773: p_api_name => l_api_name,
8774: p_pkg_name => G_PKG_NAME,
8775: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8776: x_msg_count => x_msg_count,
8771: WHEN OKL_API.G_EXCEPTION_ERROR THEN
8772: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8773: p_api_name => l_api_name,
8774: p_pkg_name => G_PKG_NAME,
8775: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8776: x_msg_count => x_msg_count,
8777: x_msg_data => x_msg_data,
8778: p_api_type => g_api_type);
8779: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8775: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
8776: x_msg_count => x_msg_count,
8777: x_msg_data => x_msg_data,
8778: p_api_type => g_api_type);
8779: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8780: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8781: p_api_name => l_api_name,
8782: p_pkg_name => G_PKG_NAME,
8783: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
8776: x_msg_count => x_msg_count,
8777: x_msg_data => x_msg_data,
8778: p_api_type => g_api_type);
8779: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8780: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8781: p_api_name => l_api_name,
8782: p_pkg_name => G_PKG_NAME,
8783: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
8784: x_msg_count => x_msg_count,
8779: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8780: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8781: p_api_name => l_api_name,
8782: p_pkg_name => G_PKG_NAME,
8783: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
8784: x_msg_count => x_msg_count,
8785: x_msg_data => x_msg_data,
8786: p_api_type => g_api_type);
8787: WHEN OTHERS THEN
8784: x_msg_count => x_msg_count,
8785: x_msg_data => x_msg_data,
8786: p_api_type => g_api_type);
8787: WHEN OTHERS THEN
8788: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
8789: p_api_name => l_api_name,
8790: p_pkg_name => G_PKG_NAME,
8791: p_exc_name => 'OTHERS',
8792: x_msg_count => x_msg_count,
9164: l_missing_pmnts BOOLEAN;
9165: l_asset_number VARCHAR2(15);
9166: l_fee_name VARCHAR2(150);
9167: BEGIN
9168: l_return_status := OKL_API.G_RET_STS_SUCCESS;
9169: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
9170: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
9171: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
9172: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
9170: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
9171: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
9172: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
9173: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
9174: l_return_status := OKL_API.START_ACTIVITY(
9175: p_api_name => l_api_name,
9176: p_pkg_name => G_PKG_NAME,
9177: p_init_msg_list => p_init_msg_list,
9178: l_api_version => l_api_version,
9178: l_api_version => l_api_version,
9179: p_api_version => p_api_version,
9180: p_api_type => g_api_type,
9181: x_return_status => l_return_status);
9182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9185: RAISE OKL_API.G_EXCEPTION_ERROR;
9186: END IF;
9179: p_api_version => p_api_version,
9180: p_api_type => g_api_type,
9181: x_return_status => l_return_status);
9182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9185: RAISE OKL_API.G_EXCEPTION_ERROR;
9186: END IF;
9187:
9180: p_api_type => g_api_type,
9181: x_return_status => l_return_status);
9182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9185: RAISE OKL_API.G_EXCEPTION_ERROR;
9186: END IF;
9187:
9188: --Bug 5884825 PAGARG start
9181: x_return_status => l_return_status);
9182: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9183: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9184: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9185: RAISE OKL_API.G_EXCEPTION_ERROR;
9186: END IF;
9187:
9188: --Bug 5884825 PAGARG start
9189: OPEN product_name_csr(p_qte_id);
9194: -- Fetch the Lease Quote Header Details !
9195: OPEN quote_csr(p_qte_id);
9196: FETCH quote_csr INTO quote_rec;
9197: IF (quote_csr%NOTFOUND) THEN
9198: RAISE okl_api.g_exception_unexpected_error;
9199: END IF;
9200: CLOSE quote_csr;
9201: --Populate l_quote_type_code appropriately
9202: IF quote_rec.parent_object_code = 'LEASEAPP' THEN
9212: p_start_date => quote_rec.expected_start_date,
9213: p_months_after => quote_rec.term,
9214: x_date => l_eot_date,
9215: x_return_status => l_return_status);
9216: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9217: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9218: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9219: RAISE OKL_API.G_EXCEPTION_ERROR;
9220: END IF;
9213: p_months_after => quote_rec.term,
9214: x_date => l_eot_date,
9215: x_return_status => l_return_status);
9216: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9217: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9218: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9219: RAISE OKL_API.G_EXCEPTION_ERROR;
9220: END IF;
9221: l_eot_date := l_eot_date - 1;
9214: x_date => l_eot_date,
9215: x_return_status => l_return_status);
9216: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9217: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9218: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9219: RAISE OKL_API.G_EXCEPTION_ERROR;
9220: END IF;
9221: l_eot_date := l_eot_date - 1;
9222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9215: x_return_status => l_return_status);
9216: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9217: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9218: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9219: RAISE OKL_API.G_EXCEPTION_ERROR;
9220: END IF;
9221: l_eot_date := l_eot_date - 1;
9222: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9223: 'Effective To of the LQ ' || l_eot_date );
9334: 'Fetched asset cash flows @LQ level l_return_status = ' || l_return_status);
9335: END IF; -- If on get_lq_cash_flows
9336: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9337: quote_rec.pricing_method || 'After lq_cash_flows ' || l_return_status);
9338: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9339: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9340: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9341: RAISE OKL_API.G_EXCEPTION_ERROR;
9342: END IF;
9335: END IF; -- If on get_lq_cash_flows
9336: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9337: quote_rec.pricing_method || 'After lq_cash_flows ' || l_return_status);
9338: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9339: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9340: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9341: RAISE OKL_API.G_EXCEPTION_ERROR;
9342: END IF;
9343: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9336: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9337: quote_rec.pricing_method || 'After lq_cash_flows ' || l_return_status);
9338: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9339: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9340: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9341: RAISE OKL_API.G_EXCEPTION_ERROR;
9342: END IF;
9343: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9344: 'No. of Cash Flow Levels ' || l_cash_flow_det_tbl.COUNT );
9337: quote_rec.pricing_method || 'After lq_cash_flows ' || l_return_status);
9338: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9339: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9340: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9341: RAISE OKL_API.G_EXCEPTION_ERROR;
9342: END IF;
9343: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9344: 'No. of Cash Flow Levels ' || l_cash_flow_det_tbl.COUNT );
9345: IF l_cash_flow_det_tbl IS NULL OR
9346: l_cash_flow_det_tbl.COUNT <= 0
9347: THEN
9348: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9349: 'No Cash flow and Cash flow Levels obtained ! ' );
9350: OKL_API.SET_MESSAGE (
9351: p_app_name => G_APP_NAME,
9352: p_msg_name => 'OKL_LLA_PMT_SELECT');
9353: RAISE OKL_API.G_EXCEPTION_ERROR;
9354: END IF;
9349: 'No Cash flow and Cash flow Levels obtained ! ' );
9350: OKL_API.SET_MESSAGE (
9351: p_app_name => G_APP_NAME,
9352: p_msg_name => 'OKL_LLA_PMT_SELECT');
9353: RAISE OKL_API.G_EXCEPTION_ERROR;
9354: END IF;
9355: l_missing_pmnts := FALSE;
9356: -- When the pricing method is SM, an overridden asset may have a missing payment
9357: -- or not. If no missing payment is present, rates will be present for all CFL levels
9378: x_day_count_method => l_day_count_method,
9379: x_return_status => l_return_status );
9380: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9381: 'After get_day_count_method ' || l_return_status);
9382: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9383: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9384: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9385: --Bug 5884825 PAGARG start
9386: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
9379: x_return_status => l_return_status );
9380: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9381: 'After get_day_count_method ' || l_return_status);
9382: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9383: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9384: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9385: --Bug 5884825 PAGARG start
9386: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
9387: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
9380: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9381: 'After get_day_count_method ' || l_return_status);
9382: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9383: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9384: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9385: --Bug 5884825 PAGARG start
9386: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
9387: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
9388: p_token1 => 'PRODUCT_NAME',
9382: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9383: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9384: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9385: --Bug 5884825 PAGARG start
9386: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
9387: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
9388: p_token1 => 'PRODUCT_NAME',
9389: p_token1_value => l_product_name);
9390: --Bug 5884825 PAGARG end
9387: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
9388: p_token1 => 'PRODUCT_NAME',
9389: p_token1_value => l_product_name);
9390: --Bug 5884825 PAGARG end
9391: RAISE OKL_API.G_EXCEPTION_ERROR;
9392: END IF;
9393: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9394: 'l_days_in_month= ' || l_days_in_month || ' | l_days_in_year = ' || l_days_in_year);
9395: -- Get the DPP and PPY inorder to populate for the Residuals Table
9399: x_ppy => l_cf_ppy,
9400: x_return_status => l_return_status );
9401: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9402: 'After get_dpp_ppy ' || l_return_status );
9403: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9404: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9405: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9406: RAISE OKL_API.G_EXCEPTION_ERROR;
9407: END IF;
9400: x_return_status => l_return_status );
9401: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9402: 'After get_dpp_ppy ' || l_return_status );
9403: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9404: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9405: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9406: RAISE OKL_API.G_EXCEPTION_ERROR;
9407: END IF;
9408: END IF; -- IF quote_rec.pricing_method <> 'RC'
9401: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9402: 'After get_dpp_ppy ' || l_return_status );
9403: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9404: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9405: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9406: RAISE OKL_API.G_EXCEPTION_ERROR;
9407: END IF;
9408: END IF; -- IF quote_rec.pricing_method <> 'RC'
9409: -- Retrieve the Cost adjustments defined for the Asset ! None for fees
9402: 'After get_dpp_ppy ' || l_return_status );
9403: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9404: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9405: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9406: RAISE OKL_API.G_EXCEPTION_ERROR;
9407: END IF;
9408: END IF; -- IF quote_rec.pricing_method <> 'RC'
9409: -- Retrieve the Cost adjustments defined for the Asset ! None for fees
9410: IF assets_rec.ast_id IS NOT NULL
9610: x_lrs_details => l_lrs_details,
9611: x_lrs_factor => l_lrs_factor,
9612: x_lrs_levels => l_lrs_levels);
9613: -- If unable to find the Lease Rate Factor levels throw the error ..
9614: IF l_return_status <> OKL_API.G_RET_STS_SUCCESS
9615: THEN
9616: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9617: 'Couldnot found the Lease Rate Factor levels for configuration line ' || assets_rec.name );
9618: -- Show the message and then return back throwing an error!
9615: THEN
9616: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9617: 'Couldnot found the Lease Rate Factor levels for configuration line ' || assets_rec.name );
9618: -- Show the message and then return back throwing an error!
9619: OKL_API.set_message(
9620: p_app_name => G_APP_NAME,
9621: p_msg_name => 'OKL_LP_NO_LRS_LEVELS_FOUND',
9622: p_token1 => 'ITEMCAT',
9623: p_token1_value => assets_rec.name,
9624: p_token2 => 'ITEMTERM',
9625: p_token2_value => quote_rec.term,
9626: p_token3 => 'ITEMEOTPERCENT',
9627: p_token3_value => ROUND(l_eot_percentage,4) );
9628: RAISE OKL_API.G_EXCEPTION_ERROR;
9629: END IF;
9630: -- Apply the adjustment matrix if needed!
9631: l_adj_factor := 0;
9632: IF l_lrs_details.adj_mat_version_id IS NOT NULL
9650: x_msg_count => x_msg_count,
9651: x_msg_data => x_msg_data,
9652: p_okl_ac_rec => l_ac_rec_type,
9653: x_adjustment_factor => l_adj_factor );
9654: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9655: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9656: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9657: RAISE OKL_API.G_EXCEPTION_ERROR;
9658: END IF;
9651: x_msg_data => x_msg_data,
9652: p_okl_ac_rec => l_ac_rec_type,
9653: x_adjustment_factor => l_adj_factor );
9654: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9655: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9656: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9657: RAISE OKL_API.G_EXCEPTION_ERROR;
9658: END IF;
9659: END IF;
9652: p_okl_ac_rec => l_ac_rec_type,
9653: x_adjustment_factor => l_adj_factor );
9654: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9655: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9656: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9657: RAISE OKL_API.G_EXCEPTION_ERROR;
9658: END IF;
9659: END IF;
9660: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9653: x_adjustment_factor => l_adj_factor );
9654: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9655: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9656: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9657: RAISE OKL_API.G_EXCEPTION_ERROR;
9658: END IF;
9659: END IF;
9660: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9661: 'Adjustment Factor ' || l_adj_factor );
9661: 'Adjustment Factor ' || l_adj_factor );
9662: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
9663: p_frequency => l_lrs_details.frq_code,
9664: x_return_status => l_return_status);
9665: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9666: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9667: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9668: RAISE OKL_API.G_EXCEPTION_ERROR;
9669: END IF;
9662: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
9663: p_frequency => l_lrs_details.frq_code,
9664: x_return_status => l_return_status);
9665: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9666: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9667: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9668: RAISE OKL_API.G_EXCEPTION_ERROR;
9669: END IF;
9670: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9663: p_frequency => l_lrs_details.frq_code,
9664: x_return_status => l_return_status);
9665: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9666: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9667: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9668: RAISE OKL_API.G_EXCEPTION_ERROR;
9669: END IF;
9670: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9671: 'Months/Period ' || l_months_per_period );
9664: x_return_status => l_return_status);
9665: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9666: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9667: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9668: RAISE OKL_API.G_EXCEPTION_ERROR;
9669: END IF;
9670: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9671: 'Months/Period ' || l_months_per_period );
9672: l_cash_flow_rec.due_arrears_yn := l_lrs_details.arrears_yn;
9688: p_start_date => quote_rec.expected_start_date,
9689: p_months_after => l_months_after,
9690: x_date => l_cash_flow_det_tbl(cf_index).start_date,
9691: x_return_status => l_return_status);
9692: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9693: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9694: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9695: RAISE OKL_API.G_EXCEPTION_ERROR;
9696: END IF;
9689: p_months_after => l_months_after,
9690: x_date => l_cash_flow_det_tbl(cf_index).start_date,
9691: x_return_status => l_return_status);
9692: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9693: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9694: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9695: RAISE OKL_API.G_EXCEPTION_ERROR;
9696: END IF;
9697: -- Add to the l_months_after
9690: x_date => l_cash_flow_det_tbl(cf_index).start_date,
9691: x_return_status => l_return_status);
9692: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9693: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9694: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9695: RAISE OKL_API.G_EXCEPTION_ERROR;
9696: END IF;
9697: -- Add to the l_months_after
9698: l_months_after := l_months_after + ( l_lrs_levels(i).periods * l_months_per_period );
9691: x_return_status => l_return_status);
9692: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9693: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9694: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9695: RAISE OKL_API.G_EXCEPTION_ERROR;
9696: END IF;
9697: -- Add to the l_months_after
9698: l_months_after := l_months_after + ( l_lrs_levels(i).periods * l_months_per_period );
9699: -- Increment the index
9710: l_lease_rate_factor || ' | ' || l_target_frequency || ' | ' || l_target_arrears_yn );
9711: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
9712: p_frequency => l_target_frequency,
9713: x_return_status => l_return_status);
9714: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9715: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9716: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9717: RAISE OKL_API.G_EXCEPTION_ERROR;
9718: END IF;
9711: l_months_per_period := okl_stream_generator_pvt.get_months_factor(
9712: p_frequency => l_target_frequency,
9713: x_return_status => l_return_status);
9714: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9715: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9716: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9717: RAISE OKL_API.G_EXCEPTION_ERROR;
9718: END IF;
9719: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9712: p_frequency => l_target_frequency,
9713: x_return_status => l_return_status);
9714: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9715: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9716: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9717: RAISE OKL_API.G_EXCEPTION_ERROR;
9718: END IF;
9719: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9720: 'Months/Period ' || l_months_per_period );
9713: x_return_status => l_return_status);
9714: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9715: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9716: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9717: RAISE OKL_API.G_EXCEPTION_ERROR;
9718: END IF;
9719: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9720: 'Months/Period ' || l_months_per_period );
9721: l_cash_flow_rec.due_arrears_yn := l_target_arrears_yn;
9727: IF trunc(l_cash_flow_det_tbl(1).number_of_periods) <>
9728: l_cash_flow_det_tbl(1).number_of_periods
9729: THEN
9730: -- Throw the message saying that Periods have to be whole number
9731: OKL_API.SET_MESSAGE (
9732: p_app_name => G_APP_NAME,
9733: p_msg_name => 'OKL_LEVEL_PERIOD_FRACTION');
9734: RAISE OKL_API.G_EXCEPTION_ERROR;
9735: END IF;
9730: -- Throw the message saying that Periods have to be whole number
9731: OKL_API.SET_MESSAGE (
9732: p_app_name => G_APP_NAME,
9733: p_msg_name => 'OKL_LEVEL_PERIOD_FRACTION');
9734: RAISE OKL_API.G_EXCEPTION_ERROR;
9735: END IF;
9736: -- FORMULA: Periodic Amt = User Entered Rate Factor * ( C - NVL( S+D+T, 0) )
9737: l_cash_flow_det_tbl(1).amount := l_lease_rate_factor *
9738: ( lx_pricing_parameter_rec.financed_amount - NVL(lx_pricing_parameter_rec.subsidy +
9757: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9758: 'After gen_so_cf_strms ' || l_return_status);
9759: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9760: 'Number of Stream Elements generated ' || l_cash_inflows.COUNT);
9761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9764: RAISE OKL_API.G_EXCEPTION_ERROR;
9765: END IF;
9758: 'After gen_so_cf_strms ' || l_return_status);
9759: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9760: 'Number of Stream Elements generated ' || l_cash_inflows.COUNT);
9761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9764: RAISE OKL_API.G_EXCEPTION_ERROR;
9765: END IF;
9766: ELSE
9759: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9760: 'Number of Stream Elements generated ' || l_cash_inflows.COUNT);
9761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9764: RAISE OKL_API.G_EXCEPTION_ERROR;
9765: END IF;
9766: ELSE
9767: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9760: 'Number of Stream Elements generated ' || l_cash_inflows.COUNT);
9761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9764: RAISE OKL_API.G_EXCEPTION_ERROR;
9765: END IF;
9766: ELSE
9767: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9768: 'No Cash flow and Cash flow Levels obtained ! ' );
9765: END IF;
9766: ELSE
9767: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9768: 'No Cash flow and Cash flow Levels obtained ! ' );
9769: OKL_API.SET_MESSAGE (
9770: p_app_name => G_APP_NAME,
9771: p_msg_name => 'OKL_LLA_PMT_SELECT');
9772: RAISE OKL_API.G_EXCEPTION_ERROR;
9773: END IF; -- IF l_cash_flow_det_tbl.COUNT > 0
9768: 'No Cash flow and Cash flow Levels obtained ! ' );
9769: OKL_API.SET_MESSAGE (
9770: p_app_name => G_APP_NAME,
9771: p_msg_name => 'OKL_LLA_PMT_SELECT');
9772: RAISE OKL_API.G_EXCEPTION_ERROR;
9773: END IF; -- IF l_cash_flow_det_tbl.COUNT > 0
9774: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9775: 'After building the Residual Table Count ' || l_residual_inflows.COUNT );
9776: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9789: x_ppy => l_cf_ppy,
9790: x_return_status => l_return_status );
9791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9792: 'After get_dpp_ppy ' || l_return_status );
9793: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9794: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9795: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9796: RAISE OKL_API.G_EXCEPTION_ERROR;
9797: END IF;
9790: x_return_status => l_return_status );
9791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9792: 'After get_dpp_ppy ' || l_return_status );
9793: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9794: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9795: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9796: RAISE OKL_API.G_EXCEPTION_ERROR;
9797: END IF;
9798: IF lx_pricing_parameter_rec.residual_inflows.COUNT > 0
9791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9792: 'After get_dpp_ppy ' || l_return_status );
9793: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9794: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9795: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9796: RAISE OKL_API.G_EXCEPTION_ERROR;
9797: END IF;
9798: IF lx_pricing_parameter_rec.residual_inflows.COUNT > 0
9799: THEN
9792: 'After get_dpp_ppy ' || l_return_status );
9793: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
9794: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
9795: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
9796: RAISE OKL_API.G_EXCEPTION_ERROR;
9797: END IF;
9798: IF lx_pricing_parameter_rec.residual_inflows.COUNT > 0
9799: THEN
9800: FOR r_in IN lx_pricing_parameter_rec.residual_inflows.FIRST ..
9850: 'Financed Amount | Down Payment | Subsidy | Trade in ');
9851: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9852: ROUND(lx_pricing_parameter_rec.financed_amount, 4) || ' | ' || ROUND(lx_pricing_parameter_rec.down_payment, 4) || ' | ' ||
9853: ROUND(lx_pricing_parameter_rec.subsidy, 4) || ' | ' || ROUND(lx_pricing_parameter_rec.trade_in, 4) );
9854: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9855: RAISE okl_api.g_exception_unexpected_error;
9856: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9857: RAISE okl_api.g_exception_error;
9858: END IF;
9851: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9852: ROUND(lx_pricing_parameter_rec.financed_amount, 4) || ' | ' || ROUND(lx_pricing_parameter_rec.down_payment, 4) || ' | ' ||
9853: ROUND(lx_pricing_parameter_rec.subsidy, 4) || ' | ' || ROUND(lx_pricing_parameter_rec.trade_in, 4) );
9854: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9855: RAISE okl_api.g_exception_unexpected_error;
9856: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9857: RAISE okl_api.g_exception_error;
9858: END IF;
9859: IF l_pricing_method IN ( 'SP', 'SM', 'TR' ) AND
9852: ROUND(lx_pricing_parameter_rec.financed_amount, 4) || ' | ' || ROUND(lx_pricing_parameter_rec.down_payment, 4) || ' | ' ||
9853: ROUND(lx_pricing_parameter_rec.subsidy, 4) || ' | ' || ROUND(lx_pricing_parameter_rec.trade_in, 4) );
9854: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9855: RAISE okl_api.g_exception_unexpected_error;
9856: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9857: RAISE okl_api.g_exception_error;
9858: END IF;
9859: IF l_pricing_method IN ( 'SP', 'SM', 'TR' ) AND
9860: x_payment < 0
9853: ROUND(lx_pricing_parameter_rec.subsidy, 4) || ' | ' || ROUND(lx_pricing_parameter_rec.trade_in, 4) );
9854: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9855: RAISE okl_api.g_exception_unexpected_error;
9856: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9857: RAISE okl_api.g_exception_error;
9858: END IF;
9859: IF l_pricing_method IN ( 'SP', 'SM', 'TR' ) AND
9860: x_payment < 0
9861: THEN
9864: THEN
9865: OPEN fees_csr(p_qte_id,p_ast_id);
9866: FETCH fees_csr into l_fee_name;
9867: CLOSE fees_csr;
9868: OKL_API.SET_MESSAGE (
9869: p_app_name => G_APP_NAME,
9870: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT_FEE',
9871: p_token1 => 'TYPE',
9872: p_token1_value => 'Payment',
9874: p_token2_value => round(x_payment,2),
9875: p_token3 => 'NAME',
9876: p_token3_value => l_fee_name);
9877: ELSE
9878: OKL_API.SET_MESSAGE (
9879: p_app_name => G_APP_NAME,
9880: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT_ASSET',
9881: p_token1 => 'TYPE',
9882: p_token1_value => 'Payment',
9885: p_token3 => 'NAME',
9886: p_token3_value => l_asset_number);
9887: END IF;
9888: --Bug 5121548 dpsingh end
9889: RAISE okl_api.g_exception_error;
9890: END IF;
9891: IF l_pricing_method = 'SFP'
9892: THEN
9893: l_pricing_method := 'SF'; -- Revert back the pricing method to 'SF'
9960: x_msg_count => x_msg_count,
9961: x_msg_data => x_msg_data);
9962: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9963: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
9964: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9965: RAISE okl_api.g_exception_unexpected_error;
9966: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9967: RAISE okl_api.g_exception_error;
9968: END IF;
9961: x_msg_data => x_msg_data);
9962: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9963: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
9964: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9965: RAISE okl_api.g_exception_unexpected_error;
9966: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9967: RAISE okl_api.g_exception_error;
9968: END IF;
9969: ELSE
9962: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
9963: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
9964: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9965: RAISE okl_api.g_exception_unexpected_error;
9966: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9967: RAISE okl_api.g_exception_error;
9968: END IF;
9969: ELSE
9970: FOR t_rec IN c_strm_type (
9963: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
9964: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
9965: RAISE okl_api.g_exception_unexpected_error;
9966: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
9967: RAISE okl_api.g_exception_error;
9968: END IF;
9969: ELSE
9970: FOR t_rec IN c_strm_type (
9971: pdtId => quote_rec.product_id,
10082: p_cashflow_level_tbl => l_cashflow_level_tbl,
10083: x_return_status => l_return_status,
10084: x_msg_count => x_msg_count,
10085: x_msg_data => x_msg_data);
10086: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10087: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10088: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10089: RAISE OKL_API.G_EXCEPTION_ERROR;
10090: END IF;
10083: x_return_status => l_return_status,
10084: x_msg_count => x_msg_count,
10085: x_msg_data => x_msg_data);
10086: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10087: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10088: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10089: RAISE OKL_API.G_EXCEPTION_ERROR;
10090: END IF;
10091: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
10084: x_msg_count => x_msg_count,
10085: x_msg_data => x_msg_data);
10086: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10087: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10088: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10089: RAISE OKL_API.G_EXCEPTION_ERROR;
10090: END IF;
10091: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
10092: lx_pricing_parameter_rec.cfo_id := l_cashflow_header_rec.cashflow_object_id;
10085: x_msg_data => x_msg_data);
10086: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10087: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10088: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10089: RAISE OKL_API.G_EXCEPTION_ERROR;
10090: END IF;
10091: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
10092: lx_pricing_parameter_rec.cfo_id := l_cashflow_header_rec.cashflow_object_id;
10093: -- Bug 7440199: Quote Streams ER: RGOOTY: End
10148: x_msg_count => x_msg_count,
10149: x_msg_data => x_msg_data);
10150: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10151: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
10152: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10153: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10154: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10155: RAISE OKL_API.G_EXCEPTION_ERROR;
10156: END IF;
10149: x_msg_data => x_msg_data);
10150: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10151: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
10152: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10153: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10154: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10155: RAISE OKL_API.G_EXCEPTION_ERROR;
10156: END IF;
10157: ELSE
10150: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10151: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
10152: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10153: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10154: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10155: RAISE OKL_API.G_EXCEPTION_ERROR;
10156: END IF;
10157: ELSE
10158: -- Do Nothing
10151: 'After OKL_LEASE_QUOTE_ASSET_PVT.update_asset ' || l_return_status );
10152: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10153: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10154: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10155: RAISE OKL_API.G_EXCEPTION_ERROR;
10156: END IF;
10157: ELSE
10158: -- Do Nothing
10159: NULL;
10187: l_adj_type := 'Subsidy';
10188: END IF;
10189: IF l_ass_adj_tbl(1).VALUE < 0 THEN
10190: --Bug 5121548 dpsingh start
10191: OKL_API.SET_MESSAGE (
10192: p_app_name => G_APP_NAME,
10193: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT_ASSET',
10194: p_token1 => 'TYPE',
10195: p_token1_value => l_adj_type,
10197: p_token2_value => round(l_ass_adj_tbl(1).VALUE, 2),
10198: p_token3 => 'NAME',
10199: p_token3_value => l_asset_number);
10200: --Bug 5121548 dpsingh end
10201: RAISE okl_api.g_exception_error;
10202: END IF;
10203: okl_lease_quote_asset_pvt.create_adjustment(
10204: p_api_version => p_api_version,
10205: p_init_msg_list => p_init_msg_list,
10209: x_msg_count => x_msg_count,
10210: x_msg_data => x_msg_data );
10211: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10212: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
10213: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
10214: RAISE okl_api.g_exception_unexpected_error;
10215: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
10216: RAISE okl_api.g_exception_error;
10217: END IF;
10210: x_msg_data => x_msg_data );
10211: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10212: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
10213: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
10214: RAISE okl_api.g_exception_unexpected_error;
10215: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
10216: RAISE okl_api.g_exception_error;
10217: END IF;
10218: END IF; -- IF quote_rec.pricing_method .....
10211: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10212: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
10213: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
10214: RAISE okl_api.g_exception_unexpected_error;
10215: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
10216: RAISE okl_api.g_exception_error;
10217: END IF;
10218: END IF; -- IF quote_rec.pricing_method .....
10219: -- Actual logic Ends here
10212: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
10213: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
10214: RAISE okl_api.g_exception_unexpected_error;
10215: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
10216: RAISE okl_api.g_exception_error;
10217: END IF;
10218: END IF; -- IF quote_rec.pricing_method .....
10219: -- Actual logic Ends here
10220: x_pricing_parameter_rec := lx_pricing_parameter_rec;
10218: END IF; -- IF quote_rec.pricing_method .....
10219: -- Actual logic Ends here
10220: x_pricing_parameter_rec := lx_pricing_parameter_rec;
10221: x_return_status := l_return_status;
10222: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
10223: x_msg_data => x_msg_data);
10224: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10225: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
10226: EXCEPTION
10223: x_msg_data => x_msg_data);
10224: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10225: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
10226: EXCEPTION
10227: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10228: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10229: p_api_name => l_api_name,
10230: p_pkg_name => G_PKG_NAME,
10231: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10224: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10225: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
10226: EXCEPTION
10227: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10228: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10229: p_api_name => l_api_name,
10230: p_pkg_name => G_PKG_NAME,
10231: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10232: x_msg_count => x_msg_count,
10227: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10228: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10229: p_api_name => l_api_name,
10230: p_pkg_name => G_PKG_NAME,
10231: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10232: x_msg_count => x_msg_count,
10233: x_msg_data => x_msg_data,
10234: p_api_type => g_api_type);
10235: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10231: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10232: x_msg_count => x_msg_count,
10233: x_msg_data => x_msg_data,
10234: p_api_type => g_api_type);
10235: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10236: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10237: p_api_name => l_api_name,
10238: p_pkg_name => G_PKG_NAME,
10239: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10232: x_msg_count => x_msg_count,
10233: x_msg_data => x_msg_data,
10234: p_api_type => g_api_type);
10235: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10236: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10237: p_api_name => l_api_name,
10238: p_pkg_name => G_PKG_NAME,
10239: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10240: x_msg_count => x_msg_count,
10235: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10236: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10237: p_api_name => l_api_name,
10238: p_pkg_name => G_PKG_NAME,
10239: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10240: x_msg_count => x_msg_count,
10241: x_msg_data => x_msg_data,
10242: p_api_type => g_api_type);
10243: WHEN OTHERS THEN
10240: x_msg_count => x_msg_count,
10241: x_msg_data => x_msg_data,
10242: p_api_type => g_api_type);
10243: WHEN OTHERS THEN
10244: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10245: p_api_name => l_api_name,
10246: p_pkg_name => G_PKG_NAME,
10247: p_exc_name => 'OTHERS',
10248: x_msg_count => x_msg_count,
10278: l_return_status VARCHAR2(1);
10279: l_ret_value BOOLEAN;
10280: BEGIN
10281:
10282: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10283: l_ret_value := FALSE;
10284: IF p_lq_line_level_pricing = 'Y' AND
10285: p_lq_struct_pricing IS NULL AND
10286: p_lq_srt_id IS NULL
10339: END IF;
10340: x_return_status := l_return_status;
10341: return l_ret_value;
10342: EXCEPTION
10343: WHEN OKL_API.G_EXCEPTION_ERROR
10344: THEN
10345: x_return_status := G_RET_STS_ERROR;
10346: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR
10347: THEN
10342: EXCEPTION
10343: WHEN OKL_API.G_EXCEPTION_ERROR
10344: THEN
10345: x_return_status := G_RET_STS_ERROR;
10346: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR
10347: THEN
10348: x_return_status := G_RET_STS_UNEXP_ERROR;
10349: WHEN OTHERS
10350: THEN
10347: THEN
10348: x_return_status := G_RET_STS_UNEXP_ERROR;
10349: WHEN OTHERS
10350: THEN
10351: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
10352: p_msg_name => G_DB_ERROR,
10353: p_token1 => G_PROG_NAME_TOKEN,
10354: p_token1_value => l_api_name,
10355: p_token2 => G_SQLCODE_TOKEN,
10432: is_debug_procedure_on BOOLEAN;
10433: is_debug_statement_on BOOLEAN;
10434: cfl_index NUMBER;
10435: BEGIN
10436: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10437: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
10438: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
10439: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10440: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
10439: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10440: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
10441: -- check for logging on STATEMENT level
10442: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
10443: l_return_status := OKL_API.START_ACTIVITY(
10444: p_api_name => l_api_name,
10445: p_pkg_name => G_PKG_NAME,
10446: p_init_msg_list => p_init_msg_list,
10447: l_api_version => l_api_version,
10448: p_api_version => p_api_version,
10449: p_api_type => g_api_type,
10450: x_return_status => x_return_status);
10451: --Check if activity started successfully
10452: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10453: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10454: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10455: RAISE OKL_API.G_EXCEPTION_ERROR;
10456: END IF;
10449: p_api_type => g_api_type,
10450: x_return_status => x_return_status);
10451: --Check if activity started successfully
10452: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10453: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10454: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10455: RAISE OKL_API.G_EXCEPTION_ERROR;
10456: END IF;
10457:
10450: x_return_status => x_return_status);
10451: --Check if activity started successfully
10452: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10453: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10454: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10455: RAISE OKL_API.G_EXCEPTION_ERROR;
10456: END IF;
10457:
10458: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10451: --Check if activity started successfully
10452: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10453: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10454: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10455: RAISE OKL_API.G_EXCEPTION_ERROR;
10456: END IF;
10457:
10458: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10459:
10454: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10455: RAISE OKL_API.G_EXCEPTION_ERROR;
10456: END IF;
10457:
10458: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10459:
10460: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10461: '!!!!! Fetching the Inflow Cash flows for service ' || p_srvc_type );
10462:
10476: x_inflow_caf_rec.due_arrears_yn := t_rec.due_arrears_yn;
10477: x_inflow_caf_rec.start_date := t_rec.start_date;
10478: x_inflow_caf_rec.number_of_advance_periods := t_rec.number_of_advance_periods;
10479: -- Use l_retun_status as a flag
10480: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10481: END LOOP;
10482: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
10483: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
10484: THEN
10479: -- Use l_retun_status as a flag
10480: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10481: END LOOP;
10482: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
10483: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
10484: THEN
10485: cfl_index := 1;
10486: -- Cash Flows exists. So, fetch the Cash Flow Levels
10487: FOR t_rec in cash_flow_levels_csr( x_inflow_caf_rec.caf_id )
10505: -- Regular Periodic Payment
10506: x_inflow_cfl_tbl(cfl_index).is_stub := 'N';
10507: END IF;
10508: -- Use l_retun_status as a flag
10509: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10510: -- Increment i
10511: cfl_index := cfl_index + 1;
10512: END LOOP;
10513: ELSE
10513: ELSE
10514: -- Show an error saying that no cash flow levels found
10515: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10516: '!!!!! No Inflow Cash flow levels obtained for the service ' || p_srvc_type );
10517: OKL_API.SET_MESSAGE (
10518: p_app_name => G_APP_NAME,
10519: p_msg_name => 'OKL_LLA_PMT_SELECT');
10520: RAISE OKL_API.G_EXCEPTION_ERROR;
10521: END IF;
10516: '!!!!! No Inflow Cash flow levels obtained for the service ' || p_srvc_type );
10517: OKL_API.SET_MESSAGE (
10518: p_app_name => G_APP_NAME,
10519: p_msg_name => 'OKL_LLA_PMT_SELECT');
10520: RAISE OKL_API.G_EXCEPTION_ERROR;
10521: END IF;
10522:
10523: -- Setting up the return variables
10524: x_return_status := l_return_status;
10521: END IF;
10522:
10523: -- Setting up the return variables
10524: x_return_status := l_return_status;
10525: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
10526: x_msg_data => x_msg_data);
10527: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10528: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10529: EXCEPTION
10526: x_msg_data => x_msg_data);
10527: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10528: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10529: EXCEPTION
10530: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10531: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10532: p_api_name => l_api_name,
10533: p_pkg_name => G_PKG_NAME,
10534: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10527: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10528: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10529: EXCEPTION
10530: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10531: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10532: p_api_name => l_api_name,
10533: p_pkg_name => G_PKG_NAME,
10534: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10535: x_msg_count => x_msg_count,
10530: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10531: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10532: p_api_name => l_api_name,
10533: p_pkg_name => G_PKG_NAME,
10534: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10535: x_msg_count => x_msg_count,
10536: x_msg_data => x_msg_data,
10537: p_api_type => g_api_type);
10538: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10534: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10535: x_msg_count => x_msg_count,
10536: x_msg_data => x_msg_data,
10537: p_api_type => g_api_type);
10538: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10539: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10540: p_api_name => l_api_name,
10541: p_pkg_name => G_PKG_NAME,
10542: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10535: x_msg_count => x_msg_count,
10536: x_msg_data => x_msg_data,
10537: p_api_type => g_api_type);
10538: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10539: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10540: p_api_name => l_api_name,
10541: p_pkg_name => G_PKG_NAME,
10542: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10543: x_msg_count => x_msg_count,
10538: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10539: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10540: p_api_name => l_api_name,
10541: p_pkg_name => G_PKG_NAME,
10542: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10543: x_msg_count => x_msg_count,
10544: x_msg_data => x_msg_data,
10545: p_api_type => g_api_type);
10546: WHEN OTHERS THEN
10543: x_msg_count => x_msg_count,
10544: x_msg_data => x_msg_data,
10545: p_api_type => g_api_type);
10546: WHEN OTHERS THEN
10547: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10548: p_api_name => l_api_name,
10549: p_pkg_name => G_PKG_NAME,
10550: p_exc_name => 'OTHERS',
10551: x_msg_count => x_msg_count,
10626: is_debug_procedure_on BOOLEAN;
10627: is_debug_statement_on BOOLEAN;
10628: cfl_index NUMBER;
10629: BEGIN
10630: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10631: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
10632: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
10633: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10634: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
10633: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10634: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
10635: -- check for logging on STATEMENT level
10636: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
10637: l_return_status := OKL_API.START_ACTIVITY(
10638: p_api_name => l_api_name,
10639: p_pkg_name => G_PKG_NAME,
10640: p_init_msg_list => p_init_msg_list,
10641: l_api_version => l_api_version,
10642: p_api_version => p_api_version,
10643: p_api_type => g_api_type,
10644: x_return_status => x_return_status);
10645: --Check if activity started successfully
10646: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10647: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10648: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10649: RAISE OKL_API.G_EXCEPTION_ERROR;
10650: END IF;
10643: p_api_type => g_api_type,
10644: x_return_status => x_return_status);
10645: --Check if activity started successfully
10646: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10647: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10648: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10649: RAISE OKL_API.G_EXCEPTION_ERROR;
10650: END IF;
10651: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10644: x_return_status => x_return_status);
10645: --Check if activity started successfully
10646: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10647: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10648: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10649: RAISE OKL_API.G_EXCEPTION_ERROR;
10650: END IF;
10651: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10652: -- Expense Fees/Miscellaneous Fees will have OUTFLOW_SCHEDULE oty_code cash flows
10645: --Check if activity started successfully
10646: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10647: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10648: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10649: RAISE OKL_API.G_EXCEPTION_ERROR;
10650: END IF;
10651: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10652: -- Expense Fees/Miscellaneous Fees will have OUTFLOW_SCHEDULE oty_code cash flows
10653: IF p_fee_type IN ( 'EXPENSE', 'MISCELLANEOUS' )
10647: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10648: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10649: RAISE OKL_API.G_EXCEPTION_ERROR;
10650: END IF;
10651: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10652: -- Expense Fees/Miscellaneous Fees will have OUTFLOW_SCHEDULE oty_code cash flows
10653: IF p_fee_type IN ( 'EXPENSE', 'MISCELLANEOUS' )
10654: THEN
10655: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10670: x_outflow_caf_rec.due_arrears_yn := t_rec.due_arrears_yn;
10671: x_outflow_caf_rec.start_date := t_rec.start_date;
10672: x_outflow_caf_rec.number_of_advance_periods := t_rec.number_of_advance_periods;
10673: -- Use l_retun_status as a flag
10674: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10675: END LOOP;
10676: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
10677: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
10678: THEN
10673: -- Use l_retun_status as a flag
10674: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10675: END LOOP;
10676: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
10677: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
10678: THEN
10679: cfl_index := 1;
10680: -- Cash Flows exists. So, fetch the Cash Flow Levels
10681: FOR t_rec in cash_flow_levels_csr( x_outflow_caf_rec.caf_id )
10699: -- Regular Periodic Payment
10700: x_outflow_cfl_tbl(cfl_index).is_stub := 'N';
10701: END IF;
10702: -- Use l_retun_status as a flag
10703: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10704: -- Increment i
10705: cfl_index := cfl_index + 1;
10706: END LOOP;
10707: ELSE
10707: ELSE
10708: -- Show an error saying that no cash flow levels found
10709: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10710: '!!!!! No Cash flow levels obtained for the fee type ' || p_fee_type );
10711: OKL_API.SET_MESSAGE (
10712: p_app_name => G_APP_NAME,
10713: p_msg_name => 'OKL_AM_NO_PYMT_INFO');
10714: RAISE OKL_API.G_EXCEPTION_ERROR;
10715: END IF;
10710: '!!!!! No Cash flow levels obtained for the fee type ' || p_fee_type );
10711: OKL_API.SET_MESSAGE (
10712: p_app_name => G_APP_NAME,
10713: p_msg_name => 'OKL_AM_NO_PYMT_INFO');
10714: RAISE OKL_API.G_EXCEPTION_ERROR;
10715: END IF;
10716: END IF; -- If p_fee_type = 'EXPENSE'/'MISCELLANEOUS'
10717: -- Income Fees/Security Deposit will have PAYMENT_SCHEDULE cash flows
10718: -- Miscellaneous Fees may have an inflow PAYMENT_SCHEDULE ( Not Mandatory for Payment )
10719: IF p_fee_type IN ( 'INCOME', 'SECDEPOSIT', 'MISCELLANEOUS' )
10720: THEN
10721: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10722: '!!!!! Fetching the Income Cash flows for fee type ' || p_fee_type );
10723: l_return_status := OKL_API.G_RET_STS_ERROR;
10724: FOR t_rec IN lq_cash_flows_csr(
10725: p_id => p_fee_id,
10726: p_cf_source => 'OKL_FEES_B',
10727: p_cft_code => 'PAYMENT_SCHEDULE')
10737: x_inflow_caf_rec.due_arrears_yn := t_rec.due_arrears_yn;
10738: x_inflow_caf_rec.start_date := t_rec.start_date;
10739: x_inflow_caf_rec.number_of_advance_periods := t_rec.number_of_advance_periods;
10740: -- Use l_retun_status as a flag
10741: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10742: END LOOP;
10743: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
10744: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
10745: THEN
10740: -- Use l_retun_status as a flag
10741: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10742: END LOOP;
10743: -- Fetch the Cash Flow Levels information only if the Cash Flow is present..
10744: IF l_return_status = OKL_API.G_RET_STS_SUCCESS
10745: THEN
10746: cfl_index := 1;
10747: -- Cash Flows exists. So, fetch the Cash Flow Levels
10748: FOR t_rec in cash_flow_levels_csr( x_inflow_caf_rec.caf_id )
10766: -- Regular Periodic Payment
10767: x_inflow_cfl_tbl(cfl_index).is_stub := 'N';
10768: END IF;
10769: -- Use l_retun_status as a flag
10770: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10771: -- Increment i
10772: cfl_index := cfl_index + 1;
10773: END LOOP;
10774: ELSE
10776: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
10777: '!!!!! No Cash flow levels obtained for the fee type ' || p_fee_type );
10778: IF p_fee_type <> 'MISCELLANEOUS'
10779: THEN
10780: OKL_API.SET_MESSAGE (
10781: p_app_name => G_APP_NAME,
10782: p_msg_name => 'OKL_LLA_PMT_SELECT');
10783: RAISE OKL_API.G_EXCEPTION_ERROR;
10784: END IF;
10779: THEN
10780: OKL_API.SET_MESSAGE (
10781: p_app_name => G_APP_NAME,
10782: p_msg_name => 'OKL_LLA_PMT_SELECT');
10783: RAISE OKL_API.G_EXCEPTION_ERROR;
10784: END IF;
10785: END IF;
10786: END IF; -- If p_fee_type = 'INCOME'/'SECDEPOSIT'/'MISCELLANEOUS'
10787: -- Setting up the return variables
10785: END IF;
10786: END IF; -- If p_fee_type = 'INCOME'/'SECDEPOSIT'/'MISCELLANEOUS'
10787: -- Setting up the return variables
10788: x_return_status := l_return_status;
10789: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
10790: x_msg_data => x_msg_data);
10791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10792: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10793: EXCEPTION
10790: x_msg_data => x_msg_data);
10791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10792: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10793: EXCEPTION
10794: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10795: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10796: p_api_name => l_api_name,
10797: p_pkg_name => G_PKG_NAME,
10798: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10791: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10792: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10793: EXCEPTION
10794: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10795: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10796: p_api_name => l_api_name,
10797: p_pkg_name => G_PKG_NAME,
10798: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10799: x_msg_count => x_msg_count,
10794: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10795: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10796: p_api_name => l_api_name,
10797: p_pkg_name => G_PKG_NAME,
10798: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10799: x_msg_count => x_msg_count,
10800: x_msg_data => x_msg_data,
10801: p_api_type => g_api_type);
10802: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10798: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10799: x_msg_count => x_msg_count,
10800: x_msg_data => x_msg_data,
10801: p_api_type => g_api_type);
10802: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10803: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10804: p_api_name => l_api_name,
10805: p_pkg_name => G_PKG_NAME,
10806: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10799: x_msg_count => x_msg_count,
10800: x_msg_data => x_msg_data,
10801: p_api_type => g_api_type);
10802: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10803: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10804: p_api_name => l_api_name,
10805: p_pkg_name => G_PKG_NAME,
10806: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10807: x_msg_count => x_msg_count,
10802: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10803: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10804: p_api_name => l_api_name,
10805: p_pkg_name => G_PKG_NAME,
10806: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10807: x_msg_count => x_msg_count,
10808: x_msg_data => x_msg_data,
10809: p_api_type => g_api_type);
10810: WHEN OTHERS THEN
10807: x_msg_count => x_msg_count,
10808: x_msg_data => x_msg_data,
10809: p_api_type => g_api_type);
10810: WHEN OTHERS THEN
10811: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10812: p_api_name => l_api_name,
10813: p_pkg_name => G_PKG_NAME,
10814: p_exc_name => 'OTHERS',
10815: x_msg_count => x_msg_count,
10893: l_caf_rec OKL_LEASE_QUOTE_CASHFLOW_PVT.cashflow_header_rec_type;
10894: l_cfl_tbl OKL_LEASE_QUOTE_CASHFLOW_PVT.cashflow_level_tbl_type;
10895: l_solved VARCHAR2(30);
10896: BEGIN
10897: l_return_status := OKL_API.G_RET_STS_SUCCESS;
10898: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
10899: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
10900: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10901: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
10900: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10901: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
10902: -- check for logging on STATEMENT level
10903: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
10904: l_return_status := OKL_API.START_ACTIVITY(
10905: p_api_name => l_api_name,
10906: p_pkg_name => G_PKG_NAME,
10907: p_init_msg_list => p_init_msg_list,
10908: l_api_version => l_api_version,
10909: p_api_version => p_api_version,
10910: p_api_type => g_api_type,
10911: x_return_status => x_return_status);
10912: --Check if activity started successfully
10913: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10914: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10915: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10916: RAISE OKL_API.G_EXCEPTION_ERROR;
10917: END IF;
10910: p_api_type => g_api_type,
10911: x_return_status => x_return_status);
10912: --Check if activity started successfully
10913: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10914: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10915: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10916: RAISE OKL_API.G_EXCEPTION_ERROR;
10917: END IF;
10918: -- Actual logic starts here
10911: x_return_status => x_return_status);
10912: --Check if activity started successfully
10913: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10914: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10915: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10916: RAISE OKL_API.G_EXCEPTION_ERROR;
10917: END IF;
10918: -- Actual logic starts here
10919: l_first := TRUE;
10912: --Check if activity started successfully
10913: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
10914: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
10915: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
10916: RAISE OKL_API.G_EXCEPTION_ERROR;
10917: END IF;
10918: -- Actual logic starts here
10919: l_first := TRUE;
10920: l_solved := 'YES';
10978: x_caf_rec := l_caf_rec;
10979: x_cfl_tbl := l_cfl_tbl;
10980: x_solved := l_solved;
10981: x_return_status := l_return_status;
10982: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
10983: x_msg_data => x_msg_data);
10984: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10985: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10986: EXCEPTION
10983: x_msg_data => x_msg_data);
10984: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10985: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10986: EXCEPTION
10987: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10988: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10989: p_api_name => l_api_name,
10990: p_pkg_name => G_PKG_NAME,
10991: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10984: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
10985: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_version) );
10986: EXCEPTION
10987: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10988: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10989: p_api_name => l_api_name,
10990: p_pkg_name => G_PKG_NAME,
10991: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10992: x_msg_count => x_msg_count,
10987: WHEN OKL_API.G_EXCEPTION_ERROR THEN
10988: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10989: p_api_name => l_api_name,
10990: p_pkg_name => G_PKG_NAME,
10991: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10992: x_msg_count => x_msg_count,
10993: x_msg_data => x_msg_data,
10994: p_api_type => g_api_type);
10995: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10991: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
10992: x_msg_count => x_msg_count,
10993: x_msg_data => x_msg_data,
10994: p_api_type => g_api_type);
10995: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10996: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10997: p_api_name => l_api_name,
10998: p_pkg_name => G_PKG_NAME,
10999: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
10992: x_msg_count => x_msg_count,
10993: x_msg_data => x_msg_data,
10994: p_api_type => g_api_type);
10995: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10996: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10997: p_api_name => l_api_name,
10998: p_pkg_name => G_PKG_NAME,
10999: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11000: x_msg_count => x_msg_count,
10995: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
10996: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
10997: p_api_name => l_api_name,
10998: p_pkg_name => G_PKG_NAME,
10999: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11000: x_msg_count => x_msg_count,
11001: x_msg_data => x_msg_data,
11002: p_api_type => g_api_type);
11003: WHEN OTHERS THEN
11000: x_msg_count => x_msg_count,
11001: x_msg_data => x_msg_data,
11002: p_api_type => g_api_type);
11003: WHEN OTHERS THEN
11004: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11005: p_api_name => l_api_name,
11006: p_pkg_name => G_PKG_NAME,
11007: p_exc_name => 'OTHERS',
11008: x_msg_count => x_msg_count,
11050: WHERE QTE_STM.QUOTE_ID = p_quote_id;
11051:
11052: BEGIN
11053:
11054: l_return_status := OKL_API.START_ACTIVITY(
11055: p_api_name => l_api_name,
11056: p_pkg_name => G_PKG_NAME,
11057: p_init_msg_list => p_init_msg_list,
11058: l_api_version => l_api_version,
11058: l_api_version => l_api_version,
11059: p_api_version => p_api_version,
11060: p_api_type => g_api_type,
11061: x_return_status => l_return_status);
11062: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11063: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11064: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11065: RAISE OKL_API.G_EXCEPTION_ERROR;
11066: END IF;
11059: p_api_version => p_api_version,
11060: p_api_type => g_api_type,
11061: x_return_status => l_return_status);
11062: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11063: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11064: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11065: RAISE OKL_API.G_EXCEPTION_ERROR;
11066: END IF;
11067:
11060: p_api_type => g_api_type,
11061: x_return_status => l_return_status);
11062: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11063: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11064: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11065: RAISE OKL_API.G_EXCEPTION_ERROR;
11066: END IF;
11067:
11068: p_index := 1;
11061: x_return_status => l_return_status);
11062: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11063: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11064: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11065: RAISE OKL_API.G_EXCEPTION_ERROR;
11066: END IF;
11067:
11068: p_index := 1;
11069: FOR strm_element_rec IN get_strm_elements_csr
11078: x_msg_count => x_msg_count,
11079: x_msg_data => x_msg_data,
11080: p_qsl_tbl => l_strm_elements_tbl
11081: );
11082: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11083: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11084: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11085: RAISE OKL_API.G_EXCEPTION_ERROR;
11086: END IF;
11079: x_msg_data => x_msg_data,
11080: p_qsl_tbl => l_strm_elements_tbl
11081: );
11082: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11083: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11084: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11085: RAISE OKL_API.G_EXCEPTION_ERROR;
11086: END IF;
11087: END IF;
11080: p_qsl_tbl => l_strm_elements_tbl
11081: );
11082: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11083: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11084: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11085: RAISE OKL_API.G_EXCEPTION_ERROR;
11086: END IF;
11087: END IF;
11088:
11081: );
11082: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11083: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11084: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11085: RAISE OKL_API.G_EXCEPTION_ERROR;
11086: END IF;
11087: END IF;
11088:
11089: p_index := 1;
11099: x_msg_count => x_msg_count,
11100: x_msg_data => x_msg_data,
11101: p_qsh_tbl => l_streams_tbl
11102: );
11103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11106: RAISE OKL_API.G_EXCEPTION_ERROR;
11107: END IF;
11100: x_msg_data => x_msg_data,
11101: p_qsh_tbl => l_streams_tbl
11102: );
11103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11106: RAISE OKL_API.G_EXCEPTION_ERROR;
11107: END IF;
11108: END IF;
11101: p_qsh_tbl => l_streams_tbl
11102: );
11103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11106: RAISE OKL_API.G_EXCEPTION_ERROR;
11107: END IF;
11108: END IF;
11109:
11102: );
11103: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11104: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11105: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11106: RAISE OKL_API.G_EXCEPTION_ERROR;
11107: END IF;
11108: END IF;
11109:
11110: x_return_status := l_return_status;
11107: END IF;
11108: END IF;
11109:
11110: x_return_status := l_return_status;
11111: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
11112: x_msg_data => x_msg_data);
11113: EXCEPTION
11114: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11115: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11110: x_return_status := l_return_status;
11111: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
11112: x_msg_data => x_msg_data);
11113: EXCEPTION
11114: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11115: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11116: p_api_name => l_api_name,
11117: p_pkg_name => G_PKG_NAME,
11118: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11111: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
11112: x_msg_data => x_msg_data);
11113: EXCEPTION
11114: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11115: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11116: p_api_name => l_api_name,
11117: p_pkg_name => G_PKG_NAME,
11118: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11119: x_msg_count => x_msg_count,
11114: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11115: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11116: p_api_name => l_api_name,
11117: p_pkg_name => G_PKG_NAME,
11118: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11119: x_msg_count => x_msg_count,
11120: x_msg_data => x_msg_data,
11121: p_api_type => g_api_type);
11122: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11118: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11119: x_msg_count => x_msg_count,
11120: x_msg_data => x_msg_data,
11121: p_api_type => g_api_type);
11122: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11123: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11124: p_api_name => l_api_name,
11125: p_pkg_name => G_PKG_NAME,
11126: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11119: x_msg_count => x_msg_count,
11120: x_msg_data => x_msg_data,
11121: p_api_type => g_api_type);
11122: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11123: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11124: p_api_name => l_api_name,
11125: p_pkg_name => G_PKG_NAME,
11126: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11127: x_msg_count => x_msg_count,
11122: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11123: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11124: p_api_name => l_api_name,
11125: p_pkg_name => G_PKG_NAME,
11126: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11127: x_msg_count => x_msg_count,
11128: x_msg_data => x_msg_data,
11129: p_api_type => g_api_type);
11130: WHEN OTHERS THEN
11127: x_msg_count => x_msg_count,
11128: x_msg_data => x_msg_data,
11129: p_api_type => g_api_type);
11130: WHEN OTHERS THEN
11131: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11132: p_api_name => l_api_name,
11133: p_pkg_name => G_PKG_NAME,
11134: p_exc_name => 'OTHERS',
11135: x_msg_count => x_msg_count,
11221: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
11222: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
11223: -- check for logging on STATEMENT level
11224: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
11225: l_return_status := OKL_API.START_ACTIVITY(
11226: p_api_name => l_api_name,
11227: p_pkg_name => G_PKG_NAME,
11228: p_init_msg_list => p_init_msg_list,
11229: l_api_version => l_api_version,
11229: l_api_version => l_api_version,
11230: p_api_version => p_api_version,
11231: p_api_type => g_api_type,
11232: x_return_status => l_return_status);
11233: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11234: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11235: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11236: RAISE OKL_API.G_EXCEPTION_ERROR;
11237: END IF;
11230: p_api_version => p_api_version,
11231: p_api_type => g_api_type,
11232: x_return_status => l_return_status);
11233: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11234: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11235: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11236: RAISE OKL_API.G_EXCEPTION_ERROR;
11237: END IF;
11238: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
11231: p_api_type => g_api_type,
11232: x_return_status => l_return_status);
11233: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11234: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11235: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11236: RAISE OKL_API.G_EXCEPTION_ERROR;
11237: END IF;
11238: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
11239: 'Executing the API ' || l_api_name );
11232: x_return_status => l_return_status);
11233: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11234: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11235: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11236: RAISE OKL_API.G_EXCEPTION_ERROR;
11237: END IF;
11238: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
11239: 'Executing the API ' || l_api_name );
11240: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11243: 'Before Executing the Cursor get_quote_details_csr');
11244: OPEN get_quote_details_csr;
11245: FETCH get_quote_details_csr INTO quote_det_rec;
11246: IF (get_quote_details_csr%NOTFOUND) THEN
11247: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11248: END IF;
11249: CLOSE get_quote_details_csr;
11250:
11251: l_product_type := quote_det_rec.DEAL_TYPE;
11266: 'Before Executing the Cursor header_info_csr. l_pricing_param_tbl(k).cfo_id= ' || l_pricing_param_tbl(k).cfo_id );
11267: OPEN header_info_csr(l_pricing_param_tbl(k).cfo_id);
11268: FETCH header_info_csr INTO header_info_rec;
11269: IF (header_info_csr%NOTFOUND) THEN
11270: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11271: END IF;
11272: CLOSE header_info_csr;
11273: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11274: 'After Executing the Cursor header_info_csr. header_info_rec.CFT_CODE= ' || header_info_rec.CFT_CODE );
11296: x_qsh_rec => x_stream_rec
11297: );
11298: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11299: 'After Calling the API OKL_QSH_PVT.insert_row ' || l_return_status );
11300: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11301: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11302: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11303: RAISE OKL_API.G_EXCEPTION_ERROR;
11304: END IF;
11297: );
11298: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11299: 'After Calling the API OKL_QSH_PVT.insert_row ' || l_return_status );
11300: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11301: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11302: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11303: RAISE OKL_API.G_EXCEPTION_ERROR;
11304: END IF;
11305:
11298: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11299: 'After Calling the API OKL_QSH_PVT.insert_row ' || l_return_status );
11300: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11301: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11302: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11303: RAISE OKL_API.G_EXCEPTION_ERROR;
11304: END IF;
11305:
11306: p_index := 1;
11299: 'After Calling the API OKL_QSH_PVT.insert_row ' || l_return_status );
11300: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11301: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11302: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11303: RAISE OKL_API.G_EXCEPTION_ERROR;
11304: END IF;
11305:
11306: p_index := 1;
11307: l_stm_element_tbl.delete;
11330: x_qsl_tbl => x_stm_element_tbl
11331: );
11332: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11333: 'After Calling the API OKL_QSL_PVT.insertv_tbl x_return_status=' || l_return_status );
11334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11337: RAISE OKL_API.G_EXCEPTION_ERROR;
11338: END IF;
11331: );
11332: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11333: 'After Calling the API OKL_QSL_PVT.insertv_tbl x_return_status=' || l_return_status );
11334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11337: RAISE OKL_API.G_EXCEPTION_ERROR;
11338: END IF;
11339:
11332: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11333: 'After Calling the API OKL_QSL_PVT.insertv_tbl x_return_status=' || l_return_status );
11334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11337: RAISE OKL_API.G_EXCEPTION_ERROR;
11338: END IF;
11339:
11340: --Residual streams
11333: 'After Calling the API OKL_QSL_PVT.insertv_tbl x_return_status=' || l_return_status );
11334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11337: RAISE OKL_API.G_EXCEPTION_ERROR;
11338: END IF;
11339:
11340: --Residual streams
11341: IF((l_pricing_param_tbl(k).residual_inflows.COUNT > 0) AND
11345: 'Before executing the cursor residual_sty_csr ' );
11346: OPEN residual_sty_csr(quote_det_rec.product_id, quote_det_rec.EXPECTED_START_DATE);
11347: FETCH residual_sty_csr INTO l_residual_sty_id;
11348: IF (residual_sty_csr%NOTFOUND) THEN
11349: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11350: END IF;
11351: CLOSE residual_sty_csr;
11352: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11353: 'After executing the cursor residual_sty_csr ' );
11371: x_qsh_rec => x_stream_rec
11372: );
11373: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11374: 'After executing the API OKL_QSH_PVT.insert_row. x_return_status=' || l_return_status );
11375: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11376: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11377: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11378: RAISE OKL_API.G_EXCEPTION_ERROR;
11379: END IF;
11372: );
11373: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11374: 'After executing the API OKL_QSH_PVT.insert_row. x_return_status=' || l_return_status );
11375: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11376: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11377: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11378: RAISE OKL_API.G_EXCEPTION_ERROR;
11379: END IF;
11380:
11373: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11374: 'After executing the API OKL_QSH_PVT.insert_row. x_return_status=' || l_return_status );
11375: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11376: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11377: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11378: RAISE OKL_API.G_EXCEPTION_ERROR;
11379: END IF;
11380:
11381: l_residual_count := l_pricing_param_tbl(k).residual_inflows.COUNT;
11374: 'After executing the API OKL_QSH_PVT.insert_row. x_return_status=' || l_return_status );
11375: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11376: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11377: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11378: RAISE OKL_API.G_EXCEPTION_ERROR;
11379: END IF;
11380:
11381: l_residual_count := l_pricing_param_tbl(k).residual_inflows.COUNT;
11382: l_residual_amt := 0;
11405: x_qsl_rec => x_stm_element_rec
11406: );
11407: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11408: 'After executing the API OKL_QSL_PVT.insert_row. x_return_status=' || l_return_status );
11409: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11410: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11411: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11412: RAISE OKL_API.G_EXCEPTION_ERROR;
11413: END IF;
11406: );
11407: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11408: 'After executing the API OKL_QSL_PVT.insert_row. x_return_status=' || l_return_status );
11409: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11410: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11411: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11412: RAISE OKL_API.G_EXCEPTION_ERROR;
11413: END IF;
11414: END IF;
11407: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11408: 'After executing the API OKL_QSL_PVT.insert_row. x_return_status=' || l_return_status );
11409: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11410: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11411: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11412: RAISE OKL_API.G_EXCEPTION_ERROR;
11413: END IF;
11414: END IF;
11415: END LOOP; -- residual_inflows loop
11408: 'After executing the API OKL_QSL_PVT.insert_row. x_return_status=' || l_return_status );
11409: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11410: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11411: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11412: RAISE OKL_API.G_EXCEPTION_ERROR;
11413: END IF;
11414: END IF;
11415: END LOOP; -- residual_inflows loop
11416: END IF; --Residual streams IF
11420: END IF;
11421: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
11422: 'Returning from the API ' || l_api_name || ' with x_return_status = ' || l_return_status );
11423: x_return_status := l_return_status;
11424: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
11425: x_msg_data => x_msg_data);
11426: EXCEPTION
11427: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11428: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11423: x_return_status := l_return_status;
11424: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
11425: x_msg_data => x_msg_data);
11426: EXCEPTION
11427: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11428: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11429: p_api_name => l_api_name,
11430: p_pkg_name => G_PKG_NAME,
11431: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11424: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
11425: x_msg_data => x_msg_data);
11426: EXCEPTION
11427: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11428: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11429: p_api_name => l_api_name,
11430: p_pkg_name => G_PKG_NAME,
11431: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11432: x_msg_count => x_msg_count,
11427: WHEN OKL_API.G_EXCEPTION_ERROR THEN
11428: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11429: p_api_name => l_api_name,
11430: p_pkg_name => G_PKG_NAME,
11431: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11432: x_msg_count => x_msg_count,
11433: x_msg_data => x_msg_data,
11434: p_api_type => g_api_type);
11435: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11431: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
11432: x_msg_count => x_msg_count,
11433: x_msg_data => x_msg_data,
11434: p_api_type => g_api_type);
11435: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11436: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11437: p_api_name => l_api_name,
11438: p_pkg_name => G_PKG_NAME,
11439: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11432: x_msg_count => x_msg_count,
11433: x_msg_data => x_msg_data,
11434: p_api_type => g_api_type);
11435: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11436: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11437: p_api_name => l_api_name,
11438: p_pkg_name => G_PKG_NAME,
11439: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11440: x_msg_count => x_msg_count,
11435: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
11436: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11437: p_api_name => l_api_name,
11438: p_pkg_name => G_PKG_NAME,
11439: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
11440: x_msg_count => x_msg_count,
11441: x_msg_data => x_msg_data,
11442: p_api_type => g_api_type);
11443: WHEN OTHERS THEN
11440: x_msg_count => x_msg_count,
11441: x_msg_data => x_msg_data,
11442: p_api_type => g_api_type);
11443: WHEN OTHERS THEN
11444: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
11445: p_api_name => l_api_name,
11446: p_pkg_name => G_PKG_NAME,
11447: p_exc_name => 'OTHERS',
11448: x_msg_count => x_msg_count,
11832: FROM OKL_CASH_FLOW_OBJECTS
11833: WHERE ID = P_CFO_ID;
11834: -- Bug 7440199: Quote Streams ER: RGOOTY: End
11835: BEGIN
11836: l_return_status := OKL_API.G_RET_STS_SUCCESS;
11837: l_debug_enabled := OKL_DEBUG_PUB.check_log_enabled;
11838: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
11839: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
11840: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
11838: is_debug_procedure_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_PROCEDURE);
11839: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
11840: 'begin debug OKLRPIUB.pls call '|| lower(l_api_name));
11841: is_debug_statement_on := OKL_DEBUG_PUB.check_log_on(l_module,FND_LOG.LEVEL_STATEMENT);
11842: l_return_status := OKL_API.START_ACTIVITY(
11843: p_api_name => l_api_name,
11844: p_pkg_name => G_PKG_NAME,
11845: p_init_msg_list => p_init_msg_list,
11846: l_api_version => l_api_version,
11846: l_api_version => l_api_version,
11847: p_api_version => p_api_version,
11848: p_api_type => g_api_type,
11849: x_return_status => l_return_status);
11850: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11851: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11852: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11853: RAISE OKL_API.G_EXCEPTION_ERROR;
11854: END IF;
11847: p_api_version => p_api_version,
11848: p_api_type => g_api_type,
11849: x_return_status => l_return_status);
11850: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11851: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11852: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11853: RAISE OKL_API.G_EXCEPTION_ERROR;
11854: END IF;
11855:
11848: p_api_type => g_api_type,
11849: x_return_status => l_return_status);
11850: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11851: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11852: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11853: RAISE OKL_API.G_EXCEPTION_ERROR;
11854: END IF;
11855:
11856: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
11849: x_return_status => l_return_status);
11850: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11851: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11852: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11853: RAISE OKL_API.G_EXCEPTION_ERROR;
11854: END IF;
11855:
11856: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
11857: delete_quote_streams(p_api_version => p_api_version,
11860: x_msg_count => x_msg_count,
11861: x_msg_data => x_msg_data,
11862: p_quote_id => p_qte_id
11863: );
11864: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11865: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11866: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11867: RAISE OKL_API.G_EXCEPTION_ERROR;
11868: END IF;
11861: x_msg_data => x_msg_data,
11862: p_quote_id => p_qte_id
11863: );
11864: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11865: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11866: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11867: RAISE OKL_API.G_EXCEPTION_ERROR;
11868: END IF;
11869: -- Bug 7440199: Quote Streams ER: RGOOTY: End
11862: p_quote_id => p_qte_id
11863: );
11864: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11865: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11866: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11867: RAISE OKL_API.G_EXCEPTION_ERROR;
11868: END IF;
11869: -- Bug 7440199: Quote Streams ER: RGOOTY: End
11870: --Bug 5884825 PAGARG start
11863: );
11864: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11865: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11866: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11867: RAISE OKL_API.G_EXCEPTION_ERROR;
11868: END IF;
11869: -- Bug 7440199: Quote Streams ER: RGOOTY: End
11870: --Bug 5884825 PAGARG start
11871: OPEN product_name_csr(p_qte_id);
11876: -- Fetch the Lease Quote Header Details !
11877: OPEN quote_csr(p_qte_id);
11878: FETCH quote_csr INTO quote_rec;
11879: IF (quote_csr%NOTFOUND) THEN
11880: RAISE okl_api.g_exception_unexpected_error;
11881: END IF;
11882: CLOSE quote_csr;
11883: IF quote_rec.parent_object_code = 'LEASEAPP' THEN
11884: l_quote_type_code := 'LA';
11896: p_start_date => quote_rec.expected_start_date,
11897: p_months_after => quote_rec.term,
11898: x_date => l_eot_date,
11899: x_return_status => l_return_status);
11900: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11901: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11902: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11903: RAISE OKL_API.G_EXCEPTION_ERROR;
11904: END IF;
11897: p_months_after => quote_rec.term,
11898: x_date => l_eot_date,
11899: x_return_status => l_return_status);
11900: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11901: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11902: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11903: RAISE OKL_API.G_EXCEPTION_ERROR;
11904: END IF;
11905: l_eot_date := l_eot_date - 1;
11898: x_date => l_eot_date,
11899: x_return_status => l_return_status);
11900: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11901: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11902: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11903: RAISE OKL_API.G_EXCEPTION_ERROR;
11904: END IF;
11905: l_eot_date := l_eot_date - 1;
11906: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11899: x_return_status => l_return_status);
11900: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11901: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11902: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11903: RAISE OKL_API.G_EXCEPTION_ERROR;
11904: END IF;
11905: l_eot_date := l_eot_date - 1;
11906: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11907: 'Effective To of the LQ ' || l_eot_date );
11968: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11969: 'After get_lq_cash_flows ' || l_return_status);
11970: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11971: 'No. of Cash Flow Levels ' || l_lq_cash_flow_det_tbl.COUNT );
11972: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11973: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11974: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11975: RAISE OKL_API.G_EXCEPTION_ERROR;
11976: END IF;
11969: 'After get_lq_cash_flows ' || l_return_status);
11970: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11971: 'No. of Cash Flow Levels ' || l_lq_cash_flow_det_tbl.COUNT );
11972: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11973: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11974: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11975: RAISE OKL_API.G_EXCEPTION_ERROR;
11976: END IF;
11977: l_cfo_exists_at_lq := 'NO';
11970: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
11971: 'No. of Cash Flow Levels ' || l_lq_cash_flow_det_tbl.COUNT );
11972: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11973: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11974: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11975: RAISE OKL_API.G_EXCEPTION_ERROR;
11976: END IF;
11977: l_cfo_exists_at_lq := 'NO';
11978: FOR t_rec IN check_cfo_exists_csr(
11971: 'No. of Cash Flow Levels ' || l_lq_cash_flow_det_tbl.COUNT );
11972: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
11973: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
11974: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
11975: RAISE OKL_API.G_EXCEPTION_ERROR;
11976: END IF;
11977: l_cfo_exists_at_lq := 'NO';
11978: FOR t_rec IN check_cfo_exists_csr(
11979: p_oty_code => 'LEASE_QUOTE',
12062: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12063: 'Return Status | l_days_in_month | l_days_in_year | l_day_count_method ' );
12064: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12065: l_return_status || ' | ' || l_days_in_month || ' | ' || l_days_in_year || ' | ' || l_day_count_method );
12066: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12067: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12068: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12069: --Bug 5884825 PAGARG start
12070: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
12063: 'Return Status | l_days_in_month | l_days_in_year | l_day_count_method ' );
12064: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12065: l_return_status || ' | ' || l_days_in_month || ' | ' || l_days_in_year || ' | ' || l_day_count_method );
12066: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12067: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12068: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12069: --Bug 5884825 PAGARG start
12070: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
12071: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
12064: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12065: l_return_status || ' | ' || l_days_in_month || ' | ' || l_days_in_year || ' | ' || l_day_count_method );
12066: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12067: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12068: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12069: --Bug 5884825 PAGARG start
12070: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
12071: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
12072: p_token1 => 'PRODUCT_NAME',
12066: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12067: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12068: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12069: --Bug 5884825 PAGARG start
12070: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
12071: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
12072: p_token1 => 'PRODUCT_NAME',
12073: p_token1_value => l_product_name);
12074: --Bug 5884825 PAGARG end
12071: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
12072: p_token1 => 'PRODUCT_NAME',
12073: p_token1_value => l_product_name);
12074: --Bug 5884825 PAGARG end
12075: RAISE OKL_API.G_EXCEPTION_ERROR;
12076: END IF;
12077: -- Generate the Streams for the payment at the Quote Level !
12078: IF l_lq_cash_flow_det_tbl IS NOT NULL AND
12079: l_lq_cash_flow_det_tbl.COUNT > 0
12091: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12092: 'After gen_so_cf_strms ' || l_return_status);
12093: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12094: 'Number of Stream Elements generated ' || l_lq_cash_inflows.COUNT);
12095: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12096: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12097: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12098: RAISE OKL_API.G_EXCEPTION_ERROR;
12099: END IF;
12092: 'After gen_so_cf_strms ' || l_return_status);
12093: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12094: 'Number of Stream Elements generated ' || l_lq_cash_inflows.COUNT);
12095: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12096: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12097: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12098: RAISE OKL_API.G_EXCEPTION_ERROR;
12099: END IF;
12100: -- Get the DPP and PPY inorder to populate for the Residuals Table
12093: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12094: 'Number of Stream Elements generated ' || l_lq_cash_inflows.COUNT);
12095: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12096: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12097: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12098: RAISE OKL_API.G_EXCEPTION_ERROR;
12099: END IF;
12100: -- Get the DPP and PPY inorder to populate for the Residuals Table
12101: get_dpp_ppy(
12094: 'Number of Stream Elements generated ' || l_lq_cash_inflows.COUNT);
12095: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12096: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12097: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12098: RAISE OKL_API.G_EXCEPTION_ERROR;
12099: END IF;
12100: -- Get the DPP and PPY inorder to populate for the Residuals Table
12101: get_dpp_ppy(
12102: p_frequency => l_lq_cash_flow_det_tbl(l_lq_cash_flow_det_tbl.FIRST).fqy_code,
12104: x_ppy => l_cf_ppy,
12105: x_return_status => l_return_status );
12106: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12107: 'After get_dpp_ppy ' || l_return_status );
12108: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12109: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12110: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12111: RAISE OKL_API.G_EXCEPTION_ERROR;
12112: END IF;
12105: x_return_status => l_return_status );
12106: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12107: 'After get_dpp_ppy ' || l_return_status );
12108: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12109: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12110: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12111: RAISE OKL_API.G_EXCEPTION_ERROR;
12112: END IF;
12113: ELSE
12106: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12107: 'After get_dpp_ppy ' || l_return_status );
12108: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12109: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12110: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12111: RAISE OKL_API.G_EXCEPTION_ERROR;
12112: END IF;
12113: ELSE
12114: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12107: 'After get_dpp_ppy ' || l_return_status );
12108: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12109: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12110: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12111: RAISE OKL_API.G_EXCEPTION_ERROR;
12112: END IF;
12113: ELSE
12114: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12115: '********** No pricing option picked @ LQ ! *******' );
12154: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12155: 'After is_asset_overriding assets_rec.id =' || assets_rec.ast_id);
12156: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12157: ' l_return_status =' || l_return_status );
12158: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12159: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12160: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12161: RAISE OKL_API.G_EXCEPTION_ERROR;
12162: END IF;
12155: 'After is_asset_overriding assets_rec.id =' || assets_rec.ast_id);
12156: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12157: ' l_return_status =' || l_return_status );
12158: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12159: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12160: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12161: RAISE OKL_API.G_EXCEPTION_ERROR;
12162: END IF;
12163: END IF;
12156: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12157: ' l_return_status =' || l_return_status );
12158: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12159: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12160: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12161: RAISE OKL_API.G_EXCEPTION_ERROR;
12162: END IF;
12163: END IF;
12164: IF l_overridden = FALSE
12157: ' l_return_status =' || l_return_status );
12158: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12159: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12160: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12161: RAISE OKL_API.G_EXCEPTION_ERROR;
12162: END IF;
12163: END IF;
12164: IF l_overridden = FALSE
12165: THEN
12270: p_line_type => assets_rec.fee_type,
12271: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
12272: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12273: 'After price_standard_quote_asset ' || l_return_status );
12274: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12275: RAISE okl_api.g_exception_unexpected_error;
12276: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12277: RAISE okl_api.g_exception_error;
12278: END IF;
12271: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
12272: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12273: 'After price_standard_quote_asset ' || l_return_status );
12274: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12275: RAISE okl_api.g_exception_unexpected_error;
12276: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12277: RAISE okl_api.g_exception_error;
12278: END IF;
12279: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12272: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12273: 'After price_standard_quote_asset ' || l_return_status );
12274: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12275: RAISE okl_api.g_exception_unexpected_error;
12276: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12277: RAISE okl_api.g_exception_error;
12278: END IF;
12279: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12280: -- Increment the pp_index
12273: 'After price_standard_quote_asset ' || l_return_status );
12274: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12275: RAISE okl_api.g_exception_unexpected_error;
12276: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12277: RAISE okl_api.g_exception_error;
12278: END IF;
12279: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12280: -- Increment the pp_index
12281: pp_index := pp_index + 1;
12307: px_iir => x_iir,
12308: x_payment => x_payment);
12309: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12310: 'After compute_iir ' || l_return_status );
12311: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12312: RAISE okl_api.g_exception_unexpected_error;
12313: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12314: RAISE okl_api.g_exception_error;
12315: END IF;
12308: x_payment => x_payment);
12309: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12310: 'After compute_iir ' || l_return_status );
12311: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12312: RAISE okl_api.g_exception_unexpected_error;
12313: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12314: RAISE okl_api.g_exception_error;
12315: END IF;
12316: IF x_payment < 0
12309: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12310: 'After compute_iir ' || l_return_status );
12311: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12312: RAISE okl_api.g_exception_unexpected_error;
12313: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12314: RAISE okl_api.g_exception_error;
12315: END IF;
12316: IF x_payment < 0
12317: THEN
12310: 'After compute_iir ' || l_return_status );
12311: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12312: RAISE okl_api.g_exception_unexpected_error;
12313: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12314: RAISE okl_api.g_exception_error;
12315: END IF;
12316: IF x_payment < 0
12317: THEN
12318: OKL_API.SET_MESSAGE (
12314: RAISE okl_api.g_exception_error;
12315: END IF;
12316: IF x_payment < 0
12317: THEN
12318: OKL_API.SET_MESSAGE (
12319: p_app_name => G_APP_NAME,
12320: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT',
12321: p_token1 => 'TYPE',
12322: p_token1_value => 'Payment',
12321: p_token1 => 'TYPE',
12322: p_token1_value => 'Payment',
12323: p_token2 => 'AMOUNT',
12324: p_token2_value => round(x_payment,2) );
12325: RAISE okl_api.g_exception_error;
12326: END IF;
12327: -- Now, we need to populate back the Payment Amount back
12328: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12329: '***** **** Updating the stream elements and cash flow with the amount ' || x_payment );
12371: x_msg_count => x_msg_count,
12372: x_msg_data => x_msg_data);
12373: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12374: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
12375: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12376: RAISE okl_api.g_exception_unexpected_error;
12377: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12378: RAISE okl_api.g_exception_error;
12379: END IF;
12372: x_msg_data => x_msg_data);
12373: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12374: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
12375: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12376: RAISE okl_api.g_exception_unexpected_error;
12377: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12378: RAISE okl_api.g_exception_error;
12379: END IF;
12380: END IF;
12373: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12374: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
12375: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12376: RAISE okl_api.g_exception_unexpected_error;
12377: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12378: RAISE okl_api.g_exception_error;
12379: END IF;
12380: END IF;
12381: FOR cfl_index IN l_lq_payment_level_tbl.FIRST .. l_lq_payment_level_tbl.LAST
12374: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
12375: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12376: RAISE okl_api.g_exception_unexpected_error;
12377: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12378: RAISE okl_api.g_exception_error;
12379: END IF;
12380: END IF;
12381: FOR cfl_index IN l_lq_payment_level_tbl.FIRST .. l_lq_payment_level_tbl.LAST
12382: LOOP
12394: x_msg_count => x_msg_count,
12395: x_msg_data => x_msg_data);
12396: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12397: 'After update_cashflow call ' || l_Return_Status );
12398: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12399: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12400: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12401: RAISE OKL_API.G_EXCEPTION_ERROR;
12402: END IF;
12395: x_msg_data => x_msg_data);
12396: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12397: 'After update_cashflow call ' || l_Return_Status );
12398: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12399: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12400: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12401: RAISE OKL_API.G_EXCEPTION_ERROR;
12402: END IF;
12403: -- pp_index is an post-assigned incremented index!
12396: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12397: 'After update_cashflow call ' || l_Return_Status );
12398: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12399: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12400: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12401: RAISE OKL_API.G_EXCEPTION_ERROR;
12402: END IF;
12403: -- pp_index is an post-assigned incremented index!
12404: l_lq_pricing_parameter_rec.line_type := 'FREE_FORM1';
12397: 'After update_cashflow call ' || l_Return_Status );
12398: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12399: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12400: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12401: RAISE OKL_API.G_EXCEPTION_ERROR;
12402: END IF;
12403: -- pp_index is an post-assigned incremented index!
12404: l_lq_pricing_parameter_rec.line_type := 'FREE_FORM1';
12405: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
12431: p_line_type => assets_rec.fee_type,
12432: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
12433: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12434: 'After price_standard_quote_asset ' || l_return_status );
12435: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12436: RAISE okl_api.g_exception_unexpected_error;
12437: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12438: RAISE okl_api.g_exception_error;
12439: END IF;
12432: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
12433: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12434: 'After price_standard_quote_asset ' || l_return_status );
12435: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12436: RAISE okl_api.g_exception_unexpected_error;
12437: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12438: RAISE okl_api.g_exception_error;
12439: END IF;
12440: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12433: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12434: 'After price_standard_quote_asset ' || l_return_status );
12435: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12436: RAISE okl_api.g_exception_unexpected_error;
12437: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12438: RAISE okl_api.g_exception_error;
12439: END IF;
12440: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12441: -- Increment the pp_index
12434: 'After price_standard_quote_asset ' || l_return_status );
12435: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12436: RAISE okl_api.g_exception_unexpected_error;
12437: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12438: RAISE okl_api.g_exception_error;
12439: END IF;
12440: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12441: -- Increment the pp_index
12442: pp_index := pp_index + 1;
12461: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12462: '1/ After Computation of SUBSIDIZED-IIR @ LQ Level ' || l_return_status );
12463: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12464: 'SOLVED FOR IIR ' || x_iir );
12465: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12466: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12467: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12468: RAISE OKL_API.G_EXCEPTION_ERROR;
12469: END IF;
12462: '1/ After Computation of SUBSIDIZED-IIR @ LQ Level ' || l_return_status );
12463: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12464: 'SOLVED FOR IIR ' || x_iir );
12465: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12466: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12467: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12468: RAISE OKL_API.G_EXCEPTION_ERROR;
12469: END IF;
12470: l_subsidized_yields_rec.iir := x_iir;
12463: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12464: 'SOLVED FOR IIR ' || x_iir );
12465: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12466: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12467: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12468: RAISE OKL_API.G_EXCEPTION_ERROR;
12469: END IF;
12470: l_subsidized_yields_rec.iir := x_iir;
12471: l_subsidized_yields_rec.bk_yield := l_subsidized_yields_rec.iir;
12464: 'SOLVED FOR IIR ' || x_iir );
12465: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12466: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12467: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12468: RAISE OKL_API.G_EXCEPTION_ERROR;
12469: END IF;
12470: l_subsidized_yields_rec.iir := x_iir;
12471: l_subsidized_yields_rec.bk_yield := l_subsidized_yields_rec.iir;
12472: -- Populate the Pricing Params with all the other configuration lines
12495: x_inflow_caf_rec => l_fee_inflow_caf_rec,
12496: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
12497: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12498: 'After get_lq_fee_cash_flows ' || l_return_status );
12499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12502: RAISE OKL_API.G_EXCEPTION_ERROR;
12503: END IF;
12496: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
12497: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12498: 'After get_lq_fee_cash_flows ' || l_return_status );
12499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12502: RAISE OKL_API.G_EXCEPTION_ERROR;
12503: END IF;
12504: -- Based on the outflows/Inflows obtained generate the streams
12497: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12498: 'After get_lq_fee_cash_flows ' || l_return_status );
12499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12502: RAISE OKL_API.G_EXCEPTION_ERROR;
12503: END IF;
12504: -- Based on the outflows/Inflows obtained generate the streams
12505: IF l_fee_outflow_cfl_tbl.COUNT > 0
12498: 'After get_lq_fee_cash_flows ' || l_return_status );
12499: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12500: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12501: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12502: RAISE OKL_API.G_EXCEPTION_ERROR;
12503: END IF;
12504: -- Based on the outflows/Inflows obtained generate the streams
12505: IF l_fee_outflow_cfl_tbl.COUNT > 0
12506: THEN
12515: x_msg_data => x_msg_data,
12516: p_cash_flow_rec => l_fee_outflow_caf_rec,
12517: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
12518: x_cash_inflow_strms_tbl => l_cash_inflows);
12519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12522: RAISE OKL_API.G_EXCEPTION_ERROR;
12523: END IF;
12516: p_cash_flow_rec => l_fee_outflow_caf_rec,
12517: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
12518: x_cash_inflow_strms_tbl => l_cash_inflows);
12519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12522: RAISE OKL_API.G_EXCEPTION_ERROR;
12523: END IF;
12524: -- Place the information in the pricing params
12517: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
12518: x_cash_inflow_strms_tbl => l_cash_inflows);
12519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12522: RAISE OKL_API.G_EXCEPTION_ERROR;
12523: END IF;
12524: -- Place the information in the pricing params
12525: pp_index := pp_index + 1;
12518: x_cash_inflow_strms_tbl => l_cash_inflows);
12519: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12520: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12521: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12522: RAISE OKL_API.G_EXCEPTION_ERROR;
12523: END IF;
12524: -- Place the information in the pricing params
12525: pp_index := pp_index + 1;
12526: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
12546: x_msg_data => x_msg_data,
12547: p_cash_flow_rec => l_fee_inflow_caf_rec,
12548: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
12549: x_cash_inflow_strms_tbl => l_cash_inflows);
12550: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12551: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12552: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12553: RAISE OKL_API.G_EXCEPTION_ERROR;
12554: END IF;
12547: p_cash_flow_rec => l_fee_inflow_caf_rec,
12548: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
12549: x_cash_inflow_strms_tbl => l_cash_inflows);
12550: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12551: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12552: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12553: RAISE OKL_API.G_EXCEPTION_ERROR;
12554: END IF;
12555: -- Place the information in the pricing params
12548: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
12549: x_cash_inflow_strms_tbl => l_cash_inflows);
12550: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12551: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12552: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12553: RAISE OKL_API.G_EXCEPTION_ERROR;
12554: END IF;
12555: -- Place the information in the pricing params
12556: pp_index := pp_index + 1;
12549: x_cash_inflow_strms_tbl => l_cash_inflows);
12550: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12551: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12552: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12553: RAISE OKL_API.G_EXCEPTION_ERROR;
12554: END IF;
12555: -- Place the information in the pricing params
12556: pp_index := pp_index + 1;
12557: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
12605: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12606: '1/ After Computation of SUBSIDIZED-IRR @ LQ Level ' || l_return_status );
12607: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12608: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
12609: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12610: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12611: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12612: RAISE OKL_API.G_EXCEPTION_ERROR;
12613: END IF;
12606: '1/ After Computation of SUBSIDIZED-IRR @ LQ Level ' || l_return_status );
12607: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12608: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
12609: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12610: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12611: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12612: RAISE OKL_API.G_EXCEPTION_ERROR;
12613: END IF;
12614: -- Calculation of the Non-Subsidized Yields
12607: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12608: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
12609: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12610: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12611: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12612: RAISE OKL_API.G_EXCEPTION_ERROR;
12613: END IF;
12614: -- Calculation of the Non-Subsidized Yields
12615: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12608: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
12609: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12610: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12611: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12612: RAISE OKL_API.G_EXCEPTION_ERROR;
12613: END IF;
12614: -- Calculation of the Non-Subsidized Yields
12615: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12616: '!!!!!!!!!! Before Computation of NON-SUBSIDIZED-IIR @ LQ Level !!!!!!!!' );
12641: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12642: '1/ After Computation of NON-SUBSIDIZED-IIR @ LQ Level ' || l_return_status );
12643: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12644: 'SOLVED FOR NON-SUBSIDIZED-IIR ' || l_yields_rec.iir );
12645: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12646: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12647: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12648: RAISE OKL_API.G_EXCEPTION_ERROR;
12649: END IF;
12642: '1/ After Computation of NON-SUBSIDIZED-IIR @ LQ Level ' || l_return_status );
12643: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12644: 'SOLVED FOR NON-SUBSIDIZED-IIR ' || l_yields_rec.iir );
12645: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12646: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12647: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12648: RAISE OKL_API.G_EXCEPTION_ERROR;
12649: END IF;
12650: l_yields_rec.bk_yield := l_yields_rec.iir;
12643: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12644: 'SOLVED FOR NON-SUBSIDIZED-IIR ' || l_yields_rec.iir );
12645: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12646: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12647: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12648: RAISE OKL_API.G_EXCEPTION_ERROR;
12649: END IF;
12650: l_yields_rec.bk_yield := l_yields_rec.iir;
12651: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12644: 'SOLVED FOR NON-SUBSIDIZED-IIR ' || l_yields_rec.iir );
12645: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12646: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12647: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12648: RAISE OKL_API.G_EXCEPTION_ERROR;
12649: END IF;
12650: l_yields_rec.bk_yield := l_yields_rec.iir;
12651: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12652: '1/ Before Computation of NON-SUBSIDIZED-IRR @ LQ Level ' );
12676: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12677: 'After Computation of NON-SUBSIDIZED-IRR @ LQ Level ' || l_return_status );
12678: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12679: 'SOLVED FOR NON-SUBSIDIZED-IRR ' || l_yields_rec.pre_tax_irr );
12680: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12681: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12682: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12683: RAISE OKL_API.G_EXCEPTION_ERROR;
12684: END IF;
12677: 'After Computation of NON-SUBSIDIZED-IRR @ LQ Level ' || l_return_status );
12678: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12679: 'SOLVED FOR NON-SUBSIDIZED-IRR ' || l_yields_rec.pre_tax_irr );
12680: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12681: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12682: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12683: RAISE OKL_API.G_EXCEPTION_ERROR;
12684: END IF;
12685: ELSIF quote_rec.pricing_method = 'SF'
12678: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12679: 'SOLVED FOR NON-SUBSIDIZED-IRR ' || l_yields_rec.pre_tax_irr );
12680: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12681: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12682: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12683: RAISE OKL_API.G_EXCEPTION_ERROR;
12684: END IF;
12685: ELSIF quote_rec.pricing_method = 'SF'
12686: THEN
12679: 'SOLVED FOR NON-SUBSIDIZED-IRR ' || l_yields_rec.pre_tax_irr );
12680: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12681: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12682: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12683: RAISE OKL_API.G_EXCEPTION_ERROR;
12684: END IF;
12685: ELSIF quote_rec.pricing_method = 'SF'
12686: THEN
12687: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12720: p_ast_arrears_yn => assets_rec.target_arrears,
12721: x_return_status => l_return_status);
12722: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12723: ' Pricing method = SF | x_return_status = ' || l_return_status );
12724: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12725: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12726: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12727: RAISE OKL_API.G_EXCEPTION_ERROR;
12728: END IF;
12721: x_return_status => l_return_status);
12722: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12723: ' Pricing method = SF | x_return_status = ' || l_return_status );
12724: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12725: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12726: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12727: RAISE OKL_API.G_EXCEPTION_ERROR;
12728: END IF;
12729: END IF;
12722: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12723: ' Pricing method = SF | x_return_status = ' || l_return_status );
12724: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12725: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12726: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12727: RAISE OKL_API.G_EXCEPTION_ERROR;
12728: END IF;
12729: END IF;
12730: IF l_overridden = FALSE
12723: ' Pricing method = SF | x_return_status = ' || l_return_status );
12724: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
12725: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
12726: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
12727: RAISE OKL_API.G_EXCEPTION_ERROR;
12728: END IF;
12729: END IF;
12730: IF l_overridden = FALSE
12731: THEN
12846: p_line_type => assets_rec.fee_type,
12847: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
12848: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12849: 'PM = SF | After price_Standard_quote_asset l_return_Status = '|| l_return_status );
12850: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12851: RAISE okl_api.g_exception_unexpected_error;
12852: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12853: RAISE okl_api.g_exception_error;
12854: END IF;
12847: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
12848: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12849: 'PM = SF | After price_Standard_quote_asset l_return_Status = '|| l_return_status );
12850: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12851: RAISE okl_api.g_exception_unexpected_error;
12852: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12853: RAISE okl_api.g_exception_error;
12854: END IF;
12855: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12848: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12849: 'PM = SF | After price_Standard_quote_asset l_return_Status = '|| l_return_status );
12850: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12851: RAISE okl_api.g_exception_unexpected_error;
12852: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12853: RAISE okl_api.g_exception_error;
12854: END IF;
12855: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12856: -- Increment the pp_index
12849: 'PM = SF | After price_Standard_quote_asset l_return_Status = '|| l_return_status );
12850: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12851: RAISE okl_api.g_exception_unexpected_error;
12852: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12853: RAISE okl_api.g_exception_error;
12854: END IF;
12855: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
12856: -- Increment the pp_index
12857: pp_index := pp_index + 1;
12920: x_payment => x_payment);
12921: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12922: 'Pricing method = SF | After compute_iir l_return_Status = ' || l_return_status || ' Financed Amount = ' ||
12923: round(l_lq_pricing_parameter_rec.financed_amount, 4) );
12924: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12925: RAISE okl_api.g_exception_unexpected_error;
12926: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12927: RAISE okl_api.g_exception_error;
12928: END IF;
12921: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12922: 'Pricing method = SF | After compute_iir l_return_Status = ' || l_return_status || ' Financed Amount = ' ||
12923: round(l_lq_pricing_parameter_rec.financed_amount, 4) );
12924: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12925: RAISE okl_api.g_exception_unexpected_error;
12926: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12927: RAISE okl_api.g_exception_error;
12928: END IF;
12929: IF l_pricing_method = 'SFP'
12922: 'Pricing method = SF | After compute_iir l_return_Status = ' || l_return_status || ' Financed Amount = ' ||
12923: round(l_lq_pricing_parameter_rec.financed_amount, 4) );
12924: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12925: RAISE okl_api.g_exception_unexpected_error;
12926: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12927: RAISE okl_api.g_exception_error;
12928: END IF;
12929: IF l_pricing_method = 'SFP'
12930: THEN
12923: round(l_lq_pricing_parameter_rec.financed_amount, 4) );
12924: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12925: RAISE okl_api.g_exception_unexpected_error;
12926: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12927: RAISE okl_api.g_exception_error;
12928: END IF;
12929: IF l_pricing_method = 'SFP'
12930: THEN
12931: l_pricing_method := 'SF'; -- Revert back the pricing method to 'SF'
12968: p_lq_id => p_qte_id,
12969: p_tot_fin_amount => l_lq_pricing_parameter_rec.financed_amount);
12970: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12971: 'After distribute_fin_amount_lq ' || l_return_status );
12972: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12973: RAISE okl_api.g_exception_unexpected_error;
12974: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12975: RAISE okl_api.g_exception_error;
12976: END IF;
12969: p_tot_fin_amount => l_lq_pricing_parameter_rec.financed_amount);
12970: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12971: 'After distribute_fin_amount_lq ' || l_return_status );
12972: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12973: RAISE okl_api.g_exception_unexpected_error;
12974: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12975: RAISE okl_api.g_exception_error;
12976: END IF;
12977: -- After compute_iir above, the l_lq_pricing_parameter_rec
12970: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
12971: 'After distribute_fin_amount_lq ' || l_return_status );
12972: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12973: RAISE okl_api.g_exception_unexpected_error;
12974: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12975: RAISE okl_api.g_exception_error;
12976: END IF;
12977: -- After compute_iir above, the l_lq_pricing_parameter_rec
12978: -- should have been populated with the appropriate values for
12971: 'After distribute_fin_amount_lq ' || l_return_status );
12972: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
12973: RAISE okl_api.g_exception_unexpected_error;
12974: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
12975: RAISE okl_api.g_exception_error;
12976: END IF;
12977: -- After compute_iir above, the l_lq_pricing_parameter_rec
12978: -- should have been populated with the appropriate values for
12979: -- Financed Amount, Down Payment, Subsidy and all
13000: x_msg_count => x_msg_count,
13001: x_msg_data => x_msg_data);
13002: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13003: ' ----- "SF" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13004: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13005: RAISE okl_api.g_exception_unexpected_error;
13006: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13007: RAISE okl_api.g_exception_error;
13008: END IF;
13001: x_msg_data => x_msg_data);
13002: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13003: ' ----- "SF" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13004: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13005: RAISE okl_api.g_exception_unexpected_error;
13006: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13007: RAISE okl_api.g_exception_error;
13008: END IF;
13009: END IF;
13002: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13003: ' ----- "SF" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13004: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13005: RAISE okl_api.g_exception_unexpected_error;
13006: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13007: RAISE okl_api.g_exception_error;
13008: END IF;
13009: END IF;
13010: FOR cfl_index IN l_lq_payment_level_tbl.FIRST .. l_lq_payment_level_tbl.LAST
13003: ' ----- "SF" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13004: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13005: RAISE okl_api.g_exception_unexpected_error;
13006: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13007: RAISE okl_api.g_exception_error;
13008: END IF;
13009: END IF;
13010: FOR cfl_index IN l_lq_payment_level_tbl.FIRST .. l_lq_payment_level_tbl.LAST
13011: LOOP
13027: 'After update_cashflow call ' || l_Return_Status );
13028: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13029: 'After creating the cash flows call ' || 'Sty_id ' || l_lq_payment_header_rec.stream_type_id
13030: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13031: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13033: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13034: RAISE OKL_API.G_EXCEPTION_ERROR;
13035: END IF;
13028: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13029: 'After creating the cash flows call ' || 'Sty_id ' || l_lq_payment_header_rec.stream_type_id
13030: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13031: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13033: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13034: RAISE OKL_API.G_EXCEPTION_ERROR;
13035: END IF;
13036: END IF; -- Check if Pricing Option = SRT
13029: 'After creating the cash flows call ' || 'Sty_id ' || l_lq_payment_header_rec.stream_type_id
13030: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13031: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13033: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13034: RAISE OKL_API.G_EXCEPTION_ERROR;
13035: END IF;
13036: END IF; -- Check if Pricing Option = SRT
13037: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
13030: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13031: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13033: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13034: RAISE OKL_API.G_EXCEPTION_ERROR;
13035: END IF;
13036: END IF; -- Check if Pricing Option = SRT
13037: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
13038: -- After compute_iir above, the l_lq_pricing_parameter_rec
13065: p_line_type => assets_rec.fee_type,
13066: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
13067: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13068: 'After price_standard_quote_asset ' || l_return_status );
13069: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13070: RAISE okl_api.g_exception_unexpected_error;
13071: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13072: RAISE okl_api.g_exception_error;
13073: END IF;
13066: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
13067: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13068: 'After price_standard_quote_asset ' || l_return_status );
13069: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13070: RAISE okl_api.g_exception_unexpected_error;
13071: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13072: RAISE okl_api.g_exception_error;
13073: END IF;
13074: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13067: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13068: 'After price_standard_quote_asset ' || l_return_status );
13069: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13070: RAISE okl_api.g_exception_unexpected_error;
13071: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13072: RAISE okl_api.g_exception_error;
13073: END IF;
13074: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13075: -- Increment the pp_index
13068: 'After price_standard_quote_asset ' || l_return_status );
13069: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13070: RAISE okl_api.g_exception_unexpected_error;
13071: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13072: RAISE okl_api.g_exception_error;
13073: END IF;
13074: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13075: -- Increment the pp_index
13076: pp_index := pp_index + 1;
13100: x_payment => x_payment);
13101: l_subsidized_yields_rec.iir := l_iir_temp;
13102: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13103: 'After Calculating the Subsidized IIR ' || round(l_subsidized_yields_rec.iir, 4) );
13104: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13105: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13106: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13107: RAISE OKL_API.G_EXCEPTION_ERROR;
13108: END IF;
13101: l_subsidized_yields_rec.iir := l_iir_temp;
13102: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13103: 'After Calculating the Subsidized IIR ' || round(l_subsidized_yields_rec.iir, 4) );
13104: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13105: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13106: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13107: RAISE OKL_API.G_EXCEPTION_ERROR;
13108: END IF;
13109: -- Store the IIR as the Booking Yield
13102: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13103: 'After Calculating the Subsidized IIR ' || round(l_subsidized_yields_rec.iir, 4) );
13104: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13105: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13106: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13107: RAISE OKL_API.G_EXCEPTION_ERROR;
13108: END IF;
13109: -- Store the IIR as the Booking Yield
13110: l_subsidized_yields_rec.bk_yield := l_subsidized_yields_rec.iir;
13103: 'After Calculating the Subsidized IIR ' || round(l_subsidized_yields_rec.iir, 4) );
13104: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13105: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13106: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13107: RAISE OKL_API.G_EXCEPTION_ERROR;
13108: END IF;
13109: -- Store the IIR as the Booking Yield
13110: l_subsidized_yields_rec.bk_yield := l_subsidized_yields_rec.iir;
13111: -- Now Build the pricing params table for the calculation of the
13136: x_inflow_caf_rec => l_fee_inflow_caf_rec,
13137: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
13138: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13139: 'After get_lq_fee_cash_flows ' || l_return_status );
13140: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13141: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13142: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13143: RAISE OKL_API.G_EXCEPTION_ERROR;
13144: END IF;
13137: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
13138: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13139: 'After get_lq_fee_cash_flows ' || l_return_status );
13140: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13141: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13142: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13143: RAISE OKL_API.G_EXCEPTION_ERROR;
13144: END IF;
13145: -- Based on the outflows/Inflows obtained generate the streams
13138: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13139: 'After get_lq_fee_cash_flows ' || l_return_status );
13140: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13141: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13142: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13143: RAISE OKL_API.G_EXCEPTION_ERROR;
13144: END IF;
13145: -- Based on the outflows/Inflows obtained generate the streams
13146: IF l_fee_outflow_cfl_tbl.COUNT > 0
13139: 'After get_lq_fee_cash_flows ' || l_return_status );
13140: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13141: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13142: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13143: RAISE OKL_API.G_EXCEPTION_ERROR;
13144: END IF;
13145: -- Based on the outflows/Inflows obtained generate the streams
13146: IF l_fee_outflow_cfl_tbl.COUNT > 0
13147: THEN
13156: x_msg_data => x_msg_data,
13157: p_cash_flow_rec => l_fee_outflow_caf_rec,
13158: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
13159: x_cash_inflow_strms_tbl => l_cash_inflows);
13160: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13161: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13162: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13163: RAISE OKL_API.G_EXCEPTION_ERROR;
13164: END IF;
13157: p_cash_flow_rec => l_fee_outflow_caf_rec,
13158: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
13159: x_cash_inflow_strms_tbl => l_cash_inflows);
13160: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13161: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13162: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13163: RAISE OKL_API.G_EXCEPTION_ERROR;
13164: END IF;
13165: -- Place the information in the pricing params
13158: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
13159: x_cash_inflow_strms_tbl => l_cash_inflows);
13160: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13161: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13162: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13163: RAISE OKL_API.G_EXCEPTION_ERROR;
13164: END IF;
13165: -- Place the information in the pricing params
13166: ppfs_index := ppfs_index + 1;
13159: x_cash_inflow_strms_tbl => l_cash_inflows);
13160: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13161: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13162: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13163: RAISE OKL_API.G_EXCEPTION_ERROR;
13164: END IF;
13165: -- Place the information in the pricing params
13166: ppfs_index := ppfs_index + 1;
13167: l_pp_non_sub_irr_tbl(ppfs_index).line_type := assets_rec.fee_type;
13187: x_msg_data => x_msg_data,
13188: p_cash_flow_rec => l_fee_inflow_caf_rec,
13189: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
13190: x_cash_inflow_strms_tbl => l_cash_inflows);
13191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13194: RAISE OKL_API.G_EXCEPTION_ERROR;
13195: END IF;
13188: p_cash_flow_rec => l_fee_inflow_caf_rec,
13189: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
13190: x_cash_inflow_strms_tbl => l_cash_inflows);
13191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13194: RAISE OKL_API.G_EXCEPTION_ERROR;
13195: END IF;
13196: -- Place the information in the pricing params
13189: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
13190: x_cash_inflow_strms_tbl => l_cash_inflows);
13191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13194: RAISE OKL_API.G_EXCEPTION_ERROR;
13195: END IF;
13196: -- Place the information in the pricing params
13197: ppfs_index := ppfs_index + 1;
13190: x_cash_inflow_strms_tbl => l_cash_inflows);
13191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13194: RAISE OKL_API.G_EXCEPTION_ERROR;
13195: END IF;
13196: -- Place the information in the pricing params
13197: ppfs_index := ppfs_index + 1;
13198: l_pp_non_sub_irr_tbl(ppfs_index).line_type := assets_rec.fee_type;
13242: x_payment => x_payment);
13243: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
13244: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13245: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13246: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13247: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13248: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13249: RAISE OKL_API.G_EXCEPTION_ERROR;
13250: END IF;
13243: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
13244: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13245: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13246: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13247: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13248: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13249: RAISE OKL_API.G_EXCEPTION_ERROR;
13250: END IF;
13251: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13244: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13245: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13246: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13247: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13248: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13249: RAISE OKL_API.G_EXCEPTION_ERROR;
13250: END IF;
13251: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13252: '!!!!!!!!!!! NON-SUBSIDIZIED YIELDS CALCULATION !!!!!!!!!!!' );
13245: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13246: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13247: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13248: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13249: RAISE OKL_API.G_EXCEPTION_ERROR;
13250: END IF;
13251: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13252: '!!!!!!!!!!! NON-SUBSIDIZIED YIELDS CALCULATION !!!!!!!!!!!' );
13253: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13281: x_payment => x_payment);
13282: l_yields_rec.iir := l_iir_temp;
13283: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13284: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13285: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13286: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13287: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13288: RAISE OKL_API.G_EXCEPTION_ERROR;
13289: END IF;
13282: l_yields_rec.iir := l_iir_temp;
13283: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13284: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13285: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13286: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13287: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13288: RAISE OKL_API.G_EXCEPTION_ERROR;
13289: END IF;
13290: l_yields_rec.bk_yield := l_yields_rec.iir;
13283: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13284: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13285: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13286: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13287: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13288: RAISE OKL_API.G_EXCEPTION_ERROR;
13289: END IF;
13290: l_yields_rec.bk_yield := l_yields_rec.iir;
13291: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13284: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13285: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13286: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13287: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13288: RAISE OKL_API.G_EXCEPTION_ERROR;
13289: END IF;
13290: l_yields_rec.bk_yield := l_yields_rec.iir;
13291: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13292: 'Removing subsidy from the l_pp_non_sub_irr_tbl ' );
13319: x_payment => x_payment);
13320: l_yields_rec.pre_tax_irr := l_iir_temp;
13321: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13322: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13323: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13324: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13325: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13326: RAISE OKL_API.G_EXCEPTION_ERROR;
13327: END IF;
13320: l_yields_rec.pre_tax_irr := l_iir_temp;
13321: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13322: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13323: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13324: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13325: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13326: RAISE OKL_API.G_EXCEPTION_ERROR;
13327: END IF;
13328: IF (l_disp_sf_msg) THEN
13321: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13322: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13323: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13324: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13325: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13326: RAISE OKL_API.G_EXCEPTION_ERROR;
13327: END IF;
13328: IF (l_disp_sf_msg) THEN
13329: OKL_API.SET_MESSAGE (
13322: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13323: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13324: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13325: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13326: RAISE OKL_API.G_EXCEPTION_ERROR;
13327: END IF;
13328: IF (l_disp_sf_msg) THEN
13329: OKL_API.SET_MESSAGE (
13330: p_app_name => G_APP_NAME,
13325: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13326: RAISE OKL_API.G_EXCEPTION_ERROR;
13327: END IF;
13328: IF (l_disp_sf_msg) THEN
13329: OKL_API.SET_MESSAGE (
13330: p_app_name => G_APP_NAME,
13331: p_msg_name => 'OKL_UNSUB_RATES_SF');
13332: END IF;
13333: ELSIF quote_rec.pricing_method = 'SI' OR
13364: x_return_status => l_return_status);
13365: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13366: 'PM = SS/SD/ST | After is_asset_overriding | l_return_status = ' ||
13367: l_return_status || ' | Asset ID = ' || assets_rec.ast_id );
13368: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13369: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13370: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13371: RAISE OKL_API.G_EXCEPTION_ERROR;
13372: END IF;
13365: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13366: 'PM = SS/SD/ST | After is_asset_overriding | l_return_status = ' ||
13367: l_return_status || ' | Asset ID = ' || assets_rec.ast_id );
13368: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13369: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13370: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13371: RAISE OKL_API.G_EXCEPTION_ERROR;
13372: END IF;
13373: END IF;
13366: 'PM = SS/SD/ST | After is_asset_overriding | l_return_status = ' ||
13367: l_return_status || ' | Asset ID = ' || assets_rec.ast_id );
13368: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13369: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13370: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13371: RAISE OKL_API.G_EXCEPTION_ERROR;
13372: END IF;
13373: END IF;
13374: IF l_overridden = FALSE
13367: l_return_status || ' | Asset ID = ' || assets_rec.ast_id );
13368: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13369: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13370: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13371: RAISE OKL_API.G_EXCEPTION_ERROR;
13372: END IF;
13373: END IF;
13374: IF l_overridden = FALSE
13375: THEN
13478: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
13479: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13480: 'Pricing method = ' || quote_rec.pricing_method || ' | After price_standard_quote_asset l_return_status = ' || l_return_status ||
13481: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13482: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13483: RAISE okl_api.g_exception_unexpected_error;
13484: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13485: RAISE okl_api.g_exception_error;
13486: END IF;
13479: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13480: 'Pricing method = ' || quote_rec.pricing_method || ' | After price_standard_quote_asset l_return_status = ' || l_return_status ||
13481: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13482: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13483: RAISE okl_api.g_exception_unexpected_error;
13484: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13485: RAISE okl_api.g_exception_error;
13486: END IF;
13487: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13480: 'Pricing method = ' || quote_rec.pricing_method || ' | After price_standard_quote_asset l_return_status = ' || l_return_status ||
13481: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13482: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13483: RAISE okl_api.g_exception_unexpected_error;
13484: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13485: RAISE okl_api.g_exception_error;
13486: END IF;
13487: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13488: -- Increment the pp_index
13481: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13482: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13483: RAISE okl_api.g_exception_unexpected_error;
13484: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13485: RAISE okl_api.g_exception_error;
13486: END IF;
13487: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13488: -- Increment the pp_index
13489: pp_index := pp_index + 1;
13520: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13521: round(l_lq_pricing_parameter_rec.financed_amount, 4 ) || ' | ' || round(l_lq_pricing_parameter_rec.down_payment, 4)
13522: || ' | ' || round(l_lq_pricing_parameter_rec.subsidy, 4) || ' | ' || round(l_lq_pricing_parameter_rec.trade_in, 4)
13523: || ' | ' || round(l_lq_pricing_parameter_rec.cap_fee_amount, 4));
13524: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13525: RAISE okl_api.g_exception_unexpected_error;
13526: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13527: RAISE okl_api.g_exception_error;
13528: END IF;
13521: round(l_lq_pricing_parameter_rec.financed_amount, 4 ) || ' | ' || round(l_lq_pricing_parameter_rec.down_payment, 4)
13522: || ' | ' || round(l_lq_pricing_parameter_rec.subsidy, 4) || ' | ' || round(l_lq_pricing_parameter_rec.trade_in, 4)
13523: || ' | ' || round(l_lq_pricing_parameter_rec.cap_fee_amount, 4));
13524: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13525: RAISE okl_api.g_exception_unexpected_error;
13526: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13527: RAISE okl_api.g_exception_error;
13528: END IF;
13529: l_an_ass_follow_lq := TRUE; -- Store the flag
13522: || ' | ' || round(l_lq_pricing_parameter_rec.subsidy, 4) || ' | ' || round(l_lq_pricing_parameter_rec.trade_in, 4)
13523: || ' | ' || round(l_lq_pricing_parameter_rec.cap_fee_amount, 4));
13524: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13525: RAISE okl_api.g_exception_unexpected_error;
13526: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13527: RAISE okl_api.g_exception_error;
13528: END IF;
13529: l_an_ass_follow_lq := TRUE; -- Store the flag
13530: l_lq_details_prc_rec := l_lq_pricing_parameter_rec;
13523: || ' | ' || round(l_lq_pricing_parameter_rec.cap_fee_amount, 4));
13524: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13525: RAISE okl_api.g_exception_unexpected_error;
13526: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13527: RAISE okl_api.g_exception_error;
13528: END IF;
13529: l_an_ass_follow_lq := TRUE; -- Store the flag
13530: l_lq_details_prc_rec := l_lq_pricing_parameter_rec;
13531: -- By now, we have solved for the Down Payment/Subsidy/Tradein @ LQ Level !
13577: l_adj_type := 'Subsidy';
13578: END IF;
13579: IF l_ass_adj_tbl(1).VALUE < 0
13580: THEN
13581: OKL_API.SET_MESSAGE (
13582: p_app_name => G_APP_NAME,
13583: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT',
13584: p_token1 => 'TYPE',
13585: p_token1_value => l_adj_type,
13584: p_token1 => 'TYPE',
13585: p_token1_value => l_adj_type,
13586: p_token2 => 'AMOUNT',
13587: p_token2_value => round(l_ass_adj_tbl(1).VALUE,2));
13588: RAISE okl_api.g_exception_error;
13589: END IF;
13590: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13591: 'Asset ID | Cost | Down Payment | Subsidy | Trade In ' );
13592: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13605: x_msg_count => x_msg_count,
13606: x_msg_data => x_msg_data );
13607: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13608: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
13609: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13610: RAISE okl_api.g_exception_unexpected_error;
13611: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13612: RAISE okl_api.g_exception_error;
13613: END IF;
13606: x_msg_data => x_msg_data );
13607: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13608: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
13609: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13610: RAISE okl_api.g_exception_unexpected_error;
13611: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13612: RAISE okl_api.g_exception_error;
13613: END IF;
13614: END LOOP; -- Loop on the Non-overriding Assets
13607: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13608: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
13609: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13610: RAISE okl_api.g_exception_unexpected_error;
13611: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13612: RAISE okl_api.g_exception_error;
13613: END IF;
13614: END LOOP; -- Loop on the Non-overriding Assets
13615: l_lq_pricing_parameter_rec.line_type := 'FREE_FORM1';
13608: 'After okl_lease_quote.asset.create_adjustment ' || l_return_status);
13609: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13610: RAISE okl_api.g_exception_unexpected_error;
13611: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13612: RAISE okl_api.g_exception_error;
13613: END IF;
13614: END LOOP; -- Loop on the Non-overriding Assets
13615: l_lq_pricing_parameter_rec.line_type := 'FREE_FORM1';
13616: /* Commented. Bug 7440199: Quote Streams ER: RGOOTY: Start
13635: x_msg_count => x_msg_count,
13636: x_msg_data => x_msg_data);
13637: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13638: ' ----- "SD/SS/ST" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13639: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13640: RAISE okl_api.g_exception_unexpected_error;
13641: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13642: RAISE okl_api.g_exception_error;
13643: END IF;
13636: x_msg_data => x_msg_data);
13637: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13638: ' ----- "SD/SS/ST" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13639: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13640: RAISE okl_api.g_exception_unexpected_error;
13641: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13642: RAISE okl_api.g_exception_error;
13643: END IF;
13644: END IF;
13637: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13638: ' ----- "SD/SS/ST" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13639: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13640: RAISE okl_api.g_exception_unexpected_error;
13641: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13642: RAISE okl_api.g_exception_error;
13643: END IF;
13644: END IF;
13645: FOR cfl_index IN l_lq_payment_level_tbl.FIRST .. l_lq_payment_level_tbl.LAST
13638: ' ----- "SD/SS/ST" ---- After deleting the Cash flows @ LQ Level ' || l_return_status );
13639: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13640: RAISE okl_api.g_exception_unexpected_error;
13641: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13642: RAISE okl_api.g_exception_error;
13643: END IF;
13644: END IF;
13645: FOR cfl_index IN l_lq_payment_level_tbl.FIRST .. l_lq_payment_level_tbl.LAST
13646: LOOP
13662: 'After update_cashflow call ' || l_Return_Status );
13663: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13664: 'After creating the cash flows call ' || 'Sty_id ' || l_lq_payment_header_rec.stream_type_id
13665: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13666: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13667: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13668: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13669: RAISE OKL_API.G_EXCEPTION_ERROR;
13670: END IF;
13663: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13664: 'After creating the cash flows call ' || 'Sty_id ' || l_lq_payment_header_rec.stream_type_id
13665: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13666: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13667: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13668: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13669: RAISE OKL_API.G_EXCEPTION_ERROR;
13670: END IF;
13671: END IF; -- Check if Pricing Option = SRT
13664: 'After creating the cash flows call ' || 'Sty_id ' || l_lq_payment_header_rec.stream_type_id
13665: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13666: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13667: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13668: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13669: RAISE OKL_API.G_EXCEPTION_ERROR;
13670: END IF;
13671: END IF; -- Check if Pricing Option = SRT
13672: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
13665: || 'Status_code ' || l_lq_payment_header_rec.status_code );
13666: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13667: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13668: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13669: RAISE OKL_API.G_EXCEPTION_ERROR;
13670: END IF;
13671: END IF; -- Check if Pricing Option = SRT
13672: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
13673: -- pp_index is an post-assigned incremented index!
13698: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13699: 'Pricing method = ' || quote_rec.pricing_method ||
13700: ' | After price_standard_quote_asset l_return_status = ' || l_return_status ||
13701: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13702: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13703: RAISE okl_api.g_exception_unexpected_error;
13704: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13705: RAISE okl_api.g_exception_error;
13706: END IF;
13699: 'Pricing method = ' || quote_rec.pricing_method ||
13700: ' | After price_standard_quote_asset l_return_status = ' || l_return_status ||
13701: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13702: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13703: RAISE okl_api.g_exception_unexpected_error;
13704: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13705: RAISE okl_api.g_exception_error;
13706: END IF;
13707: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13700: ' | After price_standard_quote_asset l_return_status = ' || l_return_status ||
13701: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13702: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13703: RAISE okl_api.g_exception_unexpected_error;
13704: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13705: RAISE okl_api.g_exception_error;
13706: END IF;
13707: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13708: -- Increment the pp_index
13701: ' | assets_rec.ast_id = ' || assets_rec.ast_id );
13702: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
13703: RAISE okl_api.g_exception_unexpected_error;
13704: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
13705: RAISE okl_api.g_exception_error;
13706: END IF;
13707: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
13708: -- Increment the pp_index
13709: pp_index := pp_index + 1;
13729: px_irr => x_iir,
13730: x_payment => x_payment);
13731: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13732: 'After Calculating the Subsidized IIR ' || round(x_iir, 4) );
13733: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13734: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13735: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13736: RAISE OKL_API.G_EXCEPTION_ERROR;
13737: END IF;
13730: x_payment => x_payment);
13731: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13732: 'After Calculating the Subsidized IIR ' || round(x_iir, 4) );
13733: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13734: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13735: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13736: RAISE OKL_API.G_EXCEPTION_ERROR;
13737: END IF;
13738: l_subsidized_yields_rec.iir := x_iir;
13731: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13732: 'After Calculating the Subsidized IIR ' || round(x_iir, 4) );
13733: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13734: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13735: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13736: RAISE OKL_API.G_EXCEPTION_ERROR;
13737: END IF;
13738: l_subsidized_yields_rec.iir := x_iir;
13739: l_subsidized_yields_rec.bk_yield := x_iir;
13732: 'After Calculating the Subsidized IIR ' || round(x_iir, 4) );
13733: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13734: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13735: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13736: RAISE OKL_API.G_EXCEPTION_ERROR;
13737: END IF;
13738: l_subsidized_yields_rec.iir := x_iir;
13739: l_subsidized_yields_rec.bk_yield := x_iir;
13740: -- Fetching the Fees and Service Information for the calculation of the
13763: x_inflow_caf_rec => l_fee_inflow_caf_rec,
13764: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
13765: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13766: 'After get_lq_fee_cash_flows ' || l_return_status );
13767: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13768: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13769: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13770: RAISE OKL_API.G_EXCEPTION_ERROR;
13771: END IF;
13764: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
13765: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13766: 'After get_lq_fee_cash_flows ' || l_return_status );
13767: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13768: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13769: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13770: RAISE OKL_API.G_EXCEPTION_ERROR;
13771: END IF;
13772: -- Based on the outflows/Inflows obtained generate the streams
13765: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13766: 'After get_lq_fee_cash_flows ' || l_return_status );
13767: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13768: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13769: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13770: RAISE OKL_API.G_EXCEPTION_ERROR;
13771: END IF;
13772: -- Based on the outflows/Inflows obtained generate the streams
13773: IF l_fee_outflow_cfl_tbl.COUNT > 0
13766: 'After get_lq_fee_cash_flows ' || l_return_status );
13767: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13768: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13769: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13770: RAISE OKL_API.G_EXCEPTION_ERROR;
13771: END IF;
13772: -- Based on the outflows/Inflows obtained generate the streams
13773: IF l_fee_outflow_cfl_tbl.COUNT > 0
13774: THEN
13783: x_msg_data => x_msg_data,
13784: p_cash_flow_rec => l_fee_outflow_caf_rec,
13785: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
13786: x_cash_inflow_strms_tbl => l_cash_inflows);
13787: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13788: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13789: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13790: RAISE OKL_API.G_EXCEPTION_ERROR;
13791: END IF;
13784: p_cash_flow_rec => l_fee_outflow_caf_rec,
13785: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
13786: x_cash_inflow_strms_tbl => l_cash_inflows);
13787: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13788: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13789: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13790: RAISE OKL_API.G_EXCEPTION_ERROR;
13791: END IF;
13792: -- Place the information in the pricing params
13785: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
13786: x_cash_inflow_strms_tbl => l_cash_inflows);
13787: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13788: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13789: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13790: RAISE OKL_API.G_EXCEPTION_ERROR;
13791: END IF;
13792: -- Place the information in the pricing params
13793: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
13786: x_cash_inflow_strms_tbl => l_cash_inflows);
13787: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13788: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13789: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13790: RAISE OKL_API.G_EXCEPTION_ERROR;
13791: END IF;
13792: -- Place the information in the pricing params
13793: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
13794: l_pricing_parameter_tbl(pp_index).payment_type := 'EXPENSE';
13814: x_msg_data => x_msg_data,
13815: p_cash_flow_rec => l_fee_inflow_caf_rec,
13816: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
13817: x_cash_inflow_strms_tbl => l_cash_inflows);
13818: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13820: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13821: RAISE OKL_API.G_EXCEPTION_ERROR;
13822: END IF;
13815: p_cash_flow_rec => l_fee_inflow_caf_rec,
13816: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
13817: x_cash_inflow_strms_tbl => l_cash_inflows);
13818: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13820: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13821: RAISE OKL_API.G_EXCEPTION_ERROR;
13822: END IF;
13823: -- Place the information in the pricing params
13816: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
13817: x_cash_inflow_strms_tbl => l_cash_inflows);
13818: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13820: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13821: RAISE OKL_API.G_EXCEPTION_ERROR;
13822: END IF;
13823: -- Place the information in the pricing params
13824: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
13817: x_cash_inflow_strms_tbl => l_cash_inflows);
13818: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13819: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13820: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13821: RAISE OKL_API.G_EXCEPTION_ERROR;
13822: END IF;
13823: -- Place the information in the pricing params
13824: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
13825: IF assets_rec.fee_type IN ( 'INCOME', 'MISCELLANEOUS' )
13869: x_payment => x_payment);
13870: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
13871: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13872: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13873: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13874: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13875: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13876: RAISE OKL_API.G_EXCEPTION_ERROR;
13877: END IF;
13870: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
13871: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13872: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13873: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13874: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13875: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13876: RAISE OKL_API.G_EXCEPTION_ERROR;
13877: END IF;
13878: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13871: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13872: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13873: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13874: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13875: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13876: RAISE OKL_API.G_EXCEPTION_ERROR;
13877: END IF;
13878: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13879: '!!!!!!!!!!! NON-SUBSIDIZIED YIELDS CALCULATION !!!!!!!!!!!' );
13872: 'After Calculating the Subsidized IRR ' || round(l_subsidized_yields_rec.pre_tax_irr, 4) );
13873: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13874: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13875: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13876: RAISE OKL_API.G_EXCEPTION_ERROR;
13877: END IF;
13878: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13879: '!!!!!!!!!!! NON-SUBSIDIZIED YIELDS CALCULATION !!!!!!!!!!!' );
13880: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13908: x_payment => x_payment);
13909: l_yields_rec.iir := l_iir_temp;
13910: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13911: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13912: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13913: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13914: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13915: RAISE OKL_API.G_EXCEPTION_ERROR;
13916: END IF;
13909: l_yields_rec.iir := l_iir_temp;
13910: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13911: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13912: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13913: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13914: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13915: RAISE OKL_API.G_EXCEPTION_ERROR;
13916: END IF;
13917: l_yields_rec.bk_yield := l_yields_rec.iir;
13910: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13911: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13912: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13913: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13914: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13915: RAISE OKL_API.G_EXCEPTION_ERROR;
13916: END IF;
13917: l_yields_rec.bk_yield := l_yields_rec.iir;
13918: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13911: 'After Calculating the NON-Subsidized IIR ' || round(l_yields_rec.pre_tax_irr, 4) );
13912: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13913: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13914: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13915: RAISE OKL_API.G_EXCEPTION_ERROR;
13916: END IF;
13917: l_yields_rec.bk_yield := l_yields_rec.iir;
13918: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13919: 'Removing subsidy from the l_pp_non_sub_irr_tbl ' );
13946: x_payment => x_payment);
13947: l_yields_rec.pre_tax_irr := l_iir_temp;
13948: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13949: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13950: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13951: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13952: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13953: RAISE OKL_API.G_EXCEPTION_ERROR;
13954: END IF;
13947: l_yields_rec.pre_tax_irr := l_iir_temp;
13948: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13949: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13950: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13951: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13952: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13953: RAISE OKL_API.G_EXCEPTION_ERROR;
13954: END IF;
13955: ELSIF quote_rec.pricing_method = 'TR'
13948: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
13949: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13950: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13951: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13952: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13953: RAISE OKL_API.G_EXCEPTION_ERROR;
13954: END IF;
13955: ELSIF quote_rec.pricing_method = 'TR'
13956: THEN
13949: 'After Calculating the NON-Subsidized IRR ' || round(l_yields_rec.pre_tax_irr, 4) );
13950: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
13951: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
13952: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
13953: RAISE OKL_API.G_EXCEPTION_ERROR;
13954: END IF;
13955: ELSIF quote_rec.pricing_method = 'TR'
13956: THEN
13957: -- Target for rate, which is IIR !
14118: p_line_type => assets_rec.fee_type,
14119: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
14120: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14121: 'After price_standard_quote_asset ' || l_return_status );
14122: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14123: RAISE okl_api.g_exception_unexpected_error;
14124: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14125: RAISE okl_api.g_exception_error;
14126: END IF;
14119: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
14120: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14121: 'After price_standard_quote_asset ' || l_return_status );
14122: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14123: RAISE okl_api.g_exception_unexpected_error;
14124: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14125: RAISE okl_api.g_exception_error;
14126: END IF;
14127: FOR t_in IN l_tmp_pricing_parameter_rec.cash_inflows.FIRST ..
14120: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14121: 'After price_standard_quote_asset ' || l_return_status );
14122: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14123: RAISE okl_api.g_exception_unexpected_error;
14124: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14125: RAISE okl_api.g_exception_error;
14126: END IF;
14127: FOR t_in IN l_tmp_pricing_parameter_rec.cash_inflows.FIRST ..
14128: l_tmp_pricing_parameter_rec.cash_inflows.LAST
14121: 'After price_standard_quote_asset ' || l_return_status );
14122: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14123: RAISE okl_api.g_exception_unexpected_error;
14124: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14125: RAISE okl_api.g_exception_error;
14126: END IF;
14127: FOR t_in IN l_tmp_pricing_parameter_rec.cash_inflows.FIRST ..
14128: l_tmp_pricing_parameter_rec.cash_inflows.LAST
14129: LOOP
14160: x_inflow_caf_rec => l_fee_inflow_caf_rec,
14161: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
14162: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14163: 'After get_lq_fee_cash_flows ' || l_return_status );
14164: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14165: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14166: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14167: RAISE OKL_API.G_EXCEPTION_ERROR;
14168: END IF;
14161: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
14162: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14163: 'After get_lq_fee_cash_flows ' || l_return_status );
14164: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14165: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14166: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14167: RAISE OKL_API.G_EXCEPTION_ERROR;
14168: END IF;
14169: -- Based on the outflows/Inflows obtained generate the streams
14162: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14163: 'After get_lq_fee_cash_flows ' || l_return_status );
14164: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14165: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14166: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14167: RAISE OKL_API.G_EXCEPTION_ERROR;
14168: END IF;
14169: -- Based on the outflows/Inflows obtained generate the streams
14170: IF l_fee_outflow_cfl_tbl.COUNT > 0
14163: 'After get_lq_fee_cash_flows ' || l_return_status );
14164: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14165: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14166: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14167: RAISE OKL_API.G_EXCEPTION_ERROR;
14168: END IF;
14169: -- Based on the outflows/Inflows obtained generate the streams
14170: IF l_fee_outflow_cfl_tbl.COUNT > 0
14171: THEN
14187: x_msg_data => x_msg_data,
14188: p_cash_flow_rec => l_fee_outflow_caf_rec,
14189: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
14190: x_cash_inflow_strms_tbl => l_cash_inflows);
14191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14194: RAISE OKL_API.G_EXCEPTION_ERROR;
14195: END IF;
14188: p_cash_flow_rec => l_fee_outflow_caf_rec,
14189: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
14190: x_cash_inflow_strms_tbl => l_cash_inflows);
14191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14194: RAISE OKL_API.G_EXCEPTION_ERROR;
14195: END IF;
14196: -- Place the information in the pricing params
14189: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
14190: x_cash_inflow_strms_tbl => l_cash_inflows);
14191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14194: RAISE OKL_API.G_EXCEPTION_ERROR;
14195: END IF;
14196: -- Place the information in the pricing params
14197: ppfs_index := ppfs_index + 1;
14190: x_cash_inflow_strms_tbl => l_cash_inflows);
14191: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14192: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14193: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14194: RAISE OKL_API.G_EXCEPTION_ERROR;
14195: END IF;
14196: -- Place the information in the pricing params
14197: ppfs_index := ppfs_index + 1;
14198: l_pp_non_sub_irr_tbl(ppfs_index).line_type := assets_rec.fee_type;
14225: x_msg_data => x_msg_data,
14226: p_cash_flow_rec => l_fee_inflow_caf_rec,
14227: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
14228: x_cash_inflow_strms_tbl => l_cash_inflows);
14229: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14230: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14231: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14232: RAISE OKL_API.G_EXCEPTION_ERROR;
14233: END IF;
14226: p_cash_flow_rec => l_fee_inflow_caf_rec,
14227: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
14228: x_cash_inflow_strms_tbl => l_cash_inflows);
14229: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14230: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14231: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14232: RAISE OKL_API.G_EXCEPTION_ERROR;
14233: END IF;
14234: -- Place the information in the pricing params
14227: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
14228: x_cash_inflow_strms_tbl => l_cash_inflows);
14229: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14230: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14231: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14232: RAISE OKL_API.G_EXCEPTION_ERROR;
14233: END IF;
14234: -- Place the information in the pricing params
14235: ppfs_index := ppfs_index + 1;
14228: x_cash_inflow_strms_tbl => l_cash_inflows);
14229: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14230: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14231: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14232: RAISE OKL_API.G_EXCEPTION_ERROR;
14233: END IF;
14234: -- Place the information in the pricing params
14235: ppfs_index := ppfs_index + 1;
14236: l_pp_non_sub_irr_tbl(ppfs_index).line_type := assets_rec.fee_type;
14277: p_initial_guess => l_initial_guess, -- Use the IIR derieved prev. as initial guess
14278: px_pricing_parameter_tbl => l_pp_non_sub_iir_tbl,
14279: px_irr => x_iir,
14280: x_payment => x_payment);
14281: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14282: RAISE okl_api.g_exception_unexpected_error;
14283: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14284: RAISE okl_api.g_exception_error;
14285: END IF;
14278: px_pricing_parameter_tbl => l_pp_non_sub_iir_tbl,
14279: px_irr => x_iir,
14280: x_payment => x_payment);
14281: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14282: RAISE okl_api.g_exception_unexpected_error;
14283: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14284: RAISE okl_api.g_exception_error;
14285: END IF;
14286: -- IIR @ LQ level has already been given by the user itself ..
14279: px_irr => x_iir,
14280: x_payment => x_payment);
14281: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14282: RAISE okl_api.g_exception_unexpected_error;
14283: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14284: RAISE okl_api.g_exception_error;
14285: END IF;
14286: -- IIR @ LQ level has already been given by the user itself ..
14287: -- So, we wont be calling the compute_irr api just passing the assets information.
14280: x_payment => x_payment);
14281: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14282: RAISE okl_api.g_exception_unexpected_error;
14283: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14284: RAISE okl_api.g_exception_error;
14285: END IF;
14286: -- IIR @ LQ level has already been given by the user itself ..
14287: -- So, we wont be calling the compute_irr api just passing the assets information.
14288: l_subsidized_yields_rec.iir := quote_rec.target_rate / 100;
14308:
14309: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
14310: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14311: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14315: RAISE OKL_API.G_EXCEPTION_ERROR;
14316: END IF;
14309: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
14310: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14311: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14315: RAISE OKL_API.G_EXCEPTION_ERROR;
14316: END IF;
14317: l_subsidized_yields_rec.pre_tax_irr := quote_rec.target_rate / 100;
14310: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14311: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14315: RAISE OKL_API.G_EXCEPTION_ERROR;
14316: END IF;
14317: l_subsidized_yields_rec.pre_tax_irr := quote_rec.target_rate / 100;
14318: END IF;
14311: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14312: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14313: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14314: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14315: RAISE OKL_API.G_EXCEPTION_ERROR;
14316: END IF;
14317: l_subsidized_yields_rec.pre_tax_irr := quote_rec.target_rate / 100;
14318: END IF;
14319: IF x_payment < 0
14317: l_subsidized_yields_rec.pre_tax_irr := quote_rec.target_rate / 100;
14318: END IF;
14319: IF x_payment < 0
14320: THEN
14321: OKL_API.SET_MESSAGE (
14322: p_app_name => G_APP_NAME,
14323: p_msg_name => 'OKL_NEGATIVE_ADJ_AMT',
14324: p_token1 => 'TYPE',
14325: p_token1_value => 'Payment',
14324: p_token1 => 'TYPE',
14325: p_token1_value => 'Payment',
14326: p_token2 => 'AMOUNT',
14327: p_token2_value => round(x_payment,2) );
14328: RAISE okl_api.g_exception_error;
14329: END IF;
14330: -- Store the Calculated Payment amount back in the quote Header
14331: l_lease_qte_rec.target_amount := x_payment;
14332: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14362: 'After OKL_LEASE_QUOTE_CASHFLOW_PVT.update_cashflow l_lq_payment_header_rec '
14363: || l_lq_payment_header_rec.stream_type_id
14364: || ' status_code ' || l_lq_payment_header_rec.status_code );
14365: IF l_return_status = G_RET_STS_UNEXP_ERROR THEN
14366: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14367: ELSIF l_return_status = G_RET_STS_ERROR THEN
14368: RAISE OKL_API.G_EXCEPTION_ERROR;
14369: END IF;
14370: ELSE
14364: || ' status_code ' || l_lq_payment_header_rec.status_code );
14365: IF l_return_status = G_RET_STS_UNEXP_ERROR THEN
14366: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14367: ELSIF l_return_status = G_RET_STS_ERROR THEN
14368: RAISE OKL_API.G_EXCEPTION_ERROR;
14369: END IF;
14370: ELSE
14371: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14372: 'Before OKL_LEASE_QUOTE_CASHFLOW_PVT.create_cashflow l_lq_payment_header_rec '
14387: 'After OKL_LEASE_QUOTE_CASHFLOW_PVT.create_cashflow l_lq_payment_header_rec '
14388: || l_lq_payment_header_rec.stream_type_id
14389: || ' status_code ' || l_lq_payment_header_rec.status_code );
14390: IF l_return_status = G_RET_STS_UNEXP_ERROR THEN
14391: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14392: ELSIF l_return_status = G_RET_STS_ERROR THEN
14393: RAISE OKL_API.G_EXCEPTION_ERROR;
14394: END IF;
14395: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
14389: || ' status_code ' || l_lq_payment_header_rec.status_code );
14390: IF l_return_status = G_RET_STS_UNEXP_ERROR THEN
14391: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14392: ELSIF l_return_status = G_RET_STS_ERROR THEN
14393: RAISE OKL_API.G_EXCEPTION_ERROR;
14394: END IF;
14395: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
14396: l_pp_non_sub_irr_tbl(1).cfo_id := l_lq_payment_header_rec.cashflow_object_id;
14397: -- Bug 7440199: Quote Streams ER: RGOOTY: End
14436: x_payment => x_payment);
14437: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
14438: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14439: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14440: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14441: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14442: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14443: RAISE OKL_API.G_EXCEPTION_ERROR;
14444: END IF;
14437: l_subsidized_yields_rec.pre_tax_irr := l_iir_temp;
14438: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14439: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14440: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14441: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14442: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14443: RAISE OKL_API.G_EXCEPTION_ERROR;
14444: END IF;
14445: ELSE
14438: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14439: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14440: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14441: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14442: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14443: RAISE OKL_API.G_EXCEPTION_ERROR;
14444: END IF;
14445: ELSE
14446: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14439: quote_rec.pricing_method || ': FINAL: After compute_irr ' || l_return_status );
14440: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14441: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14442: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14443: RAISE OKL_API.G_EXCEPTION_ERROR;
14444: END IF;
14445: ELSE
14446: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14447: '******** Solving for the Subsidized IIR ********** ' );
14459: p_initial_guess => l_subsidized_yields_rec.pre_tax_irr, -- Use the IIR derieved prev. as initial guess
14460: px_pricing_parameter_tbl => l_pp_non_sub_iir_tbl,
14461: px_irr => x_iir,
14462: x_payment => x_payment);
14463: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14464: RAISE okl_api.g_exception_unexpected_error;
14465: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14466: RAISE okl_api.g_exception_error;
14467: END IF;
14460: px_pricing_parameter_tbl => l_pp_non_sub_iir_tbl,
14461: px_irr => x_iir,
14462: x_payment => x_payment);
14463: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14464: RAISE okl_api.g_exception_unexpected_error;
14465: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14466: RAISE okl_api.g_exception_error;
14467: END IF;
14468: -- IIR @ LQ level has already been given by the user itself ..
14461: px_irr => x_iir,
14462: x_payment => x_payment);
14463: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14464: RAISE okl_api.g_exception_unexpected_error;
14465: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14466: RAISE okl_api.g_exception_error;
14467: END IF;
14468: -- IIR @ LQ level has already been given by the user itself ..
14469: -- So, we wont be calling the compute_irr api just passing the assets information.
14462: x_payment => x_payment);
14463: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14464: RAISE okl_api.g_exception_unexpected_error;
14465: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14466: RAISE okl_api.g_exception_error;
14467: END IF;
14468: -- IIR @ LQ level has already been given by the user itself ..
14469: -- So, we wont be calling the compute_irr api just passing the assets information.
14470: l_subsidized_yields_rec.iir := x_iir;
14500: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14501: '1/ After Computation of IIR (NON-SUBSIDIZED) ' || l_return_status );
14502: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14503: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14504: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14505: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14506: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14507: RAISE OKL_API.G_EXCEPTION_ERROR;
14508: END IF;
14501: '1/ After Computation of IIR (NON-SUBSIDIZED) ' || l_return_status );
14502: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14503: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14504: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14505: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14506: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14507: RAISE OKL_API.G_EXCEPTION_ERROR;
14508: END IF;
14509: -- Store the IIR as the Booking Yield
14502: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14503: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14504: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14505: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14506: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14507: RAISE OKL_API.G_EXCEPTION_ERROR;
14508: END IF;
14509: -- Store the IIR as the Booking Yield
14510: l_yields_rec.bk_yield := l_yields_rec.iir;
14503: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14504: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14505: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14506: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14507: RAISE OKL_API.G_EXCEPTION_ERROR;
14508: END IF;
14509: -- Store the IIR as the Booking Yield
14510: l_yields_rec.bk_yield := l_yields_rec.iir;
14511: -- Loop through the l_pp_non_sub_iir_tbl table and make the Subsidy Amount to zero !
14538: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14539: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
14540: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14541: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14542: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14543: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14544: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14545: RAISE OKL_API.G_EXCEPTION_ERROR;
14546: END IF;
14539: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
14540: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14541: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14542: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14543: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14544: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14545: RAISE OKL_API.G_EXCEPTION_ERROR;
14546: END IF;
14547: ELSIF quote_rec.pricing_method = 'RC'
14540: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14541: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14542: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14543: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14544: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14545: RAISE OKL_API.G_EXCEPTION_ERROR;
14546: END IF;
14547: ELSIF quote_rec.pricing_method = 'RC'
14548: THEN
14541: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14542: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14543: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14544: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14545: RAISE OKL_API.G_EXCEPTION_ERROR;
14546: END IF;
14547: ELSIF quote_rec.pricing_method = 'RC'
14548: THEN
14549: -- Fetch the SGT Day convention to be used
14557: x_days_in_month => l_days_in_month,
14558: x_days_in_year => l_days_in_year);
14559: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14560: ': After Fetching the Day convention from the SGT - RC ' );
14561: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14562: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14563: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14564: RAISE OKL_API.G_EXCEPTION_ERROR;
14565: END IF;
14558: x_days_in_year => l_days_in_year);
14559: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14560: ': After Fetching the Day convention from the SGT - RC ' );
14561: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14562: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14563: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14564: RAISE OKL_API.G_EXCEPTION_ERROR;
14565: END IF;
14566: -- Get the Day count method for passing into the compute_irr api version.
14559: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14560: ': After Fetching the Day convention from the SGT - RC ' );
14561: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14562: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14563: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14564: RAISE OKL_API.G_EXCEPTION_ERROR;
14565: END IF;
14566: -- Get the Day count method for passing into the compute_irr api version.
14567: get_day_count_method(
14560: ': After Fetching the Day convention from the SGT - RC ' );
14561: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14562: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14563: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14564: RAISE OKL_API.G_EXCEPTION_ERROR;
14565: END IF;
14566: -- Get the Day count method for passing into the compute_irr api version.
14567: get_day_count_method(
14568: p_days_in_month => l_days_in_month,
14573: 'Return Status | l_days_in_month | l_days_in_year | l_day_count_method ' );
14574: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14575: l_return_status || ' | ' || l_days_in_month || ' | ' ||
14576: l_days_in_year || ' | ' || l_day_count_method );
14577: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14578: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14579: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14580: --Bug 5884825 PAGARG start
14581: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
14574: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14575: l_return_status || ' | ' || l_days_in_month || ' | ' ||
14576: l_days_in_year || ' | ' || l_day_count_method );
14577: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14578: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14579: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14580: --Bug 5884825 PAGARG start
14581: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
14582: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
14575: l_return_status || ' | ' || l_days_in_month || ' | ' ||
14576: l_days_in_year || ' | ' || l_day_count_method );
14577: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14578: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14579: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14580: --Bug 5884825 PAGARG start
14581: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
14582: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
14583: p_token1 => 'PRODUCT_NAME',
14577: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14578: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14579: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14580: --Bug 5884825 PAGARG start
14581: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
14582: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
14583: p_token1 => 'PRODUCT_NAME',
14584: p_token1_value => l_product_name);
14585: --Bug 5884825 PAGARG end
14582: p_msg_name => 'OKL_ISG_DAY_CONVENTION',
14583: p_token1 => 'PRODUCT_NAME',
14584: p_token1_value => l_product_name);
14585: --Bug 5884825 PAGARG end
14586: RAISE OKL_API.G_EXCEPTION_ERROR;
14587: END IF;
14588: pp_index := 1;
14589: -- Loop through each configuration line and price it seperately ...
14590: FOR assets_rec IN assets_csr(p_qte_id)
14608: p_line_type => assets_rec.fee_type,
14609: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
14610: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14611: 'After price_standard_quote_asset ' || l_return_status );
14612: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14613: RAISE okl_api.g_exception_unexpected_error;
14614: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14615: RAISE okl_api.g_exception_error;
14616: END IF;
14609: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
14610: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14611: 'After price_standard_quote_asset ' || l_return_status );
14612: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14613: RAISE okl_api.g_exception_unexpected_error;
14614: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14615: RAISE okl_api.g_exception_error;
14616: END IF;
14617: -- Store the Pricing Parameter for solving yields at the entire quote level
14610: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14611: 'After price_standard_quote_asset ' || l_return_status );
14612: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14613: RAISE okl_api.g_exception_unexpected_error;
14614: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14615: RAISE okl_api.g_exception_error;
14616: END IF;
14617: -- Store the Pricing Parameter for solving yields at the entire quote level
14618: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
14611: 'After price_standard_quote_asset ' || l_return_status );
14612: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14613: RAISE okl_api.g_exception_unexpected_error;
14614: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14615: RAISE okl_api.g_exception_error;
14616: END IF;
14617: -- Store the Pricing Parameter for solving yields at the entire quote level
14618: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
14619: -- Increment the pp_index
14642: p_line_type => assets_rec.fee_type,
14643: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
14644: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14645: 'After price_standard_quote_asset ' || l_return_status );
14646: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14647: RAISE okl_api.g_exception_unexpected_error;
14648: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14649: RAISE okl_api.g_exception_error;
14650: END IF;
14643: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
14644: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14645: 'After price_standard_quote_asset ' || l_return_status );
14646: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14647: RAISE okl_api.g_exception_unexpected_error;
14648: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14649: RAISE okl_api.g_exception_error;
14650: END IF;
14651: -- Store the Pricing Parameter for solving yields at the entire quote level
14644: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14645: 'After price_standard_quote_asset ' || l_return_status );
14646: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14647: RAISE okl_api.g_exception_unexpected_error;
14648: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14649: RAISE okl_api.g_exception_error;
14650: END IF;
14651: -- Store the Pricing Parameter for solving yields at the entire quote level
14652: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
14645: 'After price_standard_quote_asset ' || l_return_status );
14646: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
14647: RAISE okl_api.g_exception_unexpected_error;
14648: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
14649: RAISE okl_api.g_exception_error;
14650: END IF;
14651: -- Store the Pricing Parameter for solving yields at the entire quote level
14652: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
14653: -- Increment the pp_index
14674: px_irr => x_iir,
14675: x_payment => x_payment);
14676: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14677: '1/ After Computation of IIR @ LQ Level ( SUBSIDY )' || l_return_status );
14678: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14679: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14680: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14681: RAISE OKL_API.G_EXCEPTION_ERROR;
14682: END IF;
14675: x_payment => x_payment);
14676: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14677: '1/ After Computation of IIR @ LQ Level ( SUBSIDY )' || l_return_status );
14678: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14679: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14680: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14681: RAISE OKL_API.G_EXCEPTION_ERROR;
14682: END IF;
14683: l_subsidized_yields_rec.iir := x_iir;
14676: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14677: '1/ After Computation of IIR @ LQ Level ( SUBSIDY )' || l_return_status );
14678: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14679: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14680: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14681: RAISE OKL_API.G_EXCEPTION_ERROR;
14682: END IF;
14683: l_subsidized_yields_rec.iir := x_iir;
14684: l_subsidized_yields_rec.bk_yield := x_iir;
14677: '1/ After Computation of IIR @ LQ Level ( SUBSIDY )' || l_return_status );
14678: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14679: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14680: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14681: RAISE OKL_API.G_EXCEPTION_ERROR;
14682: END IF;
14683: l_subsidized_yields_rec.iir := x_iir;
14684: l_subsidized_yields_rec.bk_yield := x_iir;
14685: -- Extract the other fees and other lines information for computation of the IRR
14707: x_inflow_caf_rec => l_fee_inflow_caf_rec,
14708: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
14709: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14710: 'After get_lq_fee_cash_flows ' || l_return_status );
14711: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14712: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14713: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14714: RAISE OKL_API.G_EXCEPTION_ERROR;
14715: END IF;
14708: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
14709: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14710: 'After get_lq_fee_cash_flows ' || l_return_status );
14711: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14712: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14713: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14714: RAISE OKL_API.G_EXCEPTION_ERROR;
14715: END IF;
14716: -- Based on the outflows/Inflows obtained generate the streams
14709: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14710: 'After get_lq_fee_cash_flows ' || l_return_status );
14711: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14712: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14713: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14714: RAISE OKL_API.G_EXCEPTION_ERROR;
14715: END IF;
14716: -- Based on the outflows/Inflows obtained generate the streams
14717: IF l_fee_outflow_cfl_tbl.COUNT > 0
14710: 'After get_lq_fee_cash_flows ' || l_return_status );
14711: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14712: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14713: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14714: RAISE OKL_API.G_EXCEPTION_ERROR;
14715: END IF;
14716: -- Based on the outflows/Inflows obtained generate the streams
14717: IF l_fee_outflow_cfl_tbl.COUNT > 0
14718: THEN
14727: x_msg_data => x_msg_data,
14728: p_cash_flow_rec => l_fee_outflow_caf_rec,
14729: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
14730: x_cash_inflow_strms_tbl => l_cash_inflows);
14731: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14732: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14733: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14734: RAISE OKL_API.G_EXCEPTION_ERROR;
14735: END IF;
14728: p_cash_flow_rec => l_fee_outflow_caf_rec,
14729: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
14730: x_cash_inflow_strms_tbl => l_cash_inflows);
14731: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14732: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14733: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14734: RAISE OKL_API.G_EXCEPTION_ERROR;
14735: END IF;
14736: -- Place the information in the pricing params
14729: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
14730: x_cash_inflow_strms_tbl => l_cash_inflows);
14731: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14732: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14733: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14734: RAISE OKL_API.G_EXCEPTION_ERROR;
14735: END IF;
14736: -- Place the information in the pricing params
14737: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
14730: x_cash_inflow_strms_tbl => l_cash_inflows);
14731: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14732: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14733: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14734: RAISE OKL_API.G_EXCEPTION_ERROR;
14735: END IF;
14736: -- Place the information in the pricing params
14737: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
14738: l_pricing_parameter_tbl(pp_index).payment_type := 'EXPENSE';
14758: x_msg_data => x_msg_data,
14759: p_cash_flow_rec => l_fee_inflow_caf_rec,
14760: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
14761: x_cash_inflow_strms_tbl => l_cash_inflows);
14762: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14763: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14764: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14765: RAISE OKL_API.G_EXCEPTION_ERROR;
14766: END IF;
14759: p_cash_flow_rec => l_fee_inflow_caf_rec,
14760: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
14761: x_cash_inflow_strms_tbl => l_cash_inflows);
14762: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14763: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14764: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14765: RAISE OKL_API.G_EXCEPTION_ERROR;
14766: END IF;
14767: -- Place the information in the pricing params
14760: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
14761: x_cash_inflow_strms_tbl => l_cash_inflows);
14762: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14763: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14764: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14765: RAISE OKL_API.G_EXCEPTION_ERROR;
14766: END IF;
14767: -- Place the information in the pricing params
14768: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
14761: x_cash_inflow_strms_tbl => l_cash_inflows);
14762: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14763: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14764: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14765: RAISE OKL_API.G_EXCEPTION_ERROR;
14766: END IF;
14767: -- Place the information in the pricing params
14768: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
14769: IF assets_rec.fee_type IN ( 'INCOME', 'MISCELLANEOUS' )
14816: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14817: '1/ After Computation of IRR @ LQ Level ( SUBSIDY )' || l_return_status );
14818: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14819: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
14820: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14821: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14822: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14823: RAISE OKL_API.G_EXCEPTION_ERROR;
14824: END IF;
14817: '1/ After Computation of IRR @ LQ Level ( SUBSIDY )' || l_return_status );
14818: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14819: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
14820: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14821: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14822: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14823: RAISE OKL_API.G_EXCEPTION_ERROR;
14824: END IF;
14825: -- Calculate the Yields without involving the Subsidy Amount
14818: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14819: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
14820: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14821: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14822: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14823: RAISE OKL_API.G_EXCEPTION_ERROR;
14824: END IF;
14825: -- Calculate the Yields without involving the Subsidy Amount
14826: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14819: 'SOLVED FOR IRR ' || l_subsidized_yields_rec.pre_tax_irr );
14820: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14821: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14822: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14823: RAISE OKL_API.G_EXCEPTION_ERROR;
14824: END IF;
14825: -- Calculate the Yields without involving the Subsidy Amount
14826: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14827: '1/ CALCULATING THE YEILDS WIHTOUT THE SUBSIDY AMOUNT INVOLVED !! ' );
14852: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14853: '1/ After Computation of IIR @ LQ Level ' || l_return_status );
14854: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14855: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14856: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14857: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14858: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14859: RAISE OKL_API.G_EXCEPTION_ERROR;
14860: END IF;
14853: '1/ After Computation of IIR @ LQ Level ' || l_return_status );
14854: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14855: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14856: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14857: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14858: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14859: RAISE OKL_API.G_EXCEPTION_ERROR;
14860: END IF;
14861: -- Store the IIR as the Booking Yield
14854: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14855: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14856: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14857: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14858: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14859: RAISE OKL_API.G_EXCEPTION_ERROR;
14860: END IF;
14861: -- Store the IIR as the Booking Yield
14862: l_yields_rec.bk_yield := l_yields_rec.iir;
14855: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
14856: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14857: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14858: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14859: RAISE OKL_API.G_EXCEPTION_ERROR;
14860: END IF;
14861: -- Store the IIR as the Booking Yield
14862: l_yields_rec.bk_yield := l_yields_rec.iir;
14863:
14893: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14894: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
14895: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14896: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14897: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14898: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14899: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14900: RAISE OKL_API.G_EXCEPTION_ERROR;
14901: END IF;
14894: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
14895: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14896: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14897: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14898: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14899: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14900: RAISE OKL_API.G_EXCEPTION_ERROR;
14901: END IF;
14902: -- End of Rate Card Pricing
14895: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14896: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14897: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14898: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14899: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14900: RAISE OKL_API.G_EXCEPTION_ERROR;
14901: END IF;
14902: -- End of Rate Card Pricing
14903: ELSIF quote_rec.pricing_method = 'SY'
14896: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
14897: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14898: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14899: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14900: RAISE OKL_API.G_EXCEPTION_ERROR;
14901: END IF;
14902: -- End of Rate Card Pricing
14903: ELSIF quote_rec.pricing_method = 'SY'
14904: THEN
14938: x_return_status => l_return_status);
14939: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14940: 'After is_asset_overriding assets_rec.id =' || assets_rec.ast_id || ' | ' ||
14941: ' l_return_status =' || l_return_status );
14942: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14943: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14944: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14945: RAISE OKL_API.G_EXCEPTION_ERROR;
14946: END IF;
14939: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
14940: 'After is_asset_overriding assets_rec.id =' || assets_rec.ast_id || ' | ' ||
14941: ' l_return_status =' || l_return_status );
14942: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14943: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14944: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14945: RAISE OKL_API.G_EXCEPTION_ERROR;
14946: END IF;
14947: END IF;
14940: 'After is_asset_overriding assets_rec.id =' || assets_rec.ast_id || ' | ' ||
14941: ' l_return_status =' || l_return_status );
14942: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14943: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14944: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14945: RAISE OKL_API.G_EXCEPTION_ERROR;
14946: END IF;
14947: END IF;
14948: IF l_overridden = FALSE
14941: ' l_return_status =' || l_return_status );
14942: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
14943: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
14944: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
14945: RAISE OKL_API.G_EXCEPTION_ERROR;
14946: END IF;
14947: END IF;
14948: IF l_overridden = FALSE
14949: THEN
15066: p_line_type => assets_rec.fee_type,
15067: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
15068: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15069: 'After price_standard_quote_asset ' || l_return_status );
15070: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15071: RAISE okl_api.g_exception_unexpected_error;
15072: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15073: RAISE okl_api.g_exception_error;
15074: END IF;
15067: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
15068: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15069: 'After price_standard_quote_asset ' || l_return_status );
15070: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15071: RAISE okl_api.g_exception_unexpected_error;
15072: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15073: RAISE okl_api.g_exception_error;
15074: END IF;
15075: -- Increment the pp_index
15068: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15069: 'After price_standard_quote_asset ' || l_return_status );
15070: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15071: RAISE okl_api.g_exception_unexpected_error;
15072: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15073: RAISE okl_api.g_exception_error;
15074: END IF;
15075: -- Increment the pp_index
15076: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
15069: 'After price_standard_quote_asset ' || l_return_status );
15070: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15071: RAISE okl_api.g_exception_unexpected_error;
15072: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15073: RAISE okl_api.g_exception_error;
15074: END IF;
15075: -- Increment the pp_index
15076: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
15077: pp_index := pp_index + 1;
15120: p_line_type => assets_rec.fee_type,
15121: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
15122: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15123: 'After price_standard_quote_asset ' || l_return_status );
15124: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15125: RAISE okl_api.g_exception_unexpected_error;
15126: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15127: RAISE okl_api.g_exception_error;
15128: END IF;
15121: x_pricing_parameter_rec => l_tmp_pricing_parameter_rec );
15122: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15123: 'After price_standard_quote_asset ' || l_return_status );
15124: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15125: RAISE okl_api.g_exception_unexpected_error;
15126: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15127: RAISE okl_api.g_exception_error;
15128: END IF;
15129: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
15122: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15123: 'After price_standard_quote_asset ' || l_return_status );
15124: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15125: RAISE okl_api.g_exception_unexpected_error;
15126: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15127: RAISE okl_api.g_exception_error;
15128: END IF;
15129: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
15130: -- Increment the pp_index
15123: 'After price_standard_quote_asset ' || l_return_status );
15124: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15125: RAISE okl_api.g_exception_unexpected_error;
15126: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15127: RAISE okl_api.g_exception_error;
15128: END IF;
15129: l_pricing_parameter_tbl(pp_index) := l_tmp_pricing_parameter_rec;
15130: -- Increment the pp_index
15131: pp_index := pp_index + 1;
15153: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15154: '1/ After Computation of IIR @ LQ Level ' || l_return_status );
15155: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15156: 'SOLVED FOR IIR ' || x_iir );
15157: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15158: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15159: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15160: RAISE OKL_API.G_EXCEPTION_ERROR;
15161: END IF;
15154: '1/ After Computation of IIR @ LQ Level ' || l_return_status );
15155: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15156: 'SOLVED FOR IIR ' || x_iir );
15157: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15158: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15159: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15160: RAISE OKL_API.G_EXCEPTION_ERROR;
15161: END IF;
15162: l_subsidized_yields_rec.iir := x_iir;
15155: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15156: 'SOLVED FOR IIR ' || x_iir );
15157: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15158: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15159: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15160: RAISE OKL_API.G_EXCEPTION_ERROR;
15161: END IF;
15162: l_subsidized_yields_rec.iir := x_iir;
15163: l_subsidized_yields_rec.bk_yield := x_iir;
15156: 'SOLVED FOR IIR ' || x_iir );
15157: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15158: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15159: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15160: RAISE OKL_API.G_EXCEPTION_ERROR;
15161: END IF;
15162: l_subsidized_yields_rec.iir := x_iir;
15163: l_subsidized_yields_rec.bk_yield := x_iir;
15164: -- Extract the fess information and built the Cash Inflows and Pricing Parameters
15185: x_inflow_caf_rec => l_fee_inflow_caf_rec,
15186: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
15187: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15188: 'After get_lq_fee_cash_flows ' || l_return_status );
15189: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15190: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15191: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15192: RAISE OKL_API.G_EXCEPTION_ERROR;
15193: END IF;
15186: x_inflow_cfl_tbl => l_fee_inflow_cfl_tbl);
15187: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15188: 'After get_lq_fee_cash_flows ' || l_return_status );
15189: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15190: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15191: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15192: RAISE OKL_API.G_EXCEPTION_ERROR;
15193: END IF;
15194: -- Based on the outflows/Inflows obtained generate the streams
15187: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15188: 'After get_lq_fee_cash_flows ' || l_return_status );
15189: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15190: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15191: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15192: RAISE OKL_API.G_EXCEPTION_ERROR;
15193: END IF;
15194: -- Based on the outflows/Inflows obtained generate the streams
15195: IF l_fee_outflow_cfl_tbl.COUNT > 0
15188: 'After get_lq_fee_cash_flows ' || l_return_status );
15189: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15190: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15191: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15192: RAISE OKL_API.G_EXCEPTION_ERROR;
15193: END IF;
15194: -- Based on the outflows/Inflows obtained generate the streams
15195: IF l_fee_outflow_cfl_tbl.COUNT > 0
15196: THEN
15205: x_msg_data => x_msg_data,
15206: p_cash_flow_rec => l_fee_outflow_caf_rec,
15207: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
15208: x_cash_inflow_strms_tbl => l_cash_inflows);
15209: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15210: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15211: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15212: RAISE OKL_API.G_EXCEPTION_ERROR;
15213: END IF;
15206: p_cash_flow_rec => l_fee_outflow_caf_rec,
15207: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
15208: x_cash_inflow_strms_tbl => l_cash_inflows);
15209: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15210: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15211: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15212: RAISE OKL_API.G_EXCEPTION_ERROR;
15213: END IF;
15214: -- Place the information in the pricing params
15207: p_cf_details_tbl => l_fee_outflow_cfl_tbl,
15208: x_cash_inflow_strms_tbl => l_cash_inflows);
15209: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15210: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15211: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15212: RAISE OKL_API.G_EXCEPTION_ERROR;
15213: END IF;
15214: -- Place the information in the pricing params
15215: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
15208: x_cash_inflow_strms_tbl => l_cash_inflows);
15209: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15210: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15211: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15212: RAISE OKL_API.G_EXCEPTION_ERROR;
15213: END IF;
15214: -- Place the information in the pricing params
15215: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
15216: l_pricing_parameter_tbl(pp_index).payment_type := 'EXPENSE';
15236: x_msg_data => x_msg_data,
15237: p_cash_flow_rec => l_fee_inflow_caf_rec,
15238: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
15239: x_cash_inflow_strms_tbl => l_cash_inflows);
15240: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15241: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15242: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15243: RAISE OKL_API.G_EXCEPTION_ERROR;
15244: END IF;
15237: p_cash_flow_rec => l_fee_inflow_caf_rec,
15238: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
15239: x_cash_inflow_strms_tbl => l_cash_inflows);
15240: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15241: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15242: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15243: RAISE OKL_API.G_EXCEPTION_ERROR;
15244: END IF;
15245: -- Place the information in the pricing params
15238: p_cf_details_tbl => l_fee_inflow_cfl_tbl,
15239: x_cash_inflow_strms_tbl => l_cash_inflows);
15240: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15241: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15242: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15243: RAISE OKL_API.G_EXCEPTION_ERROR;
15244: END IF;
15245: -- Place the information in the pricing params
15246: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
15239: x_cash_inflow_strms_tbl => l_cash_inflows);
15240: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15241: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15242: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15243: RAISE OKL_API.G_EXCEPTION_ERROR;
15244: END IF;
15245: -- Place the information in the pricing params
15246: l_pricing_parameter_tbl(pp_index).line_type := assets_rec.fee_type;
15247: IF assets_rec.fee_type IN ( 'INCOME', 'MISCELLANEOUS' )
15291: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15292: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
15293: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15294: 'SOLVED FOR IRR ' || x_iir );
15295: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15296: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15297: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15298: RAISE OKL_API.G_EXCEPTION_ERROR;
15299: END IF;
15292: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
15293: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15294: 'SOLVED FOR IRR ' || x_iir );
15295: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15296: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15297: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15298: RAISE OKL_API.G_EXCEPTION_ERROR;
15299: END IF;
15300: l_subsidized_yields_rec.pre_tax_irr := x_iir;
15293: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15294: 'SOLVED FOR IRR ' || x_iir );
15295: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15296: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15297: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15298: RAISE OKL_API.G_EXCEPTION_ERROR;
15299: END IF;
15300: l_subsidized_yields_rec.pre_tax_irr := x_iir;
15301: -- Calculate the Yields without involving the Subsidy Amount
15294: 'SOLVED FOR IRR ' || x_iir );
15295: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15296: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15297: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15298: RAISE OKL_API.G_EXCEPTION_ERROR;
15299: END IF;
15300: l_subsidized_yields_rec.pre_tax_irr := x_iir;
15301: -- Calculate the Yields without involving the Subsidy Amount
15302: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15330: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15331: '1/ After Computation of IIR @ LQ Level ' || l_return_status );
15332: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15333: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
15334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15337: RAISE OKL_API.G_EXCEPTION_ERROR;
15338: END IF;
15331: '1/ After Computation of IIR @ LQ Level ' || l_return_status );
15332: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15333: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
15334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15337: RAISE OKL_API.G_EXCEPTION_ERROR;
15338: END IF;
15339: -- Store the IIR as the Booking Yield
15332: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15333: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
15334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15337: RAISE OKL_API.G_EXCEPTION_ERROR;
15338: END IF;
15339: -- Store the IIR as the Booking Yield
15340: l_yields_rec.bk_yield := l_yields_rec.iir;
15333: 'SOLVED FOR IIR (NON-SUBSIDY)' || l_yields_rec.iir );
15334: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15335: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15336: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15337: RAISE OKL_API.G_EXCEPTION_ERROR;
15338: END IF;
15339: -- Store the IIR as the Booking Yield
15340: l_yields_rec.bk_yield := l_yields_rec.iir;
15341: -- Loop through the l_pp_non_sub_iir_tbl table and delete the Subsidy Amount
15372: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15373: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
15374: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15375: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
15376: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15377: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15378: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15379: RAISE OKL_API.G_EXCEPTION_ERROR;
15380: END IF;
15373: '1/ After Computation of IRR @ LQ Level ' || l_return_status );
15374: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15375: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
15376: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15377: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15378: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15379: RAISE OKL_API.G_EXCEPTION_ERROR;
15380: END IF;
15381: END IF;
15374: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15375: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
15376: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15377: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15378: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15379: RAISE OKL_API.G_EXCEPTION_ERROR;
15380: END IF;
15381: END IF;
15382: -- Populate the l_lease_qte_rec appropriately for the Updation
15375: 'SOLVED FOR IRR (NON-SUBSIDY)' || l_yields_rec.pre_tax_irr );
15376: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15377: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15378: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15379: RAISE OKL_API.G_EXCEPTION_ERROR;
15380: END IF;
15381: END IF;
15382: -- Populate the l_lease_qte_rec appropriately for the Updation
15383: l_lease_qte_rec.id := p_qte_id;
15400: x_msg_count => x_msg_count,
15401: x_msg_data => x_msg_data);
15402: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15403: 'After updation of Yields on Lease Quote. Status: ' || l_return_status );
15404: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15405: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15406: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15407: RAISE OKL_API.G_EXCEPTION_ERROR;
15408: END IF;
15401: x_msg_data => x_msg_data);
15402: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15403: 'After updation of Yields on Lease Quote. Status: ' || l_return_status );
15404: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15405: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15406: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15407: RAISE OKL_API.G_EXCEPTION_ERROR;
15408: END IF;
15409: -- Now after the Yields has been calculated, we need to calculate the payments
15402: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15403: 'After updation of Yields on Lease Quote. Status: ' || l_return_status );
15404: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15405: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15406: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15407: RAISE OKL_API.G_EXCEPTION_ERROR;
15408: END IF;
15409: -- Now after the Yields has been calculated, we need to calculate the payments
15410: -- for all Non-Overridden assets !
15403: 'After updation of Yields on Lease Quote. Status: ' || l_return_status );
15404: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15405: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15406: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15407: RAISE OKL_API.G_EXCEPTION_ERROR;
15408: END IF;
15409: -- Now after the Yields has been calculated, we need to calculate the payments
15410: -- for all Non-Overridden assets !
15411: IF quote_rec.pricing_method <> 'RC'
15437: px_iir => l_iir,
15438: x_payment => l_miss_payment);
15439: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15440: 'After SY @ LQ level ' || x_return_status || ' | l_iir=' || round(l_iir,4) );
15441: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15442: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15443: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15444: RAISE OKL_API.G_EXCEPTION_ERROR;
15445: END IF;
15438: x_payment => l_miss_payment);
15439: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15440: 'After SY @ LQ level ' || x_return_status || ' | l_iir=' || round(l_iir,4) );
15441: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15442: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15443: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15444: RAISE OKL_API.G_EXCEPTION_ERROR;
15445: END IF;
15446: ELSE
15439: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15440: 'After SY @ LQ level ' || x_return_status || ' | l_iir=' || round(l_iir,4) );
15441: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15442: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15443: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15444: RAISE OKL_API.G_EXCEPTION_ERROR;
15445: END IF;
15446: ELSE
15447: l_iir := (l_lease_qte_rec.iir / 100 );
15440: 'After SY @ LQ level ' || x_return_status || ' | l_iir=' || round(l_iir,4) );
15441: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15442: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15443: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15444: RAISE OKL_API.G_EXCEPTION_ERROR;
15445: END IF;
15446: ELSE
15447: l_iir := (l_lease_qte_rec.iir / 100 );
15448: END IF;
15541: px_iir => l_iir,
15542: x_payment => l_miss_payment);
15543: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15544: 'SPP: For Asset Status=' || x_return_status || ' | l_iir=' || round(l_iir,4) || ' | l_miss_payment = ' || round(l_miss_payment, 2));
15545: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15546: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15547: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15548: RAISE OKL_API.G_EXCEPTION_ERROR;
15549: END IF;
15542: x_payment => l_miss_payment);
15543: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15544: 'SPP: For Asset Status=' || x_return_status || ' | l_iir=' || round(l_iir,4) || ' | l_miss_payment = ' || round(l_miss_payment, 2));
15545: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15546: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15547: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15548: RAISE OKL_API.G_EXCEPTION_ERROR;
15549: END IF;
15550: -- Need to delete the cash flow (if any exists) for this Asset with WORK Status.
15543: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15544: 'SPP: For Asset Status=' || x_return_status || ' | l_iir=' || round(l_iir,4) || ' | l_miss_payment = ' || round(l_miss_payment, 2));
15545: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15546: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15547: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15548: RAISE OKL_API.G_EXCEPTION_ERROR;
15549: END IF;
15550: -- Need to delete the cash flow (if any exists) for this Asset with WORK Status.
15551: l_cfo_exists_at_noa := 'YES';
15544: 'SPP: For Asset Status=' || x_return_status || ' | l_iir=' || round(l_iir,4) || ' | l_miss_payment = ' || round(l_miss_payment, 2));
15545: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15546: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15547: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15548: RAISE OKL_API.G_EXCEPTION_ERROR;
15549: END IF;
15550: -- Need to delete the cash flow (if any exists) for this Asset with WORK Status.
15551: l_cfo_exists_at_noa := 'YES';
15552: FOR t_rec IN check_cfo_exists_csr(
15573: x_msg_count => x_msg_count,
15574: x_msg_data => x_msg_data);
15575: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15576: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
15577: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15578: RAISE okl_api.g_exception_unexpected_error;
15579: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15580: RAISE okl_api.g_exception_error;
15581: END IF;
15574: x_msg_data => x_msg_data);
15575: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15576: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
15577: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15578: RAISE okl_api.g_exception_unexpected_error;
15579: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15580: RAISE okl_api.g_exception_error;
15581: END IF;
15582: END IF;
15575: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15576: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
15577: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15578: RAISE okl_api.g_exception_unexpected_error;
15579: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15580: RAISE okl_api.g_exception_error;
15581: END IF;
15582: END IF;
15583: -- Create the Cash flows with the structure similiar to the LQ
15576: ' ----- After deleting the Cash flows for the asset ' || l_return_status );
15577: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15578: RAISE okl_api.g_exception_unexpected_error;
15579: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15580: RAISE okl_api.g_exception_error;
15581: END IF;
15582: END IF;
15583: -- Create the Cash flows with the structure similiar to the LQ
15584: l_asset_caf_rec.parent_object_code := 'QUOTED_ASSET';
15647: x_msg_count => x_msg_count,
15648: x_msg_data => x_msg_data);
15649: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15650: 'After calling create_cash_flow ' || l_return_status);
15651: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15652: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15653: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15654: RAISE OKL_API.G_EXCEPTION_ERROR;
15655: END IF;
15648: x_msg_data => x_msg_data);
15649: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15650: 'After calling create_cash_flow ' || l_return_status);
15651: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15652: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15653: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15654: RAISE OKL_API.G_EXCEPTION_ERROR;
15655: END IF;
15656: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
15649: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15650: 'After calling create_cash_flow ' || l_return_status);
15651: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15652: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15653: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15654: RAISE OKL_API.G_EXCEPTION_ERROR;
15655: END IF;
15656: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
15657: -- Based on the Derieved Cash flows for the Non-overriding Assets
15650: 'After calling create_cash_flow ' || l_return_status);
15651: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15652: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15653: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15654: RAISE OKL_API.G_EXCEPTION_ERROR;
15655: END IF;
15656: -- Bug 7440199: Quote Streams ER: RGOOTY: Start
15657: -- Based on the Derieved Cash flows for the Non-overriding Assets
15658: -- Generate the Streams for the Non-Overriding Assets
15692: x_msg_data => x_msg_data,
15693: p_cash_flow_rec => l_noa_cash_flow_rec,
15694: p_cf_details_tbl => l_noa_cash_flow_det_tbl,
15695: x_cash_inflow_strms_tbl => l_cash_inflows);
15696: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15697: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15698: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15699: RAISE OKL_API.G_EXCEPTION_ERROR;
15700: END IF;
15693: p_cash_flow_rec => l_noa_cash_flow_rec,
15694: p_cf_details_tbl => l_noa_cash_flow_det_tbl,
15695: x_cash_inflow_strms_tbl => l_cash_inflows);
15696: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15697: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15698: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15699: RAISE OKL_API.G_EXCEPTION_ERROR;
15700: END IF;
15701: -- Place the information in the Consolidated Pricing Params Table
15694: p_cf_details_tbl => l_noa_cash_flow_det_tbl,
15695: x_cash_inflow_strms_tbl => l_cash_inflows);
15696: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15697: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15698: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15699: RAISE OKL_API.G_EXCEPTION_ERROR;
15700: END IF;
15701: -- Place the information in the Consolidated Pricing Params Table
15702: -- so that the insert_quote_api inserts the Streams Captured here !
15695: x_cash_inflow_strms_tbl => l_cash_inflows);
15696: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15697: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15698: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15699: RAISE OKL_API.G_EXCEPTION_ERROR;
15700: END IF;
15701: -- Place the information in the Consolidated Pricing Params Table
15702: -- so that the insert_quote_api inserts the Streams Captured here !
15703: pp_index := l_pp_non_sub_irr_tbl.COUNT + 1;
15736: x_msg_count => x_msg_count,
15737: x_msg_data => x_msg_data);
15738: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15739: 'Deleted the Consolidated Cash flow levels @ LQ levels. Status: ' || l_return_status );
15740: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15741: RAISE okl_api.g_exception_unexpected_error;
15742: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15743: RAISE okl_api.g_exception_error;
15744: END IF;
15737: x_msg_data => x_msg_data);
15738: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15739: 'Deleted the Consolidated Cash flow levels @ LQ levels. Status: ' || l_return_status );
15740: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15741: RAISE okl_api.g_exception_unexpected_error;
15742: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15743: RAISE okl_api.g_exception_error;
15744: END IF;
15745: END IF; -- IF l_cfo_exists_at_lq
15738: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15739: 'Deleted the Consolidated Cash flow levels @ LQ levels. Status: ' || l_return_status );
15740: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15741: RAISE okl_api.g_exception_unexpected_error;
15742: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15743: RAISE okl_api.g_exception_error;
15744: END IF;
15745: END IF; -- IF l_cfo_exists_at_lq
15746: -- Code for solving the payment amount @ LQ level follows ..
15739: 'Deleted the Consolidated Cash flow levels @ LQ levels. Status: ' || l_return_status );
15740: IF (l_return_status = okl_api.g_ret_sts_unexp_error) THEN
15741: RAISE okl_api.g_exception_unexpected_error;
15742: ELSIF (l_return_status = okl_api.g_ret_sts_error) THEN
15743: RAISE okl_api.g_exception_error;
15744: END IF;
15745: END IF; -- IF l_cfo_exists_at_lq
15746: -- Code for solving the payment amount @ LQ level follows ..
15747: -- If for all the assets, frequency, adv/arrears, the payment structure matches
15757: p_id => p_qte_id,
15758: x_caf_rec => l_lq_payment_header_rec,
15759: x_cfl_tbl => l_lq_payment_level_tbl,
15760: x_solved => l_solved);
15761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15764: RAISE OKL_API.G_EXCEPTION_ERROR;
15765: END IF;
15758: x_caf_rec => l_lq_payment_header_rec,
15759: x_cfl_tbl => l_lq_payment_level_tbl,
15760: x_solved => l_solved);
15761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15764: RAISE OKL_API.G_EXCEPTION_ERROR;
15765: END IF;
15766: IF l_solved = 'YES' AND l_lq_payment_level_tbl IS NOT NULL AND l_lq_payment_level_tbl.COUNT > 0
15759: x_cfl_tbl => l_lq_payment_level_tbl,
15760: x_solved => l_solved);
15761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15764: RAISE OKL_API.G_EXCEPTION_ERROR;
15765: END IF;
15766: IF l_solved = 'YES' AND l_lq_payment_level_tbl IS NOT NULL AND l_lq_payment_level_tbl.COUNT > 0
15767: THEN
15760: x_solved => l_solved);
15761: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15762: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15763: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15764: RAISE OKL_API.G_EXCEPTION_ERROR;
15765: END IF;
15766: IF l_solved = 'YES' AND l_lq_payment_level_tbl IS NOT NULL AND l_lq_payment_level_tbl.COUNT > 0
15767: THEN
15768: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15805: x_msg_count => x_msg_count,
15806: x_msg_data => x_msg_data);
15807: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15808: 'Creation of LQ level cash flow levels stauts: ' || l_Return_Status );
15809: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15810: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15811: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15812: RAISE OKL_API.G_EXCEPTION_ERROR;
15813: END IF;
15806: x_msg_data => x_msg_data);
15807: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15808: 'Creation of LQ level cash flow levels stauts: ' || l_Return_Status );
15809: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15810: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15811: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15812: RAISE OKL_API.G_EXCEPTION_ERROR;
15813: END IF;
15814: ELSE
15807: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15808: 'Creation of LQ level cash flow levels stauts: ' || l_Return_Status );
15809: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15810: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15811: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15812: RAISE OKL_API.G_EXCEPTION_ERROR;
15813: END IF;
15814: ELSE
15815: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15808: 'Creation of LQ level cash flow levels stauts: ' || l_Return_Status );
15809: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15810: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15811: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15812: RAISE OKL_API.G_EXCEPTION_ERROR;
15813: END IF;
15814: ELSE
15815: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15816: '!!!!! PRICING ENGINE IS UNABLE TO DERIEVE PAYMENTS AT LQ LEVEL !!!!!' );
15835: x_inflow_caf_rec => l_srvc_inflow_caf_rec,
15836: x_inflow_cfl_tbl => l_srvc_inflow_cfl_tbl);
15837: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15838: 'After get_lq_srvc_cash_flows ' || l_return_status );
15839: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15840: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15841: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15842: RAISE OKL_API.G_EXCEPTION_ERROR;
15843: END IF;
15836: x_inflow_cfl_tbl => l_srvc_inflow_cfl_tbl);
15837: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15838: 'After get_lq_srvc_cash_flows ' || l_return_status );
15839: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15840: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15841: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15842: RAISE OKL_API.G_EXCEPTION_ERROR;
15843: END IF;
15844:
15837: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'S',
15838: 'After get_lq_srvc_cash_flows ' || l_return_status );
15839: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15840: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15841: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15842: RAISE OKL_API.G_EXCEPTION_ERROR;
15843: END IF;
15844:
15845: -- Based on the Inflows obtained generate the streams
15838: 'After get_lq_srvc_cash_flows ' || l_return_status );
15839: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15840: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15841: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15842: RAISE OKL_API.G_EXCEPTION_ERROR;
15843: END IF;
15844:
15845: -- Based on the Inflows obtained generate the streams
15846: IF l_srvc_inflow_cfl_tbl.COUNT > 0
15856: x_msg_data => x_msg_data,
15857: p_cash_flow_rec => l_srvc_inflow_caf_rec,
15858: p_cf_details_tbl => l_srvc_inflow_cfl_tbl,
15859: x_cash_inflow_strms_tbl => l_cash_inflows);
15860: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15861: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15862: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15863: RAISE OKL_API.G_EXCEPTION_ERROR;
15864: END IF;
15857: p_cash_flow_rec => l_srvc_inflow_caf_rec,
15858: p_cf_details_tbl => l_srvc_inflow_cfl_tbl,
15859: x_cash_inflow_strms_tbl => l_cash_inflows);
15860: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15861: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15862: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15863: RAISE OKL_API.G_EXCEPTION_ERROR;
15864: END IF;
15865: -- Place the information in the pricing params
15858: p_cf_details_tbl => l_srvc_inflow_cfl_tbl,
15859: x_cash_inflow_strms_tbl => l_cash_inflows);
15860: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15861: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15862: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15863: RAISE OKL_API.G_EXCEPTION_ERROR;
15864: END IF;
15865: -- Place the information in the pricing params
15866: pp_index := l_pp_non_sub_irr_tbl.COUNT + 1;
15859: x_cash_inflow_strms_tbl => l_cash_inflows);
15860: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15861: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
15862: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
15863: RAISE OKL_API.G_EXCEPTION_ERROR;
15864: END IF;
15865: -- Place the information in the pricing params
15866: pp_index := l_pp_non_sub_irr_tbl.COUNT + 1;
15867: l_pp_non_sub_irr_tbl(pp_index).line_type := 'SERVICE';
15994: p_currency => l_currency,
15995: p_pricing_param_tbl => l_pp_non_sub_irr_tbl);
15996: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
15997: 'After Calling the API insert_quote_streams x_return_status= ' || x_return_status);
15998: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15999: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16000: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
16001: RAISE OKL_API.G_EXCEPTION_ERROR;
16002: END IF;
15995: p_pricing_param_tbl => l_pp_non_sub_irr_tbl);
15996: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
15997: 'After Calling the API insert_quote_streams x_return_status= ' || x_return_status);
15998: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15999: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16000: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
16001: RAISE OKL_API.G_EXCEPTION_ERROR;
16002: END IF;
16003: -- Bug 7440199: Quote Streams ER: RGOOTY: End
15996: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
15997: 'After Calling the API insert_quote_streams x_return_status= ' || x_return_status);
15998: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15999: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16000: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
16001: RAISE OKL_API.G_EXCEPTION_ERROR;
16002: END IF;
16003: -- Bug 7440199: Quote Streams ER: RGOOTY: End
16004: -- Pass the results back
15997: 'After Calling the API insert_quote_streams x_return_status= ' || x_return_status);
15998: IF(l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
15999: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
16000: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
16001: RAISE OKL_API.G_EXCEPTION_ERROR;
16002: END IF;
16003: -- Bug 7440199: Quote Streams ER: RGOOTY: End
16004: -- Pass the results back
16005: x_return_status := l_return_status;
16002: END IF;
16003: -- Bug 7440199: Quote Streams ER: RGOOTY: End
16004: -- Pass the results back
16005: x_return_status := l_return_status;
16006: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
16007: x_msg_data => x_msg_data);
16008: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
16009: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
16010: EXCEPTION
16007: x_msg_data => x_msg_data);
16008: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
16009: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
16010: EXCEPTION
16011: WHEN OKL_API.G_EXCEPTION_ERROR THEN
16012: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
16013: p_api_name => l_api_name,
16014: p_pkg_name => G_PKG_NAME,
16015: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
16008: put_in_log(l_debug_enabled,is_debug_procedure_on,is_debug_statement_on,l_module, 'P',
16009: 'end debug OKLRPIUB.pls call ' || LOWER(l_api_name) );
16010: EXCEPTION
16011: WHEN OKL_API.G_EXCEPTION_ERROR THEN
16012: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
16013: p_api_name => l_api_name,
16014: p_pkg_name => G_PKG_NAME,
16015: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
16016: x_msg_count => x_msg_count,
16011: WHEN OKL_API.G_EXCEPTION_ERROR THEN
16012: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
16013: p_api_name => l_api_name,
16014: p_pkg_name => G_PKG_NAME,
16015: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
16016: x_msg_count => x_msg_count,
16017: x_msg_data => x_msg_data,
16018: p_api_type => g_api_type);
16019: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
16015: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
16016: x_msg_count => x_msg_count,
16017: x_msg_data => x_msg_data,
16018: p_api_type => g_api_type);
16019: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
16020: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
16021: p_api_name => l_api_name,
16022: p_pkg_name => G_PKG_NAME,
16023: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
16016: x_msg_count => x_msg_count,
16017: x_msg_data => x_msg_data,
16018: p_api_type => g_api_type);
16019: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
16020: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
16021: p_api_name => l_api_name,
16022: p_pkg_name => G_PKG_NAME,
16023: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
16024: x_msg_count => x_msg_count,
16019: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
16020: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
16021: p_api_name => l_api_name,
16022: p_pkg_name => G_PKG_NAME,
16023: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
16024: x_msg_count => x_msg_count,
16025: x_msg_data => x_msg_data,
16026: p_api_type => g_api_type);
16027: WHEN OTHERS THEN
16024: x_msg_count => x_msg_count,
16025: x_msg_data => x_msg_data,
16026: p_api_type => g_api_type);
16027: WHEN OTHERS THEN
16028: x_return_status := OKL_API.HANDLE_EXCEPTIONS(
16029: p_api_name => l_api_name,
16030: p_pkg_name => G_PKG_NAME,
16031: p_exc_name => 'OTHERS',
16032: x_msg_count => x_msg_count,