381: ---------------------------------------------------------------------*/
382: FUNCTION populate_base_xrate_table RETURN BOOLEAN IS
383: CURSOR from_curr(orig_curr VARCHAR2) IS
384: SELECT currency_code
385: FROM fnd_currencies
386: WHERE enabled_flag = 'Y'
387: AND currency_code <> CE_CASH_FCST.G_rp_forecast_currency
388: AND currency_code <> 'STAT'
389: AND CE_CASH_FCST.G_rp_exchange_date BETWEEN
391: NVL(end_date_active,CE_CASH_FCST.G_rp_exchange_date);
392:
393: CURSOR bad_curr IS
394: SELECT currency_code
395: FROM fnd_currencies
396: WHERE enabled_flag = 'Y'
397: AND currency_code <> CE_CASH_FCST.G_rp_forecast_currency
398: AND currency_code <> 'STAT'
399: AND ( CE_CASH_FCST.G_rp_exchange_date <
412: AND org.currency_code <> CE_CASH_FCST.G_rp_forecast_currency
413: AND r.trx_type = 'OEO'
414: AND org.org_id = NVL(r.org_id, org.org_id);
415:
416: curr FND_CURRENCIES.currency_code%TYPE;
417: to_curr FND_CURRENCIES.currency_code%TYPE;
418: error_msg FND_NEW_MESSAGES.message_text%TYPE;
419: xrate NUMBER;
420: all_exist_flag BOOLEAN := TRUE;
413: AND r.trx_type = 'OEO'
414: AND org.org_id = NVL(r.org_id, org.org_id);
415:
416: curr FND_CURRENCIES.currency_code%TYPE;
417: to_curr FND_CURRENCIES.currency_code%TYPE;
418: error_msg FND_NEW_MESSAGES.message_text%TYPE;
419: xrate NUMBER;
420: all_exist_flag BOOLEAN := TRUE;
421: BEGIN
518: ---------------------------------------------------------------------*/
519: FUNCTION populate_xrate_table RETURN BOOLEAN IS
520: CURSOR C IS
521: SELECT currency_code
522: FROM fnd_currencies
523: WHERE enabled_flag = 'Y'
524: AND currency_code <> CE_CASH_FCST.G_rp_forecast_currency
525: AND currency_code <> 'STAT'
526: AND CE_CASH_FCST.G_rp_exchange_date BETWEEN
528: and NVL(end_date_active,CE_CASH_FCST.G_rp_exchange_date);
529:
530: CURSOR bad_curr IS
531: SELECT currency_code
532: FROM fnd_currencies
533: WHERE enabled_flag = 'Y'
534: AND currency_code <> CE_CASH_FCST.G_rp_forecast_currency
535: AND currency_code <> 'STAT'
536: AND ( CE_CASH_FCST.G_rp_exchange_date <
537: NVL(start_date_active,CE_CASH_FCST.G_rp_exchange_date) OR
538: CE_CASH_FCST.G_rp_exchange_date >
539: NVL(end_date_active,CE_CASH_FCST.G_rp_exchange_date));
540:
541: curr FND_CURRENCIES.currency_code%TYPE;
542: from_curr FND_CURRENCIES.currency_code%TYPE;
543: to_curr FND_CURRENCIES.currency_code%TYPE;
544: euro_curr FND_CURRENCIES.currency_code%TYPE;
545: error_msg FND_NEW_MESSAGES.message_text%TYPE;
538: CE_CASH_FCST.G_rp_exchange_date >
539: NVL(end_date_active,CE_CASH_FCST.G_rp_exchange_date));
540:
541: curr FND_CURRENCIES.currency_code%TYPE;
542: from_curr FND_CURRENCIES.currency_code%TYPE;
543: to_curr FND_CURRENCIES.currency_code%TYPE;
544: euro_curr FND_CURRENCIES.currency_code%TYPE;
545: error_msg FND_NEW_MESSAGES.message_text%TYPE;
546: xrate NUMBER;
539: NVL(end_date_active,CE_CASH_FCST.G_rp_exchange_date));
540:
541: curr FND_CURRENCIES.currency_code%TYPE;
542: from_curr FND_CURRENCIES.currency_code%TYPE;
543: to_curr FND_CURRENCIES.currency_code%TYPE;
544: euro_curr FND_CURRENCIES.currency_code%TYPE;
545: error_msg FND_NEW_MESSAGES.message_text%TYPE;
546: xrate NUMBER;
547: skip_err_log BOOLEAN;
540:
541: curr FND_CURRENCIES.currency_code%TYPE;
542: from_curr FND_CURRENCIES.currency_code%TYPE;
543: to_curr FND_CURRENCIES.currency_code%TYPE;
544: euro_curr FND_CURRENCIES.currency_code%TYPE;
545: error_msg FND_NEW_MESSAGES.message_text%TYPE;
546: xrate NUMBER;
547: skip_err_log BOOLEAN;
548: all_exist_flag BOOLEAN := TRUE;
566: G_rp_src_curr_type <> 'E')THEN
567:
568: SELECT DECODE(COUNT(*),0,'N','Y')
569: INTO fcast_curr_is_emu
570: FROM FND_CURRENCIES
571: WHERE currency_code = CE_CASH_FCST.G_rp_forecast_currency AND
572: derive_type = 'EMU';
573:
574: SELECT DECODE(COUNT(*),0,'N','Y')
572: derive_type = 'EMU';
573:
574: SELECT DECODE(COUNT(*),0,'N','Y')
575: INTO src_curr_is_emu
576: FROM FND_CURRENCIES
577: WHERE currency_code = CE_CASH_FCST.G_rp_src_currency AND
578: derive_type = 'EMU';
579:
580: IF ( (fcast_curr_is_emu = 'Y' OR src_curr_is_emu = 'Y') OR
581: G_rp_src_curr_type = 'A' ) THEN
582: BEGIN
583: SELECT currency_code
584: INTO euro_curr
585: FROM fnd_currencies
586: WHERE derive_type = 'EURO';
587: EXCEPTION
588: WHEN NO_DATA_FOUND THEN
589: FND_MESSAGE.set_name ('CE','CE_FC_EURO_NOT_DEFINED');
599: FETCH C INTO from_curr;
600:
601: SELECT DECODE(COUNT(*),0,'N','Y')
602: INTO from_curr_is_emu
603: FROM FND_CURRENCIES
604: WHERE currency_code = from_curr AND
605: derive_type IN ('EMU','EURO');
606:
607: EXIT WHEN (C%NOTFOUND OR C%NOTFOUND IS NULL);
636: -1, 'OTHER',
637: 'EMU'),
638: 'OTHER' )
639: INTO l_currency_type
640: FROM FND_CURRENCIES
641: WHERE currency_code = to_curr;
642: IF (l_currency_type = 'EMU') THEN
643: to_curr := euro_curr;
644: END IF;
650: -1, 'OTHER',
651: 'EMU'),
652: 'OTHER' )
653: INTO l_currency_type
654: FROM FND_CURRENCIES
655: WHERE currency_code = from_curr;
656: IF (l_currency_type = 'EMU') THEN
657: from_curr := euro_curr;
658: END IF;