29: -- Declare Process Variable
30: -----------------------------------------------------------------
31: l_api_version CONSTANT NUMBER := 1;
32: l_api_name CONSTANT VARCHAR2(30) := 'GENERATE_TOTAL_PV_RENT';
33: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
34:
35: ------------------------------------------------------------
36: -- Declare records: Extension Headers, Extension Lines
37: ------------------------------------------------------------
122:
123:
124: BEGIN
125:
126: x_return_status := OKL_API.G_RET_STS_SUCCESS;
127:
128: IF (l_proc_level >= l_debug_level) THEN
129: FND_LOG.STRING(l_proc_level,'OKL_GENERATE_PV_RENT_PVT','Begin(+)');
130: END IF;
128: IF (l_proc_level >= l_debug_level) THEN
129: FND_LOG.STRING(l_proc_level,'OKL_GENERATE_PV_RENT_PVT','Begin(+)');
130: END IF;
131:
132: l_return_status := OKL_API.START_ACTIVITY(
133: p_api_name => l_api_name,
134: p_pkg_name => g_pkg_name,
135: p_init_msg_list => p_init_msg_list,
136: l_api_version => l_api_version,
137: p_api_version => p_api_version,
138: p_api_type => '_PVT',
139: x_return_status => l_return_status);
140:
141: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
142: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
143: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
144: RAISE OKL_API.G_EXCEPTION_ERROR;
145: END IF;
138: p_api_type => '_PVT',
139: x_return_status => l_return_status);
140:
141: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
142: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
143: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
144: RAISE OKL_API.G_EXCEPTION_ERROR;
145: END IF;
146:
139: x_return_status => l_return_status);
140:
141: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
142: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
143: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
144: RAISE OKL_API.G_EXCEPTION_ERROR;
145: END IF;
146:
147: OPEN c_hdr_csr (p_khr_id);
140:
141: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
142: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
143: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
144: RAISE OKL_API.G_EXCEPTION_ERROR;
145: END IF;
146:
147: OPEN c_hdr_csr (p_khr_id);
148: FETCH c_hdr_csr INTO l_hdr_csr_rec;
159: p_khr_id => p_khr_id,
160: x_pricing_engine => l_pricing_engine,
161: x_return_status => x_return_status);
162:
163: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
164: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
165: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
166: RAISE OKL_API.G_EXCEPTION_ERROR;
167: END IF;
160: x_pricing_engine => l_pricing_engine,
161: x_return_status => x_return_status);
162:
163: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
164: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
165: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
166: RAISE OKL_API.G_EXCEPTION_ERROR;
167: END IF;
168:
161: x_return_status => x_return_status);
162:
163: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
164: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
165: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
166: RAISE OKL_API.G_EXCEPTION_ERROR;
167: END IF;
168:
169: -- l_pricing_engine = 'EXTERNAL'
162:
163: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
164: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
165: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
166: RAISE OKL_API.G_EXCEPTION_ERROR;
167: END IF;
168:
169: -- l_pricing_engine = 'EXTERNAL'
170:
177: x_days_in_year => l_day_convention_year,
178: x_return_status => l_return_status);
179:
180:
181: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
182: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
183: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
184: RAISE OKL_API.G_EXCEPTION_ERROR;
185: END IF;
178: x_return_status => l_return_status);
179:
180:
181: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
182: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
183: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
184: RAISE OKL_API.G_EXCEPTION_ERROR;
185: END IF;
186:
179:
180:
181: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
182: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
183: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
184: RAISE OKL_API.G_EXCEPTION_ERROR;
185: END IF;
186:
187: IF l_stat_level >= l_debug_level THEN
180:
181: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
182: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
183: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
184: RAISE OKL_API.G_EXCEPTION_ERROR;
185: END IF;
186:
187: IF l_stat_level >= l_debug_level THEN
188: fnd_log.STRING(l_stat_level,
206: IF l_stat_level >= l_debug_level THEN
207: fnd_log.STRING(l_stat_level,'OKL_GENERATE_PV_RENT_PVT.generate_total_pv_rent','l_arrears_pay_dates_option :'||l_arrears_pay_dates_option);
208: END IF;
209:
210: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
211: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
212: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
213: RAISE OKL_API.G_EXCEPTION_ERROR;
214: END IF;
207: fnd_log.STRING(l_stat_level,'OKL_GENERATE_PV_RENT_PVT.generate_total_pv_rent','l_arrears_pay_dates_option :'||l_arrears_pay_dates_option);
208: END IF;
209:
210: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
211: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
212: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
213: RAISE OKL_API.G_EXCEPTION_ERROR;
214: END IF;
215:
208: END IF;
209:
210: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
211: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
212: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
213: RAISE OKL_API.G_EXCEPTION_ERROR;
214: END IF;
215:
216: SELECT NVL(precision,0)
209:
210: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
211: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
212: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
213: RAISE OKL_API.G_EXCEPTION_ERROR;
214: END IF;
215:
216: SELECT NVL(precision,0)
217: INTO l_precision
257: x_msg_count => x_msg_count,
258: x_msg_data => x_msg_data
259: );
260:
261: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
262: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
263: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
264: RAISE OKL_API.G_EXCEPTION_ERROR;
265: END IF;
258: x_msg_data => x_msg_data
259: );
260:
261: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
262: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
263: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
264: RAISE OKL_API.G_EXCEPTION_ERROR;
265: END IF;
266:
259: );
260:
261: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
262: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
263: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
264: RAISE OKL_API.G_EXCEPTION_ERROR;
265: END IF;
266:
267: l_total_rent_inflow_tbl := lx_total_rent_inflow_tbl;
260:
261: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
262: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
263: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
264: RAISE OKL_API.G_EXCEPTION_ERROR;
265: END IF;
266:
267: l_total_rent_inflow_tbl := lx_total_rent_inflow_tbl;
268:
320: p_arrears => 'Y',
321: x_return_status => l_return_status);
322:
323:
324: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
326: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
327: RAISE OKL_API.G_EXCEPTION_ERROR;
328: END IF;
321: x_return_status => l_return_status);
322:
323:
324: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
326: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
327: RAISE OKL_API.G_EXCEPTION_ERROR;
328: END IF;
329:
322:
323:
324: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
326: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
327: RAISE OKL_API.G_EXCEPTION_ERROR;
328: END IF;
329:
330: END IF;
323:
324: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
325: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
326: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
327: RAISE OKL_API.G_EXCEPTION_ERROR;
328: END IF;
329:
330: END IF;
331:
360: END IF;
361:
362: IF NVL(l_time_zero_cost,0) = 0
363: THEN
364: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
365: p_msg_name => 'OKL_IRR_ZERO_DIV');
366: RAISE OKL_API.G_EXCEPTION_ERROR;
367: END IF;
368: OKL_GENERATE_PV_RENT_PVT.compute_iir ( p_khr_id => p_khr_id,
362: IF NVL(l_time_zero_cost,0) = 0
363: THEN
364: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
365: p_msg_name => 'OKL_IRR_ZERO_DIV');
366: RAISE OKL_API.G_EXCEPTION_ERROR;
367: END IF;
368: OKL_GENERATE_PV_RENT_PVT.compute_iir ( p_khr_id => p_khr_id,
369: p_cash_in_flows_tbl => l_total_cash_inflow_tbl,
370: p_cash_out_flows => l_time_zero_cost,
375: x_msg_count => x_msg_count,
376: x_msg_data => x_msg_data
377: );
378:
379: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
380: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
381: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
382: RAISE OKL_API.G_EXCEPTION_ERROR;
383: END IF;
376: x_msg_data => x_msg_data
377: );
378:
379: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
380: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
381: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
382: RAISE OKL_API.G_EXCEPTION_ERROR;
383: END IF;
384:
377: );
378:
379: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
380: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
381: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
382: RAISE OKL_API.G_EXCEPTION_ERROR;
383: END IF;
384:
385: IF l_stat_level >= l_debug_level THEN
378:
379: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
380: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
381: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
382: RAISE OKL_API.G_EXCEPTION_ERROR;
383: END IF;
384:
385: IF l_stat_level >= l_debug_level THEN
386: fnd_log.STRING(l_stat_level,'OKL_GENERATE_PV_RENT_PVT.generate_total_pv_rent','l_iir: '||TO_CHAR(l_iir));
418: IF (l_proc_level >= l_debug_level) THEN
419: FND_LOG.STRING(l_proc_level,'OKL_GENERATE_PV_RENT_PVT','End(-)');
420: END IF;
421:
422: okl_api.end_activity(x_msg_count => x_msg_count
423: ,x_msg_data => x_msg_data);
424:
425:
426: EXCEPTION
427: ------------------------------------------------------------
428: -- Exception handling
429: ------------------------------------------------------------
430:
431: WHEN OKL_API.G_EXCEPTION_ERROR THEN
432:
433: IF c_asset_id_csr%ISOPEN THEN
434: CLOSE c_asset_id_csr;
435: END IF;
433: IF c_asset_id_csr%ISOPEN THEN
434: CLOSE c_asset_id_csr;
435: END IF;
436:
437: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
438: p_api_name => l_api_name,
439: p_pkg_name => G_PKG_NAME,
440: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
441: x_msg_count => x_msg_count,
436:
437: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
438: p_api_name => l_api_name,
439: p_pkg_name => G_PKG_NAME,
440: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
441: x_msg_count => x_msg_count,
442: x_msg_data => x_msg_data,
443: p_api_type => '_PVT');
444:
441: x_msg_count => x_msg_count,
442: x_msg_data => x_msg_data,
443: p_api_type => '_PVT');
444:
445: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
446:
447: IF c_asset_id_csr%ISOPEN THEN
448: CLOSE c_asset_id_csr;
449: END IF;
447: IF c_asset_id_csr%ISOPEN THEN
448: CLOSE c_asset_id_csr;
449: END IF;
450:
451: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
452: p_api_name => l_api_name,
453: p_pkg_name => G_PKG_NAME,
454: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
455: x_msg_count => x_msg_count,
450:
451: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
452: p_api_name => l_api_name,
453: p_pkg_name => G_PKG_NAME,
454: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
455: x_msg_count => x_msg_count,
456: x_msg_data => x_msg_data,
457: p_api_type => '_PVT');
458:
461: IF c_asset_id_csr%ISOPEN THEN
462: CLOSE c_asset_id_csr;
463: END IF;
464:
465: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
466: p_api_name => l_api_name,
467: p_pkg_name => G_PKG_NAME,
468: p_exc_name => 'OTHERS',
469: x_msg_count => x_msg_count,
506: -- Declare Process Variable
507: -----------------------------------------------------------------
508: l_api_version CONSTANT NUMBER := 1;
509: l_api_name CONSTANT VARCHAR2(30) := 'GENERATE_ASSET_PV_RENT';
510: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
511:
512:
513: ------------------------------------------------------------
514: -- Declare records: Extension Headers, Extension Lines
560: l_ppy NUMBER;
561:
562: BEGIN
563:
564: x_return_status := OKL_API.G_RET_STS_SUCCESS;
565:
566: IF l_stat_level >= l_debug_level THEN
567: fnd_log.STRING(l_stat_level,'OKL_GENERATE_PV_RENT_PVT.generate_asset_rent','Begin(+)');
568: END IF;
566: IF l_stat_level >= l_debug_level THEN
567: fnd_log.STRING(l_stat_level,'OKL_GENERATE_PV_RENT_PVT.generate_asset_rent','Begin(+)');
568: END IF;
569:
570: l_return_status := OKL_API.START_ACTIVITY(
571: p_api_name => l_api_name,
572: p_pkg_name => g_pkg_name,
573: p_init_msg_list => p_init_msg_list,
574: l_api_version => l_api_version,
575: p_api_version => p_api_version,
576: p_api_type => '_PVT',
577: x_return_status => l_return_status);
578:
579: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
580: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
581: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
582: RAISE OKL_API.G_EXCEPTION_ERROR;
583: END IF;
576: p_api_type => '_PVT',
577: x_return_status => l_return_status);
578:
579: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
580: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
581: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
582: RAISE OKL_API.G_EXCEPTION_ERROR;
583: END IF;
584:
577: x_return_status => l_return_status);
578:
579: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
580: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
581: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
582: RAISE OKL_API.G_EXCEPTION_ERROR;
583: END IF;
584:
585:
578:
579: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
580: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
581: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
582: RAISE OKL_API.G_EXCEPTION_ERROR;
583: END IF;
584:
585:
586:
592: LOOP
593:
594: IF l_payment_details_csr_rec.start_date IS NULL
595: THEN
596: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
597: p_msg_name => 'OKL_NO_SLL_SDATE');
598: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
599: END IF;
600:
594: IF l_payment_details_csr_rec.start_date IS NULL
595: THEN
596: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
597: p_msg_name => 'OKL_NO_SLL_SDATE');
598: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
599: END IF;
600:
601: IF((l_payment_details_csr_rec.periods IS NULL) AND (l_payment_details_csr_rec.stub_days IS NOT NULL)) THEN
602: --Set the recurrence date to null for stub payment
637: x_msg_count => x_msg_count,
638: x_msg_data => x_msg_data
639: );
640:
641: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
642: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
643: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
644: RAISE OKL_API.G_EXCEPTION_ERROR;
645: END IF;
638: x_msg_data => x_msg_data
639: );
640:
641: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
642: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
643: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
644: RAISE OKL_API.G_EXCEPTION_ERROR;
645: END IF;
646:
639: );
640:
641: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
642: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
643: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
644: RAISE OKL_API.G_EXCEPTION_ERROR;
645: END IF;
646:
647: l_rent_inflow_tbl := lx_rent_inflow_tbl;
640:
641: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
642: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
643: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
644: RAISE OKL_API.G_EXCEPTION_ERROR;
645: END IF;
646:
647: l_rent_inflow_tbl := lx_rent_inflow_tbl;
648:
664: fnd_log.STRING(l_stat_level,'OKL_GENERATE_PV_RENT_PVT.generate_asset_rent','End(-)');
665: END IF;
666:
667:
668: okl_api.end_activity(x_msg_count => x_msg_count
669: ,x_msg_data => x_msg_data);
670:
671:
672:
674: ------------------------------------------------------------
675: -- Exception handling
676: ------------------------------------------------------------
677:
678: WHEN OKL_API.G_EXCEPTION_ERROR THEN
679:
680: IF c_payment_details_csr%ISOPEN THEN
681: CLOSE c_payment_details_csr;
682: END IF;
680: IF c_payment_details_csr%ISOPEN THEN
681: CLOSE c_payment_details_csr;
682: END IF;
683:
684: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
685: p_api_name => l_api_name,
686: p_pkg_name => G_PKG_NAME,
687: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
688: x_msg_count => x_msg_count,
683:
684: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
685: p_api_name => l_api_name,
686: p_pkg_name => G_PKG_NAME,
687: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
688: x_msg_count => x_msg_count,
689: x_msg_data => x_msg_data,
690: p_api_type => '_PVT');
691:
688: x_msg_count => x_msg_count,
689: x_msg_data => x_msg_data,
690: p_api_type => '_PVT');
691:
692: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
693:
694: IF c_payment_details_csr%ISOPEN THEN
695: CLOSE c_payment_details_csr;
696: END IF;
694: IF c_payment_details_csr%ISOPEN THEN
695: CLOSE c_payment_details_csr;
696: END IF;
697:
698: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
699: p_api_name => l_api_name,
700: p_pkg_name => G_PKG_NAME,
701: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
702: x_msg_count => x_msg_count,
697:
698: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
699: p_api_name => l_api_name,
700: p_pkg_name => G_PKG_NAME,
701: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
702: x_msg_count => x_msg_count,
703: x_msg_data => x_msg_data,
704: p_api_type => '_PVT');
705:
708: IF c_payment_details_csr%ISOPEN THEN
709: CLOSE c_payment_details_csr;
710: END IF;
711:
712: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
713: p_api_name => l_api_name,
714: p_pkg_name => G_PKG_NAME,
715: p_exc_name => 'OTHERS',
716: x_msg_count => x_msg_count,
761: -- Declare Process Variable
762: -----------------------------------------------------------------
763: l_api_version CONSTANT NUMBER := 1;
764: l_api_name CONSTANT VARCHAR2(30) := 'GENERATE_STREAM_ELEMENTS';
765: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
766:
767:
768: ------------------------------------------------------------
769: -- Declare records: Extension Headers, Extension Lines
825: p_days_in_year => p_day_convention_year,
826: p_end_date => x_rent_inflow_tbl(l_rent_inflow_tbl_count + 1).cf_date,
827: p_arrears => x_rent_inflow_tbl(l_rent_inflow_tbl_count + 1).cf_arrears,
828: x_return_status => l_return_status);
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
826: p_end_date => x_rent_inflow_tbl(l_rent_inflow_tbl_count + 1).cf_date,
827: p_arrears => x_rent_inflow_tbl(l_rent_inflow_tbl_count + 1).cf_arrears,
828: x_return_status => l_return_status);
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
834:
827: p_arrears => x_rent_inflow_tbl(l_rent_inflow_tbl_count + 1).cf_arrears,
828: x_return_status => l_return_status);
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
834:
835: ELSE
828: x_return_status => l_return_status);
829: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
831: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
832: RAISE OKL_API.G_EXCEPTION_ERROR;
833: END IF;
834:
835: ELSE
836:
865:
866:
867: END IF;
868:
869: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
872: RAISE OKL_API.G_EXCEPTION_ERROR;
873: END IF;
866:
867: END IF;
868:
869: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
872: RAISE OKL_API.G_EXCEPTION_ERROR;
873: END IF;
874:
867: END IF;
868:
869: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
872: RAISE OKL_API.G_EXCEPTION_ERROR;
873: END IF;
874:
875: x_rent_inflow_tbl(i).cf_number := i; -- TBD
868:
869: IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
871: ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
872: RAISE OKL_API.G_EXCEPTION_ERROR;
873: END IF;
874:
875: x_rent_inflow_tbl(i).cf_number := i; -- TBD
876: x_rent_inflow_tbl(i).cf_arrears := p_arrears_yn;
887: p_end_date => x_rent_inflow_tbl(i).cf_date,
888: p_arrears => x_rent_inflow_tbl(i).cf_arrears,
889: x_return_status => l_return_status);
890:
891: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
894: RAISE OKL_API.G_EXCEPTION_ERROR;
895: END IF;
888: p_arrears => x_rent_inflow_tbl(i).cf_arrears,
889: x_return_status => l_return_status);
890:
891: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
894: RAISE OKL_API.G_EXCEPTION_ERROR;
895: END IF;
896:
889: x_return_status => l_return_status);
890:
891: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
894: RAISE OKL_API.G_EXCEPTION_ERROR;
895: END IF;
896:
897:
890:
891: IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
892: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
893: ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
894: RAISE OKL_API.G_EXCEPTION_ERROR;
895: END IF;
896:
897:
898: END LOOP;
911: -- Exception handling
912: ------------------------------------------------------------
913:
914:
915: WHEN OKL_API.G_EXCEPTION_ERROR THEN
916:
917: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
918: p_api_name => l_api_name,
919: p_pkg_name => G_PKG_NAME,
913:
914:
915: WHEN OKL_API.G_EXCEPTION_ERROR THEN
916:
917: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
918: p_api_name => l_api_name,
919: p_pkg_name => G_PKG_NAME,
920: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
921: x_msg_count => x_msg_count,
916:
917: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
918: p_api_name => l_api_name,
919: p_pkg_name => G_PKG_NAME,
920: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
921: x_msg_count => x_msg_count,
922: x_msg_data => x_msg_data,
923: p_api_type => '_PVT');
924:
921: x_msg_count => x_msg_count,
922: x_msg_data => x_msg_data,
923: p_api_type => '_PVT');
924:
925: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
926:
927: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
928: p_api_name => l_api_name,
929: p_pkg_name => G_PKG_NAME,
923: p_api_type => '_PVT');
924:
925: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
926:
927: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
928: p_api_name => l_api_name,
929: p_pkg_name => G_PKG_NAME,
930: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
931: x_msg_count => x_msg_count,
926:
927: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
928: p_api_name => l_api_name,
929: p_pkg_name => G_PKG_NAME,
930: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
931: x_msg_count => x_msg_count,
932: x_msg_data => x_msg_data,
933: p_api_type => '_PVT');
934:
934:
935:
936: WHEN OTHERS THEN
937:
938: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
939: p_api_name => l_api_name,
940: p_pkg_name => G_PKG_NAME,
941: p_exc_name => 'OTHERS',
942: x_msg_count => x_msg_count,
972: -- Declare Process Variable
973: -----------------------------------------------------------------
974: l_api_version CONSTANT NUMBER := 1;
975: l_api_name CONSTANT VARCHAR2(30) := 'COMPUTE_IIR';
976: l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
977:
978:
979: ------------------------------------------------------------
980: -- Declare records: Extension Headers, Extension Lines
1018:
1019:
1020: BEGIN
1021:
1022: x_return_status := OKL_API.START_ACTIVITY(
1023: p_api_name => l_api_name,
1024: p_pkg_name => g_pkg_name,
1025: p_init_msg_list => 'T',
1026: l_api_version => l_api_version,
1027: p_api_version => l_api_version,
1028: p_api_type => '_PVT',
1029: x_return_status => x_return_status);
1030:
1031: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1033: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1034: RAISE OKL_API.G_EXCEPTION_ERROR;
1035: END IF;
1028: p_api_type => '_PVT',
1029: x_return_status => x_return_status);
1030:
1031: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1033: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1034: RAISE OKL_API.G_EXCEPTION_ERROR;
1035: END IF;
1036:
1029: x_return_status => x_return_status);
1030:
1031: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1033: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1034: RAISE OKL_API.G_EXCEPTION_ERROR;
1035: END IF;
1036:
1037: IF l_stat_level >= l_debug_level THEN
1030:
1031: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1032: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1033: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1034: RAISE OKL_API.G_EXCEPTION_ERROR;
1035: END IF;
1036:
1037: IF l_stat_level >= l_debug_level THEN
1038: fnd_log.STRING(l_stat_level,'OKL_GENERATE_PV_RENT_PVT.compute_iir','Begin(+)');
1071: i >= 1000
1072: )
1073: THEN
1074: -- Return the procedure if loop is crossing thousand iterations also
1075: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
1076: p_msg_name => 'OKL_IRR_ZERO_DIV');
1077:
1078: RAISE OKL_API.G_EXCEPTION_ERROR;
1079:
1074: -- Return the procedure if loop is crossing thousand iterations also
1075: OKL_API.SET_MESSAGE (p_app_name => G_APP_NAME,
1076: p_msg_name => 'OKL_IRR_ZERO_DIV');
1077:
1078: RAISE OKL_API.G_EXCEPTION_ERROR;
1079:
1080: END IF;
1081:
1082: l_npv := l_npv + (l_cf_amount / POWER((1 + l_iir/l_cf_ppy), l_periods));
1227: ------------------------------------------------------------
1228: -- Exception handling
1229: ------------------------------------------------------------
1230:
1231: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1232:
1233: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
1234: p_api_name => l_api_name,
1235: p_pkg_name => G_PKG_NAME,
1229: ------------------------------------------------------------
1230:
1231: WHEN OKL_API.G_EXCEPTION_ERROR THEN
1232:
1233: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
1234: p_api_name => l_api_name,
1235: p_pkg_name => G_PKG_NAME,
1236: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1237: x_msg_count => x_msg_count,
1232:
1233: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
1234: p_api_name => l_api_name,
1235: p_pkg_name => G_PKG_NAME,
1236: p_exc_name => 'OKL_API.G_RET_STS_ERROR',
1237: x_msg_count => x_msg_count,
1238: x_msg_data => x_msg_data,
1239: p_api_type => '_PVT');
1240:
1237: x_msg_count => x_msg_count,
1238: x_msg_data => x_msg_data,
1239: p_api_type => '_PVT');
1240:
1241: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1242:
1243: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
1244: p_api_name => l_api_name,
1245: p_pkg_name => G_PKG_NAME,
1239: p_api_type => '_PVT');
1240:
1241: WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1242:
1243: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
1244: p_api_name => l_api_name,
1245: p_pkg_name => G_PKG_NAME,
1246: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1247: x_msg_count => x_msg_count,
1242:
1243: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
1244: p_api_name => l_api_name,
1245: p_pkg_name => G_PKG_NAME,
1246: p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
1247: x_msg_count => x_msg_count,
1248: x_msg_data => x_msg_data,
1249: p_api_type => '_PVT');
1250:
1249: p_api_type => '_PVT');
1250:
1251: WHEN OTHERS THEN
1252:
1253: x_return_status := OKL_API.HANDLE_EXCEPTIONS (
1254: p_api_name => l_api_name,
1255: p_pkg_name => G_PKG_NAME,
1256: p_exc_name => 'OTHERS',
1257: x_msg_count => x_msg_count,