343:
344:
345: BEGIN
346: --call the debug package
347: IF xtr_risk_debug_pkg.g_Debug THEN
348: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
349: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_curve_code',p_in_rec.p_curve_code);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
344:
345: BEGIN
346: --call the debug package
347: IF xtr_risk_debug_pkg.g_Debug THEN
348: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
349: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_curve_code',p_in_rec.p_curve_code);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
345: BEGIN
346: --call the debug package
347: IF xtr_risk_debug_pkg.g_Debug THEN
348: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
349: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_curve_code',p_in_rec.p_curve_code);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
346: --call the debug package
347: IF xtr_risk_debug_pkg.g_Debug THEN
348: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
349: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_curve_code',p_in_rec.p_curve_code);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
347: IF xtr_risk_debug_pkg.g_Debug THEN
348: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
349: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_curve_code',p_in_rec.p_curve_code);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
355: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
348: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
349: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_curve_code',p_in_rec.p_curve_code);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
355: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
356: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_side',p_in_rec.p_side);
349: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_curve_code',p_in_rec.p_curve_code);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
355: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
356: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_side',p_in_rec.p_side);
357: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_batch_id',p_in_rec.p_batch_id);
350: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_source',p_in_rec.p_source);
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
355: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
356: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_side',p_in_rec.p_side);
357: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_batch_id',p_in_rec.p_batch_id);
358: END IF;
351: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_indicator',p_in_rec.p_indicator);
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
355: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
356: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_side',p_in_rec.p_side);
357: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_batch_id',p_in_rec.p_batch_id);
358: END IF;
359:
352: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_spot_date',p_in_rec.p_spot_date);
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
355: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
356: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_side',p_in_rec.p_side);
357: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_batch_id',p_in_rec.p_batch_id);
358: END IF;
359:
360: --check whether spot date and future date are valid
353: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date',p_in_rec.p_future_date);
354: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
355: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
356: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_side',p_in_rec.p_side);
357: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_batch_id',p_in_rec.p_batch_id);
358: END IF;
359:
360: --check whether spot date and future date are valid
361: IF (p_in_rec.p_future_date < p_in_rec.p_spot_date) THEN
358: END IF;
359:
360: --check whether spot date and future date are valid
361: IF (p_in_rec.p_future_date < p_in_rec.p_spot_date) THEN
362: IF xtr_risk_debug_pkg.g_Debug THEN
363: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date cannot be earlier than p_spot_date.');
364: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
365: END IF;
366: RAISE_APPLICATION_ERROR
359:
360: --check whether spot date and future date are valid
361: IF (p_in_rec.p_future_date < p_in_rec.p_spot_date) THEN
362: IF xtr_risk_debug_pkg.g_Debug THEN
363: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date cannot be earlier than p_spot_date.');
364: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
365: END IF;
366: RAISE_APPLICATION_ERROR
367: (-20001,'p_future_date cannot be earlier than p_spot_date.');
360: --check whether spot date and future date are valid
361: IF (p_in_rec.p_future_date < p_in_rec.p_spot_date) THEN
362: IF xtr_risk_debug_pkg.g_Debug THEN
363: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_future_date cannot be earlier than p_spot_date.');
364: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
365: END IF;
366: RAISE_APPLICATION_ERROR
367: (-20001,'p_future_date cannot be earlier than p_spot_date.');
368: END IF;
504:
505: END IF;
506: /*
507: --print fetched results for debugging
508: IF xtr_risk_debug_pkg.g_Debug THEN
509: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_future_date', v_future_date);
510: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_count',v_count);
511: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_X',v_X(v_count));
512: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_Y',v_Y(v_count));
505: END IF;
506: /*
507: --print fetched results for debugging
508: IF xtr_risk_debug_pkg.g_Debug THEN
509: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_future_date', v_future_date);
510: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_count',v_count);
511: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_X',v_X(v_count));
512: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_Y',v_Y(v_count));
513: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->term_type',temprec.term_type);
506: /*
507: --print fetched results for debugging
508: IF xtr_risk_debug_pkg.g_Debug THEN
509: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_future_date', v_future_date);
510: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_count',v_count);
511: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_X',v_X(v_count));
512: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_Y',v_Y(v_count));
513: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->term_type',temprec.term_type);
514: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->rate_code',temprec.unique_period_id);
507: --print fetched results for debugging
508: IF xtr_risk_debug_pkg.g_Debug THEN
509: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_future_date', v_future_date);
510: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_count',v_count);
511: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_X',v_X(v_count));
512: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_Y',v_Y(v_count));
513: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->term_type',temprec.term_type);
514: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->rate_code',temprec.unique_period_id);
515: END IF;
508: IF xtr_risk_debug_pkg.g_Debug THEN
509: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_future_date', v_future_date);
510: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_count',v_count);
511: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_X',v_X(v_count));
512: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_Y',v_Y(v_count));
513: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->term_type',temprec.term_type);
514: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->rate_code',temprec.unique_period_id);
515: END IF;
516: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
509: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_future_date', v_future_date);
510: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_count',v_count);
511: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_X',v_X(v_count));
512: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_Y',v_Y(v_count));
513: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->term_type',temprec.term_type);
514: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->rate_code',temprec.unique_period_id);
515: END IF;
516: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
517: IF xtr_risk_debug_pkg.g_Debug THEN
510: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_count',v_count);
511: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_X',v_X(v_count));
512: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_Y',v_Y(v_count));
513: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->term_type',temprec.term_type);
514: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->rate_code',temprec.unique_period_id);
515: END IF;
516: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
517: IF xtr_risk_debug_pkg.g_Debug THEN
518: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_YO',v_YO(v_count));
513: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->term_type',temprec.term_type);
514: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->rate_code',temprec.unique_period_id);
515: END IF;
516: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
517: IF xtr_risk_debug_pkg.g_Debug THEN
518: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_YO',v_YO(v_count));
519: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->day_count_basis',v_dcb(v_count));
520: END IF;
521: END IF;
514: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->rate_code',temprec.unique_period_id);
515: END IF;
516: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
517: IF xtr_risk_debug_pkg.g_Debug THEN
518: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_YO',v_YO(v_count));
519: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->day_count_basis',v_dcb(v_count));
520: END IF;
521: END IF;
522: */
515: END IF;
516: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
517: IF xtr_risk_debug_pkg.g_Debug THEN
518: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->v_YO',v_YO(v_count));
519: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'C->day_count_basis',v_dcb(v_count));
520: END IF;
521: END IF;
522: */
523: --check if the rate that we're looking for is available without int.
653: END IF;
654: /*
655: --print result for debugging
656: --print fetched results for debugging
657: IF xtr_risk_debug_pkg.g_Debug THEN
658: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_future_date', v_future_date);
659: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_count',v_count);
660: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_X',v_X(v_count));
661: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_Y',v_Y(v_count));
654: /*
655: --print result for debugging
656: --print fetched results for debugging
657: IF xtr_risk_debug_pkg.g_Debug THEN
658: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_future_date', v_future_date);
659: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_count',v_count);
660: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_X',v_X(v_count));
661: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_Y',v_Y(v_count));
662: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->term_type',temprec.term_type);
655: --print result for debugging
656: --print fetched results for debugging
657: IF xtr_risk_debug_pkg.g_Debug THEN
658: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_future_date', v_future_date);
659: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_count',v_count);
660: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_X',v_X(v_count));
661: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_Y',v_Y(v_count));
662: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->term_type',temprec.term_type);
663: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->rate_code',temprec.unique_period_id);
656: --print fetched results for debugging
657: IF xtr_risk_debug_pkg.g_Debug THEN
658: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_future_date', v_future_date);
659: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_count',v_count);
660: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_X',v_X(v_count));
661: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_Y',v_Y(v_count));
662: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->term_type',temprec.term_type);
663: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->rate_code',temprec.unique_period_id);
664: END IF;
657: IF xtr_risk_debug_pkg.g_Debug THEN
658: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_future_date', v_future_date);
659: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_count',v_count);
660: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_X',v_X(v_count));
661: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_Y',v_Y(v_count));
662: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->term_type',temprec.term_type);
663: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->rate_code',temprec.unique_period_id);
664: END IF;
665: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
658: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_future_date', v_future_date);
659: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_count',v_count);
660: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_X',v_X(v_count));
661: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_Y',v_Y(v_count));
662: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->term_type',temprec.term_type);
663: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->rate_code',temprec.unique_period_id);
664: END IF;
665: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
666: -- xtr_risk_debug_pkg.dlog('R->v_YO',v_YO(v_count));
659: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_count',v_count);
660: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_X',v_X(v_count));
661: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->v_Y',v_Y(v_count));
662: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->term_type',temprec.term_type);
663: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->rate_code',temprec.unique_period_id);
664: END IF;
665: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
666: -- xtr_risk_debug_pkg.dlog('R->v_YO',v_YO(v_count));
667: IF xtr_risk_debug_pkg.g_Debug THEN
662: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->term_type',temprec.term_type);
663: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->rate_code',temprec.unique_period_id);
664: END IF;
665: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
666: -- xtr_risk_debug_pkg.dlog('R->v_YO',v_YO(v_count));
667: IF xtr_risk_debug_pkg.g_Debug THEN
668: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->day_count_basis',v_dcb(v_count));
669: END IF;
670: END IF;
663: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->rate_code',temprec.unique_period_id);
664: END IF;
665: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
666: -- xtr_risk_debug_pkg.dlog('R->v_YO',v_YO(v_count));
667: IF xtr_risk_debug_pkg.g_Debug THEN
668: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->day_count_basis',v_dcb(v_count));
669: END IF;
670: END IF;
671: */
664: END IF;
665: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
666: -- xtr_risk_debug_pkg.dlog('R->v_YO',v_YO(v_count));
667: IF xtr_risk_debug_pkg.g_Debug THEN
668: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'R->day_count_basis',v_dcb(v_count));
669: END IF;
670: END IF;
671: */
672: --check if the rate that we're looking for is available without int.
694: END IF;
695: END LOOP;
696:
697: ELSE
698: IF xtr_risk_debug_pkg.g_Debug THEN
699: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'The p_source values can only be ''C'' or ''R''.');
700: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
701: END IF;
702: RAISE_APPLICATION_ERROR
695: END LOOP;
696:
697: ELSE
698: IF xtr_risk_debug_pkg.g_Debug THEN
699: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'The p_source values can only be ''C'' or ''R''.');
700: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
701: END IF;
702: RAISE_APPLICATION_ERROR
703: (-20001,'The p_source values can only be ''C'' or ''R''.');
696:
697: ELSE
698: IF xtr_risk_debug_pkg.g_Debug THEN
699: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'The p_source values can only be ''C'' or ''R''.');
700: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
701: END IF;
702: RAISE_APPLICATION_ERROR
703: (-20001,'The p_source values can only be ''C'' or ''R''.');
704: END IF;
704: END IF;
705:
706: --if no data retrieved from the table raise exception
707: IF (v_count = 0 and NOT v_found) THEN
708: IF xtr_risk_debug_pkg.g_Debug THEN
709: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_count = 0 and v_found = false');
710: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
711: END IF;
712: RAISE e_mdcs_no_data_found;
705:
706: --if no data retrieved from the table raise exception
707: IF (v_count = 0 and NOT v_found) THEN
708: IF xtr_risk_debug_pkg.g_Debug THEN
709: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_count = 0 and v_found = false');
710: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
711: END IF;
712: RAISE e_mdcs_no_data_found;
713: END IF;
706: --if no data retrieved from the table raise exception
707: IF (v_count = 0 and NOT v_found) THEN
708: IF xtr_risk_debug_pkg.g_Debug THEN
709: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_count = 0 and v_found = false');
710: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
711: END IF;
712: RAISE e_mdcs_no_data_found;
713: END IF;
714: --if v_xval is outside the range, only linear int. is needed
950: linear_interpolation(v_xval,v_X(v_lo),v_X(v_hi),v_Y(v_lo),v_Y(v_hi),
951: null, v_dummy);
952: END IF;
953: END IF;
954: IF xtr_risk_debug_pkg.g_Debug THEN
955: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_uniform_day_count_basis', v_uniform_day_count_basis);
956: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_dummy before DCB Conv', v_dummy);
957: END IF;
958: --for volatility we don't need to worry about DCB and DF conversion
951: null, v_dummy);
952: END IF;
953: END IF;
954: IF xtr_risk_debug_pkg.g_Debug THEN
955: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_uniform_day_count_basis', v_uniform_day_count_basis);
956: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_dummy before DCB Conv', v_dummy);
957: END IF;
958: --for volatility we don't need to worry about DCB and DF conversion
959: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
952: END IF;
953: END IF;
954: IF xtr_risk_debug_pkg.g_Debug THEN
955: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_uniform_day_count_basis', v_uniform_day_count_basis);
956: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'v_dummy before DCB Conv', v_dummy);
957: END IF;
958: --for volatility we don't need to worry about DCB and DF conversion
959: IF (p_in_rec.p_indicator NOT IN ('V','v')) THEN
960: --Need to convert the rate to p_day_count_basis_out if not the same as
1016:
1017: p_out_rec.p_md_out := v_dummy;
1018:
1019: --close debug and print the result
1020: IF xtr_risk_debug_pkg.g_Debug THEN
1021: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1022: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1023: END IF;
1024:
1017: p_out_rec.p_md_out := v_dummy;
1018:
1019: --close debug and print the result
1020: IF xtr_risk_debug_pkg.g_Debug THEN
1021: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1022: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1023: END IF;
1024:
1025: END GET_MD_FROM_CURVE;
1018:
1019: --close debug and print the result
1020: IF xtr_risk_debug_pkg.g_Debug THEN
1021: xtr_risk_debug_pkg.dlog('GET_MD_FROM_CURVE: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1022: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1023: END IF;
1024:
1025: END GET_MD_FROM_CURVE;
1026:
1165: temprec rec_type;
1166:
1167: BEGIN
1168: --start debug and print some initial variable values
1169: IF xtr_risk_debug_pkg.g_Debug THEN
1170: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1171: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1166:
1167: BEGIN
1168: --start debug and print some initial variable values
1169: IF xtr_risk_debug_pkg.g_Debug THEN
1170: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1171: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1167: BEGIN
1168: --start debug and print some initial variable values
1169: IF xtr_risk_debug_pkg.g_Debug THEN
1170: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1171: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1168: --start debug and print some initial variable values
1169: IF xtr_risk_debug_pkg.g_Debug THEN
1170: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1171: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1169: IF xtr_risk_debug_pkg.g_Debug THEN
1170: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1171: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1170: xtr_risk_debug_pkg.dpush('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1171: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1171: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1172: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1180: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1173: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator',p_in_rec.p_indicator);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1180: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1181: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_batch_id',p_in_rec.p_batch_id);
1174: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1180: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1181: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_batch_id',p_in_rec.p_batch_id);
1182: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_bond_code',p_in_rec.p_bond_code);
1175: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1180: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1181: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_batch_id',p_in_rec.p_batch_id);
1182: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_bond_code',p_in_rec.p_bond_code);
1183: END IF;
1176: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1180: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1181: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_batch_id',p_in_rec.p_batch_id);
1182: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_bond_code',p_in_rec.p_bond_code);
1183: END IF;
1184:
1177: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1180: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1181: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_batch_id',p_in_rec.p_batch_id);
1182: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_bond_code',p_in_rec.p_bond_code);
1183: END IF;
1184:
1185: --Fork the process based on the type of rate
1178: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1179: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1180: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1181: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_batch_id',p_in_rec.p_batch_id);
1182: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_bond_code',p_in_rec.p_bond_code);
1183: END IF;
1184:
1185: --Fork the process based on the type of rate
1186: IF (UPPER(p_in_rec.p_indicator) IN ('D','R','DR','Y') or
1196: CLOSE get_curve_code;
1197:
1198: --check if at least one curve code is retrieved
1199: IF (v_in_rec.p_curve_code IS NULL) THEN
1200: IF xtr_risk_debug_pkg.g_Debug THEN
1201: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Yield/Disc/IRVol: no curve found');
1202: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1203: END IF;
1204: RAISE e_mdcs_no_curve_found;
1197:
1198: --check if at least one curve code is retrieved
1199: IF (v_in_rec.p_curve_code IS NULL) THEN
1200: IF xtr_risk_debug_pkg.g_Debug THEN
1201: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Yield/Disc/IRVol: no curve found');
1202: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1203: END IF;
1204: RAISE e_mdcs_no_curve_found;
1205: END IF;
1198: --check if at least one curve code is retrieved
1199: IF (v_in_rec.p_curve_code IS NULL) THEN
1200: IF xtr_risk_debug_pkg.g_Debug THEN
1201: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Yield/Disc/IRVol: no curve found');
1202: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1203: END IF;
1204: RAISE e_mdcs_no_curve_found;
1205: END IF;
1206:
1239: CLOSE get_curve_code_v;
1240:
1241: --check if at least one curve code is retrieved
1242: IF (v_in_rec.p_curve_code IS NULL) THEN
1243: IF xtr_risk_debug_pkg.g_Debug THEN
1244: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FXVol: no curve found');
1245: xtr_risk_debug_pkg.dpop('GET_MD_FROM_SET: ' || 'XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1246: END IF;
1247: RAISE e_mdcs_no_curve_found;
1240:
1241: --check if at least one curve code is retrieved
1242: IF (v_in_rec.p_curve_code IS NULL) THEN
1243: IF xtr_risk_debug_pkg.g_Debug THEN
1244: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FXVol: no curve found');
1245: xtr_risk_debug_pkg.dpop('GET_MD_FROM_SET: ' || 'XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1246: END IF;
1247: RAISE e_mdcs_no_curve_found;
1248: END IF;
1241: --check if at least one curve code is retrieved
1242: IF (v_in_rec.p_curve_code IS NULL) THEN
1243: IF xtr_risk_debug_pkg.g_Debug THEN
1244: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FXVol: no curve found');
1245: xtr_risk_debug_pkg.dpop('GET_MD_FROM_SET: ' || 'XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1246: END IF;
1247: RAISE e_mdcs_no_curve_found;
1248: END IF;
1249:
1296: ELSE
1297: OPEN get_fx_spot_rates_reval;
1298: END IF;
1299: ELSE
1300: IF xtr_risk_debug_pkg.g_Debug THEN
1301: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates non-USD: The p_source values can only be ''C'' or ''R''.');
1302: xtr_risk_debug_pkg.dpop('GET_MD_FROM_SET: ' || 'XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1303: END IF;
1304: RAISE_APPLICATION_ERROR
1297: OPEN get_fx_spot_rates_reval;
1298: END IF;
1299: ELSE
1300: IF xtr_risk_debug_pkg.g_Debug THEN
1301: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates non-USD: The p_source values can only be ''C'' or ''R''.');
1302: xtr_risk_debug_pkg.dpop('GET_MD_FROM_SET: ' || 'XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1303: END IF;
1304: RAISE_APPLICATION_ERROR
1305: (-20001,'The p_source values can only be ''C'' or ''R''.');
1298: END IF;
1299: ELSE
1300: IF xtr_risk_debug_pkg.g_Debug THEN
1301: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates non-USD: The p_source values can only be ''C'' or ''R''.');
1302: xtr_risk_debug_pkg.dpop('GET_MD_FROM_SET: ' || 'XTR_MARKET_DATA_P.GET_MD_FROM_CURVE');
1303: END IF;
1304: RAISE_APPLICATION_ERROR
1305: (-20001,'The p_source values can only be ''C'' or ''R''.');
1306: END IF;
1356: END IF;
1357: /*
1358: --check whether there is any spot rate retrieved
1359: IF (v_count = 0) THEN
1360: IF xtr_risk_debug_pkg.g_Debug THEN
1361: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates non-USD: no data found');
1362: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1363: END IF;
1364: RAISE e_mdcs_no_data_found;
1357: /*
1358: --check whether there is any spot rate retrieved
1359: IF (v_count = 0) THEN
1360: IF xtr_risk_debug_pkg.g_Debug THEN
1361: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates non-USD: no data found');
1362: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1363: END IF;
1364: RAISE e_mdcs_no_data_found;
1365: END IF;
1358: --check whether there is any spot rate retrieved
1359: IF (v_count = 0) THEN
1360: IF xtr_risk_debug_pkg.g_Debug THEN
1361: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates non-USD: no data found');
1362: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1363: END IF;
1364: RAISE e_mdcs_no_data_found;
1365: END IF;
1366: */
1379: ELSE
1380: OPEN get_fx_spot_rates_reval;
1381: END IF;
1382: ELSE
1383: IF xtr_risk_debug_pkg.g_Debug THEN
1384: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates USD: the p_source values can only be ''C'' or ''R''.');
1385: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1386: END IF;
1387: RAISE_APPLICATION_ERROR
1380: OPEN get_fx_spot_rates_reval;
1381: END IF;
1382: ELSE
1383: IF xtr_risk_debug_pkg.g_Debug THEN
1384: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates USD: the p_source values can only be ''C'' or ''R''.');
1385: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1386: END IF;
1387: RAISE_APPLICATION_ERROR
1388: (-20001,'The p_source values can only be ''C'' or ''R''.');
1381: END IF;
1382: ELSE
1383: IF xtr_risk_debug_pkg.g_Debug THEN
1384: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates USD: the p_source values can only be ''C'' or ''R''.');
1385: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1386: END IF;
1387: RAISE_APPLICATION_ERROR
1388: (-20001,'The p_source values can only be ''C'' or ''R''.');
1389: END IF;
1439: END IF;
1440: /*
1441: --check whether there is any spot rate retrieved
1442: IF (v_count = 0) THEN
1443: IF xtr_risk_debug_pkg.g_Debug THEN
1444: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates USD: no data found');
1445: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1446: END IF;
1447: RAISE e_mdcs_no_data_found;
1440: /*
1441: --check whether there is any spot rate retrieved
1442: IF (v_count = 0) THEN
1443: IF xtr_risk_debug_pkg.g_Debug THEN
1444: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates USD: no data found');
1445: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1446: END IF;
1447: RAISE e_mdcs_no_data_found;
1448: END IF;
1441: --check whether there is any spot rate retrieved
1442: IF (v_count = 0) THEN
1443: IF xtr_risk_debug_pkg.g_Debug THEN
1444: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For FX Spot Rates USD: no data found');
1445: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1446: END IF;
1447: RAISE e_mdcs_no_data_found;
1448: END IF;
1449: */
1489:
1490: END IF;
1491: --check whether there is any spot rate retrieved
1492: IF (p_out_rec.p_md_out IS NULL) THEN
1493: IF xtr_risk_debug_pkg.g_Debug THEN
1494: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Bond: no data found');
1495: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1496: END IF;
1497: RAISE e_mdcs_no_data_found;
1490: END IF;
1491: --check whether there is any spot rate retrieved
1492: IF (p_out_rec.p_md_out IS NULL) THEN
1493: IF xtr_risk_debug_pkg.g_Debug THEN
1494: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Bond: no data found');
1495: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1496: END IF;
1497: RAISE e_mdcs_no_data_found;
1498: END IF;
1491: --check whether there is any spot rate retrieved
1492: IF (p_out_rec.p_md_out IS NULL) THEN
1493: IF xtr_risk_debug_pkg.g_Debug THEN
1494: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Bond: no data found');
1495: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1496: END IF;
1497: RAISE e_mdcs_no_data_found;
1498: END IF;
1499:
1539:
1540: END IF;
1541: --check whether there is any spot rate retrieved
1542: IF (p_out_rec.p_md_out IS NULL) THEN
1543: IF xtr_risk_debug_pkg.g_Debug THEN
1544: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Stock: no data found');
1545: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1546: END IF;
1547: RAISE e_mdcs_no_data_found;
1540: END IF;
1541: --check whether there is any spot rate retrieved
1542: IF (p_out_rec.p_md_out IS NULL) THEN
1543: IF xtr_risk_debug_pkg.g_Debug THEN
1544: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Stock: no data found');
1545: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1546: END IF;
1547: RAISE e_mdcs_no_data_found;
1548: END IF;
1541: --check whether there is any spot rate retrieved
1542: IF (p_out_rec.p_md_out IS NULL) THEN
1543: IF xtr_risk_debug_pkg.g_Debug THEN
1544: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'For Stock: no data found');
1545: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1546: END IF;
1547: RAISE e_mdcs_no_data_found;
1548: END IF;
1549:
1547: RAISE e_mdcs_no_data_found;
1548: END IF;
1549:
1550: ELSE
1551: IF xtr_risk_debug_pkg.g_Debug THEN
1552: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator is invalid');
1553: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1554: END IF;
1555: RAISE_APPLICATION_ERROR
1548: END IF;
1549:
1550: ELSE
1551: IF xtr_risk_debug_pkg.g_Debug THEN
1552: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator is invalid');
1553: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1554: END IF;
1555: RAISE_APPLICATION_ERROR
1556: (-20001,'Unknown p_indicator values.');
1549:
1550: ELSE
1551: IF xtr_risk_debug_pkg.g_Debug THEN
1552: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_indicator is invalid');
1553: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1554: END IF;
1555: RAISE_APPLICATION_ERROR
1556: (-20001,'Unknown p_indicator values.');
1557: END IF;
1556: (-20001,'Unknown p_indicator values.');
1557: END IF;
1558:
1559: --stop debug and print the result
1560: IF xtr_risk_debug_pkg.g_Debug THEN
1561: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1562: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1563: END IF;
1564: END GET_MD_FROM_SET;
1557: END IF;
1558:
1559: --stop debug and print the result
1560: IF xtr_risk_debug_pkg.g_Debug THEN
1561: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1562: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1563: END IF;
1564: END GET_MD_FROM_SET;
1565:
1558:
1559: --stop debug and print the result
1560: IF xtr_risk_debug_pkg.g_Debug THEN
1561: xtr_risk_debug_pkg.dlog('GET_MD_FROM_SET: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1562: xtr_risk_debug_pkg.dpop('XTR_MARKET_DATA_P.GET_MD_FROM_SET');
1563: END IF;
1564: END GET_MD_FROM_SET;
1565:
1566:
1594: v_level VARCHAR2(2) := ' ';
1595: v_err_code NUMBER(8);
1596:
1597: BEGIN
1598: IF xtr_risk_debug_pkg.g_Debug THEN
1599: xtr_risk_debug_pkg.dpush('GET_FX_FORWARD_FROM_SET');
1600: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1595: v_err_code NUMBER(8);
1596:
1597: BEGIN
1598: IF xtr_risk_debug_pkg.g_Debug THEN
1599: xtr_risk_debug_pkg.dpush('GET_FX_FORWARD_FROM_SET');
1600: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1596:
1597: BEGIN
1598: IF xtr_risk_debug_pkg.g_Debug THEN
1599: xtr_risk_debug_pkg.dpush('GET_FX_FORWARD_FROM_SET');
1600: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1597: BEGIN
1598: IF xtr_risk_debug_pkg.g_Debug THEN
1599: xtr_risk_debug_pkg.dpush('GET_FX_FORWARD_FROM_SET');
1600: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1598: IF xtr_risk_debug_pkg.g_Debug THEN
1599: xtr_risk_debug_pkg.dpush('GET_FX_FORWARD_FROM_SET');
1600: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1606: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1599: xtr_risk_debug_pkg.dpush('GET_FX_FORWARD_FROM_SET');
1600: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1606: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1607: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1600: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_md_set_code',p_in_rec.p_md_set_code);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1606: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1607: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1608: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1601: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_source',p_in_rec.p_source);
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1606: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1607: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1608: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1609: END IF;
1602: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_spot_date',p_in_rec.p_spot_date);
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1606: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1607: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1608: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1609: END IF;
1610:
1603: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_future_date',p_in_rec.p_future_date);
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1606: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1607: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1608: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1609: END IF;
1610:
1611: --calc v_day_count and v_annual_basis
1604: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_ccy',p_in_rec.p_ccy);
1605: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_contra_ccy',p_in_rec.p_contra_ccy);
1606: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_day_count_basis_out',p_in_rec.p_day_count_basis_out);
1607: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_interpolation_method',p_in_rec.p_interpolation_method);
1608: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_side',p_in_rec.p_side);
1609: END IF;
1610:
1611: --calc v_day_count and v_annual_basis
1612: xtr_calc_p.calc_days_run_c(p_in_rec.p_spot_date, p_in_rec.p_future_date,
1862: p_out_rec.p_md_out := v_fx_forw_contra/v_fx_forw_base;
1863: END IF;
1864:
1865: --stop debug and print result
1866: IF xtr_risk_debug_pkg.g_Debug THEN
1867: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1868: xtr_risk_debug_pkg.dpop('GET_FX_FORWARD_FROM_SET');
1869: END IF;
1870:
1863: END IF;
1864:
1865: --stop debug and print result
1866: IF xtr_risk_debug_pkg.g_Debug THEN
1867: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1868: xtr_risk_debug_pkg.dpop('GET_FX_FORWARD_FROM_SET');
1869: END IF;
1870:
1871: END GET_FX_FORWARD_FROM_SET;
1864:
1865: --stop debug and print result
1866: IF xtr_risk_debug_pkg.g_Debug THEN
1867: xtr_risk_debug_pkg.dlog('GET_FX_FORWARD_FROM_SET: ' || 'p_out_rec.p_md_out', p_out_rec.p_md_out);
1868: xtr_risk_debug_pkg.dpop('GET_FX_FORWARD_FROM_SET');
1869: END IF;
1870:
1871: END GET_FX_FORWARD_FROM_SET;
1872: