DBA Data[Home] [Help]

MATERIALIZED VIEW: APPS.HRI_MDP_BEN_ELIGENRL_CPP_MV

Source


(
SELECT /* 12.0: bug#4526784 */  ee_cpp.asnd_lf_evt_dt,
       ee_cpp.plip_id,
       ee_cpp.effective_start_date,
       ee_cpp.effective_end_date,
       ee_cpp.elig_count,
       ee_cpp.enrt_count,
	  ROUND((CASE WHEN ee_cpp.elig_count <= 0
	        THEN 0
			ELSE ee_cpp.enrt_count/ee_cpp.elig_count END )*100 , 1) enrt_per,
	  ee_cpp.waive_expl_count,
	  ee_cpp.waive_dflt_count,
	  ee_cpp.waive_dflt_count + ee_cpp.waive_expl_count waive_total_count,
	  ROUND((CASE WHEN ee_cpp.elig_count <= 0
	        THEN 0
			ELSE ee_cpp.waive_expl_count/ee_cpp.elig_count END )*100 , 1) waive_expl_per,
	  ROUND((CASE WHEN ee_cpp.elig_count <= 0
	        THEN 0
			ELSE ee_cpp.waive_dflt_count/ee_cpp.elig_count END )*100 , 1) waive_dflt_per,
	  ROUND((CASE WHEN ee_cpp.elig_count <= 0
	        THEN 0
			ELSE (ee_cpp.waive_expl_count + ee_cpp.waive_dflt_count)/ee_cpp.elig_count END )*100 , 1) waive_total_per
FROM (
    SELECT SUM(SUM(pcpp.elig_ind)) OVER
                (PARTITION BY pcpp.asnd_lf_evt_dt, pcpp.plip_id
                     ORDER BY pcpp.asnd_lf_evt_dt, pcpp.plip_id, pcpp.change_date) elig_count,
           SUM(SUM(pcpp.enrt_ind)) OVER
                (PARTITION BY pcpp.asnd_lf_evt_dt, pcpp.plip_id
                     ORDER BY pcpp.asnd_lf_evt_dt, pcpp.plip_id, pcpp.change_date) enrt_count,
           SUM(SUM(pcpp.dflt_ind)) OVER
                (PARTITION BY pcpp.asnd_lf_evt_dt, pcpp.plip_id
                     ORDER BY pcpp.asnd_lf_evt_dt, pcpp.plip_id, pcpp.change_date) dflt_count,
           SUM(SUM(pcpp.waive_expl_ind)) OVER
                (PARTITION BY pcpp.asnd_lf_evt_dt, pcpp.plip_id
                     ORDER BY pcpp.asnd_lf_evt_dt, pcpp.plip_id, pcpp.change_date) waive_expl_count,
           SUM(SUM(pcpp.waive_dflt_ind)) OVER
                (PARTITION BY pcpp.asnd_lf_evt_dt, pcpp.plip_id
                     ORDER BY pcpp.asnd_lf_evt_dt, pcpp.plip_id, pcpp.change_date) waive_dflt_count,
           pcpp.asnd_lf_evt_dt,
           pcpp.plip_id,
           pcpp.change_date,
           pcpp.change_date effective_start_date,
           NVL(LEAD(pcpp.change_date-1) OVER
               (PARTITION BY pcpp.asnd_lf_evt_dt, pcpp.plip_id
                    ORDER BY pcpp.asnd_lf_evt_dt, pcpp.plip_id, pcpp.change_date),TO_DATE('31-12-4712','DD-MM-YYYY')) effective_end_date
    FROM (
            SELECT pen_cpp.elig_ind -
                     NVL(LAG(pen_cpp.elig_ind) OVER
                    (PARTITION BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id
                         ORDER BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id, pen_cpp.change_date),0) elig_ind,
                   pen_cpp.enrt_ind -
                     NVL(LAG(pen_cpp.enrt_ind) OVER
                    (PARTITION BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id
                         ORDER BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id, pen_cpp.change_date),0) enrt_ind,
                   pen_cpp.dflt_ind -
                     NVL(LAG(pen_cpp.dflt_ind) OVER
                    (PARTITION BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id
                         ORDER BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id, pen_cpp.change_date),0) dflt_ind,
                   pen_cpp.waive_expl_ind -
                     NVL(LAG(pen_cpp.waive_expl_ind) OVER
                    (PARTITION BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id
                         ORDER BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id, pen_cpp.change_date),0) waive_expl_ind,
                   pen_cpp.waive_dflt_ind -
                     NVL(LAG(pen_cpp.waive_dflt_ind) OVER
                    (PARTITION BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id
                         ORDER BY pen_cpp.asnd_lf_evt_dt, pen_cpp.person_id, pen_cpp.plip_id, pen_cpp.change_date),0) waive_dflt_ind,
                   pen_cpp.asnd_lf_evt_dt,
                   pen_cpp.plip_id,
                   pen_cpp.person_id,
                   pen_cpp.change_date
            FROM (
                SELECT CEIL(AVG(penc.elig_ind)) elig_ind,
                       CEIL(AVG(penc.enrt_ind)) enrt_ind,
                       CEIL(AVG(penc.dflt_ind)) dflt_ind,
                       CEIL(AVG(penc.waive_expl_ind)) waive_expl_ind,
                       CEIL(AVG(penc.waive_dflt_ind)) waive_dflt_ind,
                       penc.asnd_lf_evt_dt,
                       copd.plip_id,
                       penc.person_id,
                       penc.change_date
                  FROM hri_mb_ben_eligenrl_evnt_ct penc,
                       hri_cs_compobj_ct copd
                 WHERE copd.compobj_sk_pk = penc.compobj_sk_pk
                 GROUP BY penc.asnd_lf_evt_dt, copd.plip_id, penc.person_id, penc.change_date) pen_cpp
             ) pcpp
    GROUP BY pcpp.asnd_lf_evt_dt, pcpp.plip_id, pcpp.change_date
     ) ee_cpp
)