32: -- Version : 1.0
33: -- End of Comments
34: -----------------------------------------------------------------------------
35: PROCEDURE man_receipt_apply ( p_api_version IN NUMBER
36: ,p_init_msg_list IN VARCHAR2 DEFAULT OkL_Api.G_FALSE
37: ,x_return_status OUT NOCOPY VARCHAR2
38: ,x_msg_count OUT NOCOPY NUMBER
39: ,x_msg_data OUT NOCOPY VARCHAR2
40: ,p_xcav_tbl IN xcav_tbl_type
48: -- DECLARE Local Variables
49: ---------------------------
50:
51: l_api_version NUMBER := 1.0;
52: l_init_msg_list VARCHAR2(1) := OKL_API.G_FALSE;
53: l_return_status VARCHAR2(1);
54: l_msg_count NUMBER;
55: l_msg_data VARCHAR2(2000);
56: l_api_name CONSTANT VARCHAR2(30) := 'man_receipt_apply';
202: WHERE
203: APS.CUSTOMER_TRX_ID = cp_customer_trx_id;
204: -------------------------------------------------------------------------------
205: BEGIN
206: x_return_status := OKL_API.G_RET_STS_SUCCESS;
207:
208: IF(NVL(l_debug_enabled,'N')='Y') THEN
209: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'begin debug OKLRMRHB.pls call MAN_RECEIPT_APPLY');
210: END IF;
209: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'begin debug OKLRMRHB.pls call MAN_RECEIPT_APPLY');
210: END IF;
211:
212: -- call START_ACTIVITY to create savepoint, check compatibility and initialize message list
213: x_return_status := OKL_API.START_ACTIVITY(
214: p_api_name => l_api_name
215: , p_pkg_name => G_PKG_NAME
216: , p_init_msg_list => p_init_msg_list
217: , l_api_version => l_api_version
218: , p_api_version => p_api_version
219: , p_api_type => G_API_TYPE
220: , x_return_status => x_return_status);
221: -- check if activity started successfully
222: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
223: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
224: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
225: RAISE OKL_API.G_EXCEPTION_ERROR;
226: END IF;
219: , p_api_type => G_API_TYPE
220: , x_return_status => x_return_status);
221: -- check if activity started successfully
222: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
223: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
224: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
225: RAISE OKL_API.G_EXCEPTION_ERROR;
226: END IF;
227:
220: , x_return_status => x_return_status);
221: -- check if activity started successfully
222: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
223: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
224: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
225: RAISE OKL_API.G_EXCEPTION_ERROR;
226: END IF;
227:
228: lp_xcav_tbl := p_xcav_tbl;
221: -- check if activity started successfully
222: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
223: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
224: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
225: RAISE OKL_API.G_EXCEPTION_ERROR;
226: END IF;
227:
228: lp_xcav_tbl := p_xcav_tbl;
229:
275: l_tot_amount_to_apply := l_tot_amount_to_apply +
276: lp_xcav_tbl(i).amount_applied;
277:
278: IF (lp_xcav_tbl(i).amount_applied > l_outstanding_amt ) THEN
279: OKL_API.set_message( p_app_name => G_APP_NAME,
280: p_msg_name => G_MSG_BPD_INV_APPL_AMT,
281: p_token1 => 'RCT',
282: p_token1_value => l_receipt_number,
283: p_token2 => 'INV',
288: END LOOP; -- end of for loop
289:
290: -- If there is no amount to apply
291: IF ( l_tot_amount_to_apply = 0) THEN
292: OKL_API.set_message( p_app_name => G_APP_NAME,
293: p_msg_name => G_MSG_BPD_NO_AMT_TO_APPLY,
294: p_token1 => 'RCT',
295: p_token1_value => l_receipt_number
296: );
293: p_msg_name => G_MSG_BPD_NO_AMT_TO_APPLY,
294: p_token1 => 'RCT',
295: p_token1_value => l_receipt_number
296: );
297: RAISE OKL_API.G_EXCEPTION_ERROR;
298: END IF;
299:
300: -- If there are records with applied amount exceeding the outstanding amount
301: IF (l_apply_amt_error_flag) THEN
298: END IF;
299:
300: -- If there are records with applied amount exceeding the outstanding amount
301: IF (l_apply_amt_error_flag) THEN
302: RAISE OKL_API.G_EXCEPTION_ERROR;
303: END IF;
304:
305: -- If the total amount to be applied is greater then the sum of on-account amount
306: -- and unapplied amount then throw an error.
304:
305: -- If the total amount to be applied is greater then the sum of on-account amount
306: -- and unapplied amount then throw an error.
307: if(l_tot_amount_to_apply > (l_init_on_acc_amount + l_unapplied_amount)) THEN
308: OKL_API.set_message( p_app_name => G_APP_NAME,
309: p_msg_name => G_MSG_BPD_APP_NEG_UNAPP
310: );
311: RAISE OKL_API.G_EXCEPTION_ERROR;
312: END IF;
307: if(l_tot_amount_to_apply > (l_init_on_acc_amount + l_unapplied_amount)) THEN
308: OKL_API.set_message( p_app_name => G_APP_NAME,
309: p_msg_name => G_MSG_BPD_APP_NEG_UNAPP
310: );
311: RAISE OKL_API.G_EXCEPTION_ERROR;
312: END IF;
313:
314: i := lp_xcav_tbl.FIRST;
315: LOOP
337: );
338:
339: IF l_conversion_rate IN (0,-1) THEN
340: -- Message Text: No exchange rate defined
341: x_return_status := OKL_API.G_RET_STS_ERROR;
342: OKL_API.set_message( p_app_name => G_APP_NAME,
343: p_msg_name => 'OKL_BPD_NO_EXCHANGE_RATE');
344: RAISE OKL_API.G_EXCEPTION_ERROR;
345: END IF;
338:
339: IF l_conversion_rate IN (0,-1) THEN
340: -- Message Text: No exchange rate defined
341: x_return_status := OKL_API.G_RET_STS_ERROR;
342: OKL_API.set_message( p_app_name => G_APP_NAME,
343: p_msg_name => 'OKL_BPD_NO_EXCHANGE_RATE');
344: RAISE OKL_API.G_EXCEPTION_ERROR;
345: END IF;
346:
340: -- Message Text: No exchange rate defined
341: x_return_status := OKL_API.G_RET_STS_ERROR;
342: OKL_API.set_message( p_app_name => G_APP_NAME,
343: p_msg_name => 'OKL_BPD_NO_EXCHANGE_RATE');
344: RAISE OKL_API.G_EXCEPTION_ERROR;
345: END IF;
346:
347: l_applied_amount_from := lp_xcav_tbl(i).amount_applied/l_conversion_rate;
348:
362: FETCH c_get_gl_date INTO l_gl_date, l_counter;
363:
364: IF c_get_gl_date%NOTFOUND THEN
365: CLOSE c_get_gl_date;
366: OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME,
367: p_msg_name => 'OKL_BPD_GL_PERIOD_ERROR',
368: p_token1 => 'TRX_DATE',
369: p_token1_value => TRUNC(lp_xcav_tbl(i).trx_date));
370:
367: p_msg_name => 'OKL_BPD_GL_PERIOD_ERROR',
368: p_token1 => 'TRX_DATE',
369: p_token1_value => TRUNC(lp_xcav_tbl(i).trx_date));
370:
371: l_return_status := OKL_API.G_RET_STS_ERROR;
372: RAISE OKL_API.G_EXCEPTION_ERROR;
373: END IF;
374: CLOSE c_get_gl_date;
375:
368: p_token1 => 'TRX_DATE',
369: p_token1_value => TRUNC(lp_xcav_tbl(i).trx_date));
370:
371: l_return_status := OKL_API.G_RET_STS_ERROR;
372: RAISE OKL_API.G_EXCEPTION_ERROR;
373: END IF;
374: CLOSE c_get_gl_date;
375:
376: lp_xcav_tbl(i).xcr_id_details := l_xcr_id;
387: ,x_xcav_rec => lx_xcav_rec
388: );
389:
390: x_return_status := l_return_status;
391: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
392: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
393: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
394: RAISE OKL_API.G_EXCEPTION_ERROR;
395: END IF;
388: );
389:
390: x_return_status := l_return_status;
391: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
392: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
393: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
394: RAISE OKL_API.G_EXCEPTION_ERROR;
395: END IF;
396:
389:
390: x_return_status := l_return_status;
391: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
392: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
393: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
394: RAISE OKL_API.G_EXCEPTION_ERROR;
395: END IF;
396:
397: --------------------------------------------------------
390: x_return_status := l_return_status;
391: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
392: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
393: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
394: RAISE OKL_API.G_EXCEPTION_ERROR;
395: END IF;
396:
397: --------------------------------------------------------
398: -- AR processing begin
421: );
422:
423: x_return_status := l_return_status;
424:
425: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
426: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
427: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
428: RAISE OKL_API.G_EXCEPTION_ERROR;
429: END IF;
422:
423: x_return_status := l_return_status;
424:
425: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
426: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
427: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
428: RAISE OKL_API.G_EXCEPTION_ERROR;
429: END IF;
430: END IF;
423: x_return_status := l_return_status;
424:
425: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
426: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
427: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
428: RAISE OKL_API.G_EXCEPTION_ERROR;
429: END IF;
430: END IF;
431: l_unapply := 'Y';
424:
425: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
426: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
427: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
428: RAISE OKL_API.G_EXCEPTION_ERROR;
429: END IF;
430: END IF;
431: l_unapply := 'Y';
432: END IF; -- end of check for unApply flag
449: );
450:
451: x_return_status := l_return_status;
452:
453: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
454: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
455: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
456: RAISE OKL_API.G_EXCEPTION_ERROR;
457: END IF;
450:
451: x_return_status := l_return_status;
452:
453: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
454: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
455: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
456: RAISE OKL_API.G_EXCEPTION_ERROR;
457: END IF;
458:
451: x_return_status := l_return_status;
452:
453: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
454: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
455: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
456: RAISE OKL_API.G_EXCEPTION_ERROR;
457: END IF;
458:
459: l_applied_amount := l_applied_amount + l_prev_applied_amt;
452:
453: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
454: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
455: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
456: RAISE OKL_API.G_EXCEPTION_ERROR;
457: END IF;
458:
459: l_applied_amount := l_applied_amount + l_prev_applied_amt;
460:
474: );
475:
476: x_return_status := l_return_status;
477:
478: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
479: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
480: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
481: RAISE OKL_API.G_EXCEPTION_ERROR;
482: END IF;
475:
476: x_return_status := l_return_status;
477:
478: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
479: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
480: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
481: RAISE OKL_API.G_EXCEPTION_ERROR;
482: END IF;
483:
476: x_return_status := l_return_status;
477:
478: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
479: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
480: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
481: RAISE OKL_API.G_EXCEPTION_ERROR;
482: END IF;
483:
484: -- Add up the applied amounts for calculating the unused part
477:
478: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
479: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
480: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
481: RAISE OKL_API.G_EXCEPTION_ERROR;
482: END IF;
483:
484: -- Add up the applied amounts for calculating the unused part
485: -- of On-Account amount at the end of the process.
505: FETCH c_get_gl_date INTO l_gl_date, l_counter;
506:
507: IF c_get_gl_date%NOTFOUND THEN
508: CLOSE c_get_gl_date;
509: OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME,
510: p_msg_name => 'OKL_BPD_GL_PERIOD_ERROR',
511: p_token1 => 'TRX_DATE',
512: p_token1_value => TRUNC(lp_xcav_tbl(i).trx_date));
513:
510: p_msg_name => 'OKL_BPD_GL_PERIOD_ERROR',
511: p_token1 => 'TRX_DATE',
512: p_token1_value => TRUNC(lp_xcav_tbl(i).trx_date));
513:
514: l_return_status := OKL_API.G_RET_STS_ERROR;
515: RAISE OKL_API.G_EXCEPTION_ERROR;
516: END IF;
517: CLOSE c_get_gl_date;
518:
511: p_token1 => 'TRX_DATE',
512: p_token1_value => TRUNC(lp_xcav_tbl(i).trx_date));
513:
514: l_return_status := OKL_API.G_RET_STS_ERROR;
515: RAISE OKL_API.G_EXCEPTION_ERROR;
516: END IF;
517: CLOSE c_get_gl_date;
518:
519: AR_RECEIPT_API_PUB.Apply_on_account( p_api_version => l_api_version
528: );
529:
530: x_return_status := l_return_status;
531:
532: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
533: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
534: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
535: RAISE OKL_API.G_EXCEPTION_ERROR;
536: END IF;
529:
530: x_return_status := l_return_status;
531:
532: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
533: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
534: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
535: RAISE OKL_API.G_EXCEPTION_ERROR;
536: END IF;
537:
530: x_return_status := l_return_status;
531:
532: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
533: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
534: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
535: RAISE OKL_API.G_EXCEPTION_ERROR;
536: END IF;
537:
538: END IF; -- end of check for unused On-Acc amount
531:
532: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
533: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
534: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
535: RAISE OKL_API.G_EXCEPTION_ERROR;
536: END IF;
537:
538: END IF; -- end of check for unused On-Acc amount
539:
556: ,x_xcrv_rec => lx_xcrv_rec
557: );
558:
559: x_return_status := l_return_status;
560: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
561: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
562: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
563: RAISE OKL_API.G_EXCEPTION_ERROR;
564: END IF;
557: );
558:
559: x_return_status := l_return_status;
560: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
561: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
562: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
563: RAISE OKL_API.G_EXCEPTION_ERROR;
564: END IF;
565: END IF; -- end of check for Advance receipt
558:
559: x_return_status := l_return_status;
560: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
561: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
562: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
563: RAISE OKL_API.G_EXCEPTION_ERROR;
564: END IF;
565: END IF; -- end of check for Advance receipt
566:
559: x_return_status := l_return_status;
560: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
561: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
562: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
563: RAISE OKL_API.G_EXCEPTION_ERROR;
564: END IF;
565: END IF; -- end of check for Advance receipt
566:
567: -- commit the savepoint
564: END IF;
565: END IF; -- end of check for Advance receipt
566:
567: -- commit the savepoint
568: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
569:
570: IF(NVL(l_debug_enabled,'N')='Y') THEN
571: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'end debug OKLRMRHB.pls call MAN_RECEIPT_APPLY');
572: END IF;
571: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'end debug OKLRMRHB.pls call MAN_RECEIPT_APPLY');
572: END IF;
573:
574: EXCEPTION
575: WHEN OKL_API.G_EXCEPTION_ERROR THEN
576: x_return_status := OKL_API.HANDLE_EXCEPTIONS
577: (
578: l_api_name,
579: G_PKG_NAME,
572: END IF;
573:
574: EXCEPTION
575: WHEN OKL_API.G_EXCEPTION_ERROR THEN
576: x_return_status := OKL_API.HANDLE_EXCEPTIONS
577: (
578: l_api_name,
579: G_PKG_NAME,
580: 'OKL_API.G_RET_STS_ERROR',
576: x_return_status := OKL_API.HANDLE_EXCEPTIONS
577: (
578: l_api_name,
579: G_PKG_NAME,
580: 'OKL_API.G_RET_STS_ERROR',
581: x_msg_count,
582: x_msg_data,
583: '_PVT'
584: );
583: '_PVT'
584: );
585:
586: WHEN OTHERS THEN
587: x_return_status := OKL_API.HANDLE_EXCEPTIONS
588: (
589: l_api_name,
590: G_PKG_NAME,
591: 'OTHERS',
592: x_msg_count,
593: x_msg_data,
594: '_PVT'
595: );
596: Okl_api.set_message( p_app_name => g_app_name
597: , p_msg_name => g_unexpected_error
598: , p_token1 => g_sqlcode_token
599: , p_token1_value => SQLCODE
600: , p_token2 => g_sqlerrm_token
623: -- Version : 1.0
624: -- End of Comments
625: -----------------------------------------------------------------------------
626: PROCEDURE man_receipt_unapply ( p_api_version IN NUMBER
627: ,p_init_msg_list IN VARCHAR2 DEFAULT OkL_Api.G_FALSE
628: ,x_return_status OUT NOCOPY VARCHAR2
629: ,x_msg_count OUT NOCOPY NUMBER
630: ,x_msg_data OUT NOCOPY VARCHAR2
631: ,p_xcav_tbl IN xcav_tbl_type
637: -- DECLARE Local Variables
638: ---------------------------
639:
640: l_api_version NUMBER := 1.0;
641: l_init_msg_list VARCHAR2(1) := OKL_API.G_FALSE;
642: l_return_status VARCHAR2(1);
643: l_msg_count NUMBER;
644: l_msg_data VARCHAR2(2000);
645: l_api_name CONSTANT VARCHAR2(30) := 'man_receipt_unapply';
724: AND CASH_RECEIPT_ID = cp_csh_rcpt_id;
725: -------------------------------------------------------------------------------
726:
727: BEGIN
728: x_return_status := OKL_API.G_RET_STS_SUCCESS;
729:
730: IF(NVL(l_debug_enabled,'N')='Y') THEN
731: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'begin debug OKLRMRHB.pls call MAN_RECEIPT_UNAPPLY');
732: END IF;
731: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'begin debug OKLRMRHB.pls call MAN_RECEIPT_UNAPPLY');
732: END IF;
733:
734: -- call START_ACTIVITY to create savepoint, check compatibility and initialize message list
735: x_return_status := OKL_API.START_ACTIVITY(
736: p_api_name => l_api_name
737: , p_pkg_name => G_PKG_NAME
738: , p_init_msg_list => p_init_msg_list
739: , l_api_version => l_api_version
740: , p_api_version => p_api_version
741: , p_api_type => G_API_TYPE
742: , x_return_status => x_return_status);
743: -- check if activity started successfully
744: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
747: RAISE OKL_API.G_EXCEPTION_ERROR;
748: END IF;
741: , p_api_type => G_API_TYPE
742: , x_return_status => x_return_status);
743: -- check if activity started successfully
744: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
747: RAISE OKL_API.G_EXCEPTION_ERROR;
748: END IF;
749:
742: , x_return_status => x_return_status);
743: -- check if activity started successfully
744: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
747: RAISE OKL_API.G_EXCEPTION_ERROR;
748: END IF;
749:
750: lp_xcav_tbl := p_xcav_tbl;
743: -- check if activity started successfully
744: IF(x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
745: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
746: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
747: RAISE OKL_API.G_EXCEPTION_ERROR;
748: END IF;
749:
750: lp_xcav_tbl := p_xcav_tbl;
751:
785: );
786:
787: IF l_conversion_rate IN (0,-1) THEN
788: -- Message Text: No exchange rate defined
789: x_return_status := OKL_API.G_RET_STS_ERROR;
790: OKL_API.set_message( p_app_name => G_APP_NAME,
791: p_msg_name => 'OKL_BPD_NO_EXCHANGE_RATE');
792: RAISE OKL_API.G_EXCEPTION_ERROR;
793: END IF;
786:
787: IF l_conversion_rate IN (0,-1) THEN
788: -- Message Text: No exchange rate defined
789: x_return_status := OKL_API.G_RET_STS_ERROR;
790: OKL_API.set_message( p_app_name => G_APP_NAME,
791: p_msg_name => 'OKL_BPD_NO_EXCHANGE_RATE');
792: RAISE OKL_API.G_EXCEPTION_ERROR;
793: END IF;
794:
788: -- Message Text: No exchange rate defined
789: x_return_status := OKL_API.G_RET_STS_ERROR;
790: OKL_API.set_message( p_app_name => G_APP_NAME,
791: p_msg_name => 'OKL_BPD_NO_EXCHANGE_RATE');
792: RAISE OKL_API.G_EXCEPTION_ERROR;
793: END IF;
794:
795: l_applied_amount_from := lp_xcav_tbl(i).amount_applied/l_conversion_rate;
796:
811: ,x_xcav_rec => lx_xcav_rec
812: );
813:
814: x_return_status := l_return_status;
815: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
817: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
818: RAISE OKL_API.G_EXCEPTION_ERROR;
819: END IF;
812: );
813:
814: x_return_status := l_return_status;
815: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
817: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
818: RAISE OKL_API.G_EXCEPTION_ERROR;
819: END IF;
820:
813:
814: x_return_status := l_return_status;
815: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
817: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
818: RAISE OKL_API.G_EXCEPTION_ERROR;
819: END IF;
820:
821: --------------------------------------------------------
814: x_return_status := l_return_status;
815: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
816: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
817: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
818: RAISE OKL_API.G_EXCEPTION_ERROR;
819: END IF;
820:
821: --------------------------------------------------------
822: -- AR processing begin
837: ,p_reversal_gl_date => null
838: );
839:
840: x_return_status := l_return_status;
841: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
842: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
843: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
844: RAISE OKL_API.G_EXCEPTION_ERROR;
845: END IF;
838: );
839:
840: x_return_status := l_return_status;
841: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
842: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
843: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
844: RAISE OKL_API.G_EXCEPTION_ERROR;
845: END IF;
846:
839:
840: x_return_status := l_return_status;
841: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
842: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
843: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
844: RAISE OKL_API.G_EXCEPTION_ERROR;
845: END IF;
846:
847: EXIT WHEN (i = lp_xcav_tbl.LAST);
840: x_return_status := l_return_status;
841: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
842: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
843: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
844: RAISE OKL_API.G_EXCEPTION_ERROR;
845: END IF;
846:
847: EXIT WHEN (i = lp_xcav_tbl.LAST);
848: i := i + 1;
870: ,x_xcrv_rec => lx_xcrv_rec
871: );
872:
873: x_return_status := l_return_status;
874: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
875: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
876: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
877: RAISE OKL_API.G_EXCEPTION_ERROR;
878: END IF;
871: );
872:
873: x_return_status := l_return_status;
874: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
875: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
876: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
877: RAISE OKL_API.G_EXCEPTION_ERROR;
878: END IF;
879: END IF; -- end of check for Advance receipt
872:
873: x_return_status := l_return_status;
874: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
875: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
876: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
877: RAISE OKL_API.G_EXCEPTION_ERROR;
878: END IF;
879: END IF; -- end of check for Advance receipt
880:
873: x_return_status := l_return_status;
874: IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
875: RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
876: ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
877: RAISE OKL_API.G_EXCEPTION_ERROR;
878: END IF;
879: END IF; -- end of check for Advance receipt
880:
881: -- commit the savepoint
878: END IF;
879: END IF; -- end of check for Advance receipt
880:
881: -- commit the savepoint
882: OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
883:
884: IF(NVL(l_debug_enabled,'N')='Y') THEN
885: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'end debug OKLRMRHB.pls call MAN_RECEIPT_UNAPPLY');
886: END IF;
885: okl_debug_pub.log_debug(FND_LOG.LEVEL_PROCEDURE,l_module,'end debug OKLRMRHB.pls call MAN_RECEIPT_UNAPPLY');
886: END IF;
887:
888: EXCEPTION
889: WHEN OKL_API.G_EXCEPTION_ERROR THEN
890: x_return_status := OKL_API.HANDLE_EXCEPTIONS
891: (
892: l_api_name,
893: G_PKG_NAME,
886: END IF;
887:
888: EXCEPTION
889: WHEN OKL_API.G_EXCEPTION_ERROR THEN
890: x_return_status := OKL_API.HANDLE_EXCEPTIONS
891: (
892: l_api_name,
893: G_PKG_NAME,
894: 'OKL_API.G_RET_STS_ERROR',
890: x_return_status := OKL_API.HANDLE_EXCEPTIONS
891: (
892: l_api_name,
893: G_PKG_NAME,
894: 'OKL_API.G_RET_STS_ERROR',
895: x_msg_count,
896: x_msg_data,
897: '_PVT'
898: );
897: '_PVT'
898: );
899:
900: WHEN OTHERS THEN
901: x_return_status := OKL_API.HANDLE_EXCEPTIONS
902: (
903: l_api_name,
904: G_PKG_NAME,
905: 'OTHERS',
906: x_msg_count,
907: x_msg_data,
908: '_PVT'
909: );
910: Okl_api.set_message( p_app_name => g_app_name
911: , p_msg_name => g_unexpected_error
912: , p_token1 => g_sqlcode_token
913: , p_token1_value => SQLCODE
914: , p_token2 => g_sqlerrm_token