189: -- This will prevent SQL errors when date is selected outside the range
190:
191: BEGIN
192:
193: SELECT 1 into l_date_range_check FROM FII_TIME_DAY
194: where g_as_of_date between start_date and end_date;
195:
196: EXCEPTION
197:
525: g_py_sday,
526: g_curr_start
527: FROM dual;
528:
529: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
530: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
531:
532: g_temp := NULL;
533:
526: g_curr_start
527: FROM dual;
528:
529: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
530: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
531:
532: g_temp := NULL;
533:
534: SELECT NVL(DECODE(fii_time_api.cwk_start(g_previous_asof_date),g_min_week_start_date,g_min_start_date,fii_time_api.cwk_start(g_previous_asof_date)),g_min_start_date),
546: g_exp_begin_date := g_as_of_date - 91;
547:
548: SELECT ent_period_start_date
549: INTO g_top_spend_start
550: FROM fii_time_day
551: WHERE report_date = g_as_of_date;
552:
553: SELECT MAX(end_date) INTO g_top_spend_end
554: FROM fii_time_ent_period
564:
565: --g_prior_end := fii_time_api.cwk_end(g_as_of_date);
566: SELECT NVL(fii_time_api.cwk_end(g_as_of_date),g_min_start_date) INTO g_prior_end FROM DUAL;
567:
568: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
569: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
570: ELSE
571: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
572: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
565: --g_prior_end := fii_time_api.cwk_end(g_as_of_date);
566: SELECT NVL(fii_time_api.cwk_end(g_as_of_date),g_min_start_date) INTO g_prior_end FROM DUAL;
567:
568: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
569: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
570: ELSE
571: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
572: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
573: END CASE;
567:
568: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
569: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
570: ELSE
571: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
572: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
573: END CASE;
574:
575: SELECT NVL(fii_time_api.sd_lyswk(g_py_sday),g_min_start_date)
568: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
569: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
570: ELSE
571: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
572: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
573: END CASE;
574:
575: SELECT NVL(fii_time_api.sd_lyswk(g_py_sday),g_min_start_date)
576: INTO g_rpt_begin_date
615: SELECT NVL(fii_time_api.ent_cper_end(g_as_of_date),g_min_start_date) INTO g_curr_end FROM DUAL;
616:
617: SELECT ent_period_id INTO g_curr_start_period_id FROM fii_time_ent_period WHERE start_date = g_curr_start;
618: SELECT ent_period_id INTO g_curr_end_period_id FROM fii_time_ent_period WHERE end_date = g_curr_end;
619: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
620: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
621:
622: g_temp := NULL;
623:
616:
617: SELECT ent_period_id INTO g_curr_start_period_id FROM fii_time_ent_period WHERE start_date = g_curr_start;
618: SELECT ent_period_id INTO g_curr_end_period_id FROM fii_time_ent_period WHERE end_date = g_curr_end;
619: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
620: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
621:
622: g_temp := NULL;
623:
624: g_exp_begin_date := g_exp_asof_date;
624: g_exp_begin_date := g_exp_asof_date;
625:
626: SELECT ent_period_start_date
627: INTO g_top_spend_start
628: FROM fii_time_day
629: WHERE report_date = g_as_of_date;
630:
631: SELECT MAX(end_date)
632: INTO g_top_spend_end
643:
644: --g_prior_end := fii_time_api.ent_cper_end(g_as_of_date);
645: SELECT NVL(fii_time_api.ent_cper_end(g_as_of_date),g_min_start_date) INTO g_prior_end FROM DUAL;
646:
647: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
648: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
649: ELSE
650: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
651: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
644: --g_prior_end := fii_time_api.ent_cper_end(g_as_of_date);
645: SELECT NVL(fii_time_api.ent_cper_end(g_as_of_date),g_min_start_date) INTO g_prior_end FROM DUAL;
646:
647: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
648: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
649: ELSE
650: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
651: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
652: END CASE;
646:
647: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
648: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
649: ELSE
650: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
651: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
652: END CASE;
653:
654: SELECT NVL( fii_time_api.ent_sd_lysper_end(g_py_sday),g_min_start_date)
647: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
648: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
649: ELSE
650: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
651: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
652: END CASE;
653:
654: SELECT NVL( fii_time_api.ent_sd_lysper_end(g_py_sday),g_min_start_date)
655: INTO g_rpt_begin_date
681: SELECT NVL(fii_time_api.ent_cqtr_end(g_as_of_date),g_min_start_date) INTO g_curr_end FROM DUAL;
682:
683: SELECT ent_period_id INTO g_curr_start_period_id FROM fii_time_ent_period WHERE start_date = g_curr_start;
684: SELECT ent_period_id INTO g_curr_end_period_id FROM fii_time_ent_period WHERE end_date = g_curr_end;
685: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
686: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
687:
688: g_temp := NULL;
689:
682:
683: SELECT ent_period_id INTO g_curr_start_period_id FROM fii_time_ent_period WHERE start_date = g_curr_start;
684: SELECT ent_period_id INTO g_curr_end_period_id FROM fii_time_ent_period WHERE end_date = g_curr_end;
685: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
686: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
687:
688: g_temp := NULL;
689:
690: SELECT ent_qtr_start_date
688: g_temp := NULL;
689:
690: SELECT ent_qtr_start_date
691: INTO g_top_spend_start
692: FROM fii_time_day
693: WHERE report_date = g_as_of_date;
694:
695: SELECT MAX(end_date)
696: INTO g_top_spend_end
747:
748: --g_prior_end := fii_time_api.ent_cqtr_end(g_as_of_date);
749: SELECT NVL(fii_time_api.ent_cqtr_end(g_as_of_date),g_min_start_date) INTO g_prior_end from dual;
750:
751: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
752: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
753: ELSE
754: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
755: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
748: --g_prior_end := fii_time_api.ent_cqtr_end(g_as_of_date);
749: SELECT NVL(fii_time_api.ent_cqtr_end(g_as_of_date),g_min_start_date) INTO g_prior_end from dual;
750:
751: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
752: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
753: ELSE
754: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
755: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
756: END CASE;
750:
751: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
752: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
753: ELSE
754: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
755: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
756: END CASE;
757:
758: WHEN 'FII_TIME_ENT_YEAR' THEN
751: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
752: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
753: ELSE
754: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
755: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
756: END CASE;
757:
758: WHEN 'FII_TIME_ENT_YEAR' THEN
759:
776: SELECT NVL(fii_time_api.ent_cyr_end(g_as_of_date),g_min_start_date) INTO g_curr_end FROM DUAL;
777:
778: SELECT ent_period_id INTO g_curr_start_period_id FROM fii_time_ent_period WHERE start_date = g_curr_start;
779: SELECT ent_period_id INTO g_curr_end_period_id FROM fii_time_ent_period WHERE end_date = g_curr_end;
780: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
781: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
782:
783: g_exp_asof_date := NULL;
784: g_exp_start := NULL;
777:
778: SELECT ent_period_id INTO g_curr_start_period_id FROM fii_time_ent_period WHERE start_date = g_curr_start;
779: SELECT ent_period_id INTO g_curr_end_period_id FROM fii_time_ent_period WHERE end_date = g_curr_end;
780: SELECT report_date_julian INTO g_curr_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
781: SELECT report_date_julian INTO g_curr_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
782:
783: g_exp_asof_date := NULL;
784: g_exp_start := NULL;
785:
784: g_exp_start := NULL;
785:
786: SELECT ent_year_start_date
787: INTO g_top_spend_start
788: FROM fii_time_day
789: WHERE report_date = g_as_of_date;
790:
791: SELECT MAX(end_date)
792: INTO g_top_spend_end
803:
804: --g_prior_end := fii_time_api.ent_cyr_end(g_as_of_date);
805: SELECT NVL(fii_time_api.ent_cyr_end(g_as_of_date),g_min_start_date) INTO g_prior_end from dual;
806:
807: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
808: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
809:
810: ELSE
811: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
804: --g_prior_end := fii_time_api.ent_cyr_end(g_as_of_date);
805: SELECT NVL(fii_time_api.ent_cyr_end(g_as_of_date),g_min_start_date) INTO g_prior_end from dual;
806:
807: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
808: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
809:
810: ELSE
811: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
812: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
807: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_curr_start;
808: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
809:
810: ELSE
811: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
812: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
813: END CASE;
814:
815: g_rpt_begin_date := NULL;
808: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_curr_end;
809:
810: ELSE
811: SELECT report_date_julian INTO g_prior_start_day_id FROM fii_time_day WHERE report_date = g_prior_start;
812: SELECT report_date_julian INTO g_prior_end_day_id FROM fii_time_day WHERE report_date = g_prior_end;
813: END CASE;
814:
815: g_rpt_begin_date := NULL;
816: g_begin_date := NULL;