DBA Data[Home] [Help]

APPS.BEN_DERIVE_PART_AND_RATE_CACHE SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 22

                                               it selects once_r_cntug_cd.
        04 May 99        G Perry    115.3      Cache support for PTIP, PLIP.
                                               Added in hashing utility.
        06 May 99        G Perry    115.4      Backport for Fidelity.
        06 May 99        G Perry    115.5      Leapfrog from 115.3
        04 Aug 99        T Guy      115.6      Enhanced Base Age calc to take
                                               into account spouse/child DOB
        23 Aug 99        G Perry    115.6      Added nocopy compiler directive.
                                               Removed trace messages.
                                               Hashing done locally.
        06 Oct 99        mhoyes     115.8    - Tuned c1 cursors in,
                                               - get_age_plip_rate
                                               - get_age_ptip_rate
        10 Jan 00        pbodla     115.9    - Added los_calc_rl to c1 cursor in
                                               get_los_pgm_elig, get_los_pl_elig
                                               get_los_plip_elig, get_los_ptip_elig,
                                               get_los_pgm_elig ,
                                               get_los_stated   , get_los_pgm_rate ,
                                               get_los_pl_rate  , get_los_oipl_rate,
                                               get_los_plip_rate, get_los_ptip_rate
        24 Jan 00        lmcdonal   115.10     Add hrs_wkd_calc_rl to hwf and
                                               comp_calc_rl to clf.  Bugs
                                               1118118, 1118113.
        07 Mar 00        gperry     115.11     Fixes for WWBUG 1195803.
        31 Mar 00        gperry     115.12     Added oiplip support.
        13 May 00        mhoyes     115.13   - CBO tuning. Removed business group
                                               restrictions from get_age_???_elig
                                               get_comp_???_elig cursors.
                                             - Replaced all binary_integer datatypes
                                               with pls_integer datatyps.
        26 Jun 00        gperry     115.14     Added age_calc_rl support.
        03 Aug 00        mhoyes     115.15   - General tuning. Removed business
                                               group restrictions.
        17-jan-01        tilak      115.16     derive factor maximaum validated with < max +  1
        16-Nov-01        ikasire    115.17     Bug 2101937 - Fixed the error in the ceil
                                               condition of version 116.2 in all cursors.
        08-Oct-02        kmahendr   115.18     Added parameters to get_los_elig,get_los_pgm_elig
                                               get_los_ptip_elig, get_los_plip_elig, get_los_pl_elig
                                               get_los_oipl_elig and modified cursor c1
        08-Oct-02        kmahendr   115.19     Added dbdrv lines
        09-Oct-02        kmahendr   115.20     added parameters in call to get_los_pl_elig,
                                               get_los_plip_elig, get_los_ptip_elig
        18-Oct-02        kmahendr   115.21     Added old_val, new_val parameters to other
                                               derived factors
        22-Oct-02        ikasire    115.22     Bug 2502763 added more parameters to clf routines
        16-Mar-02        tjesumic   115.23     bug 2853140 age factor changes.
        18-Mar-02        ikasire    115.24     Bug 2853140 Modifed the cursors to get
                                               a row when both old and new values also
                                               in the same range.
                                               Added validation to update only first time for
                                               each comp object with N in exist.
        19-May-2003      ikasire    115.25     Option Level Rates Enhancements
        30-Jun-2003      ikasire    115.27     Elpro Vapro Data model changes
        19-Aug-2003      mmudigon   115.28     gscc fix
        16-Oct-2003      rpgupta    115.29     Bug 3188198
        				       Uncommented 'and p_old_val < lsf.mn_los_num'
        				       in cursor c1 at all levels
        				       Now the cursor would return only one row and
        				       hence the ptnl le would be detected at all
        				       stages.

        28-Jul-2004     bmanyam     115.30      Bug 3761038. Split UNIONed queryies into 2.
                                                Search Text "PERFNEW".
        05-Aug-2005     mmudigon    115.31      Bug 4518047. Removed hr_utility
                                                statements at lines 305,306 and
                                                307
*/
--------------------------------------------------------------------------------
--
  g_package   VARCHAR2(80) := 'ben_derive_part_and_rate_cache';
Line: 103

        select opt_id
        from ben_oipl_f otp
        where otp.oipl_id = p_oipl_id
        and   p_effective_date between otp.effective_start_date
                                  and otp.effective_end_date ;
Line: 135

      SELECT   p_pgm_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(lsf.mn_los_num ,p_new_val)
                   and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                 ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                  nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                   and p_old_val < lsf.mn_los_num -- uncommented this -- bug 3188198
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(lsf.mn_los_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                   ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(lsf.mn_los_num ,p_old_val)
                    and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            ) ;
Line: 337

      SELECT   p_pl_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pl_id = p_pl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(lsf.mn_los_num ,p_new_val)
                   and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                 ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                  nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                   and p_old_val < lsf.mn_los_num -- uncommented this -- bug 3188198
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(lsf.mn_los_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                   ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(lsf.mn_los_num ,p_old_val)
                    and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )
     )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            ) ;
Line: 527

      SELECT   p_oipl_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.oipl_id = p_oipl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(lsf.mn_los_num ,p_new_val)
                   and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                 ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                  nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                   and p_old_val < lsf.mn_los_num -- uncommented this -- bug 3188198
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(lsf.mn_los_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                   ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(lsf.mn_los_num ,p_old_val)
                    and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )
     )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            ) ;
Line: 721

      SELECT   p_plip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.plip_id = p_plip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(lsf.mn_los_num ,p_new_val)
                   and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                 ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                  nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                   and p_old_val < lsf.mn_los_num -- uncommented this -- bug 3188198
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(lsf.mn_los_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                   ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(lsf.mn_los_num ,p_old_val)
                    and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )
     )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 910

      SELECT   p_ptip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(lsf.mn_los_num ,p_new_val)
                   and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                 ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                  nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                   and p_old_val < lsf.mn_los_num -- uncommented this -- bug 3188198
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(lsf.mn_los_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                   ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(lsf.mn_los_num ,p_old_val)
                    and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )
     )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 1165

      SELECT   p_los_fctr_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
      WHERE    lsf.los_fctr_id = p_los_fctr_id;
Line: 1293

      SELECT   p_pgm_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_los_rt_f lsr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = lsr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN lsr.effective_start_date
                   AND lsr.effective_end_date
      AND      lsr.los_fctr_id = lsf.los_fctr_id
      AND      (
                 (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                     -- AND p_new_val < ceil( NVL(lsf.mx_los_num ,p_new_val) + 0.001)
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(lsf.mx_los_num
                 --                            ,p_new_val )) + 0.001 )
                 OR p_new_val >=   decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                  --    AND p_old_val < ceil( NVL(lsf.mx_los_num
                  --                     ,p_old_val)) + 0.001 )
                and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 1362

      SELECT   p_pgm_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM    ben_los_fctr lsf
              --NEW
              --,ben_los_rt_f lsr
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              --NEW
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND      (
                 (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                     -- AND p_new_val < ceil( NVL(lsf.mx_los_num ,p_new_val) + 0.001)
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(lsf.mx_los_num
                 --                            ,p_new_val )) + 0.001 )
                 OR p_new_val >=   decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                  --    AND p_old_val < ceil( NVL(lsf.mx_los_num
                  --                     ,p_old_val)) + 0.001 )
                and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 1588

      SELECT   p_pl_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_los_rt_f lsr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = lsr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN lsr.effective_start_date
                   AND lsr.effective_end_date
      AND      lsr.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val ) + 0.001) )
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )

                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                 --           OR p_new_val >=  ceil( NVL(lsf.mx_los_num
                 --                            , p_new_val )) + 0.001 )
                              OR p_new_val >=    decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )

                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                 --     AND p_old_val < ceil( NVL(lsf.mx_los_num
                 --                      ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )

                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 1662

    SELECT   p_pl_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              -- ,ben_los_rt_f lsr
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              --
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val ) + 0.001) )
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )

                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                 --           OR p_new_val >=  ceil( NVL(lsf.mx_los_num
                 --                            , p_new_val )) + 0.001 )
                              OR p_new_val >=    decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )

                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                 --     AND p_old_val < ceil( NVL(lsf.mx_los_num
                 --                      ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )

                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 1891

      SELECT   p_oipl_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_los_rt_f lsr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = lsr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN lsr.effective_start_date
                   AND lsr.effective_end_date
      AND      lsr.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val) + 0.001 ))
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(lsf.mx_los_num
                --                             , p_new_val)) + 0.001)
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_old_val)) + 0.001)
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 1969

    SELECT   p_oipl_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM    ben_los_fctr lsf
              --,ben_los_rt_f lsr
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = els.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val) + 0.001 ))
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(lsf.mx_los_num
                --                             , p_new_val)) + 0.001)
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_old_val)) + 0.001)
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 2206

      SELECT   p_plip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_los_rt_f lsr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = lsr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN lsr.effective_start_date
                   AND lsr.effective_end_date
      AND      lsr.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val) + 0.001))
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(lsf.mx_los_num
                --                             ,p_new_val )) + 0.001 )
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 2277

    SELECT   p_plip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              --,ben_los_rt_f lsr
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = els.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val) + 0.001))
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(lsf.mx_los_num
                --                             ,p_new_val )) + 0.001 )
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 2505

      SELECT   p_ptip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_los_rt_f lsr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = lsr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN lsr.effective_start_date
                   AND lsr.effective_end_date
      AND      lsr.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val) + 0.001) )
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(lsf.mx_los_num
                --                             ,p_new_val)) + 0.001 )
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_old_val )) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 2576

      SELECT   p_ptip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              --,ben_los_rt_f lsr
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = els.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_new_val) + 0.001) )
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(lsf.mx_los_num
                --                             ,p_new_val)) + 0.001 )
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(lsf.mx_los_num
                --                       ,p_old_val )) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 2804

      SELECT   p_oiplip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              ,ben_los_rt_f lsr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = lsr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN lsr.effective_start_date
                   AND lsr.effective_end_date
      AND      lsr.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                 --     AND p_new_val < ceil( NVL(lsf.mx_los_num
                 --                      ,p_new_val) + 0.001) )
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(lsf.mx_los_num
                 --                            ,p_new_val))+ 0.001)
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                 --     AND p_old_val < ceil( NVL(lsf.mx_los_num
                 --                      ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 2875

      SELECT   p_oiplip_id
              ,'Y'
              ,lsf.los_det_cd
              ,lsf.los_dt_to_use_cd
              ,lsf.use_overid_svc_dt_flag
              ,lsf.los_uom
              ,lsf.los_det_rl
              ,lsf.los_dt_to_use_rl
              ,lsf.los_calc_rl
              ,lsf.rndg_cd
              ,lsf.rndg_rl
              ,lsf.mn_los_num
              ,lsf.mx_los_num
      FROM     ben_los_fctr lsf
              --,ben_los_rt_f lsr
              ,ben_elig_los_prte_f els
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = els.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      els.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      p_effective_date BETWEEN els.effective_start_date
                   AND els.effective_end_date
      AND      els.los_fctr_id = lsf.los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(lsf.mn_los_num
                                        ,p_new_val)
                 --     AND p_new_val < ceil( NVL(lsf.mx_los_num
                 --                      ,p_new_val) + 0.001) )
                 and p_new_val <  decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(lsf.mn_los_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(lsf.mx_los_num
                 --                            ,p_new_val))+ 0.001)
                              OR p_new_val >= decode(nvl(lsf.mx_los_num,p_new_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_new_val))
                     ,decode(nvl(lsf.mn_los_num,p_new_val), trunc(nvl(lsf.mn_los_num,p_new_val)),
                      nvl(lsf.mx_los_num,p_new_val)+1,nvl(lsf.mx_los_num,p_new_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(lsf.mn_los_num
                                        ,p_old_val)
                 --     AND p_old_val < ceil( NVL(lsf.mx_los_num
                 --                      ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(lsf.mx_los_num,p_old_val) ,
                                    trunc(nvl(lsf.mx_los_num,p_old_val))
                     ,decode(nvl(lsf.mn_los_num,p_old_val), trunc(nvl(lsf.mn_los_num,p_old_val)),
                      nvl(lsf.mx_los_num,p_old_val)+1,nvl(lsf.mx_los_num,p_old_val)+0.000000001),
                      nvl(lsf.mx_los_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 3182

      SELECT   p_pgm_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(agf.mn_age_num ,p_new_val)
                   and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                 ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                  nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                  -- and p_old_val < agf.mn_age_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(agf.mn_age_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                   ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(agf.mn_age_num ,p_old_val)
                    and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 3367

      SELECT   p_pl_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pl_id = p_pl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(agf.mn_age_num ,p_new_val)
                   and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                 ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                  nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                  -- and p_old_val < agf.mn_age_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(agf.mn_age_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                   ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(agf.mn_age_num ,p_old_val)
                    and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 3551

      SELECT   p_oipl_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.oipl_id = p_oipl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(agf.mn_age_num ,p_new_val)
                   and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                 ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                  nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                  -- and p_old_val < agf.mn_age_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(agf.mn_age_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                   ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(agf.mn_age_num ,p_old_val)
                    and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 3735

      SELECT   p_plip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.plip_id = p_plip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(agf.mn_age_num ,p_new_val)
                   and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                 ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                  nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                  -- and p_old_val < agf.mn_age_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(agf.mn_age_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                   ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(agf.mn_age_num ,p_old_val)
                    and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 3919

      SELECT   p_ptip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(agf.mn_age_num ,p_new_val)
                   and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                 ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                  nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                  -- and p_old_val < agf.mn_age_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(agf.mn_age_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                   ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(agf.mn_age_num ,p_old_val)
                    and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 4098

      SELECT   p_age_fctr_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
      WHERE    agf.age_fctr_id = p_age_fctr_id;
Line: 4294

      SELECT   p_pgm_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_age_rt_f art
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = art.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN art.effective_start_date
                   AND art.effective_end_date
      AND      art.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(agf.mx_age_num
                --                       ,p_new_val ) + 0.001))
                 and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(agf.mx_age_num
                --                             ,p_new_val)) + 0.001)
                              OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(agf.mx_age_num
                --                       ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 4363

      SELECT   p_pgm_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              --,ben_age_rt_f art
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = eap.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                --      AND p_new_val < ceil( NVL(agf.mx_age_num
                --                       ,p_new_val ) + 0.001))
                 and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                --            OR p_new_val >= ceil( NVL(agf.mx_age_num
                --                             ,p_new_val)) + 0.001)
                              OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(agf.mx_age_num
                --                       ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 4587

      SELECT   p_pl_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_age_rt_f art
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = art.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN art.effective_start_date
                   AND art.effective_end_date
      AND      art.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                 --     AND p_new_val < ceil( NVL(agf.mx_age_num
                 --                      ,p_new_val)+ 0.001 ))
                 and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(agf.mx_age_num
                 --                            ,p_new_val)) + 0.001)
                              OR p_new_val >= decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                 --     AND p_old_val < ceil( NVL(agf.mx_age_num
                 --                      ,p_old_val))  + 0.001)
                 and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 4656

    SELECT   p_pl_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              --,ben_age_rt_f art
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = eap.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                 --     AND p_new_val < ceil( NVL(agf.mx_age_num
                 --                      ,p_new_val)+ 0.001 ))
                 and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(agf.mx_age_num
                 --                            ,p_new_val)) + 0.001)
                              OR p_new_val >= decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                 --     AND p_old_val < ceil( NVL(agf.mx_age_num
                 --                      ,p_old_val))  + 0.001)
                 and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 4881

      SELECT   p_oipl_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              ,ben_age_rt_f art
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = art.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN art.effective_start_date
                   AND art.effective_end_date
      AND      art.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                 --     AND p_new_val < ceil( NVL(agf.mx_age_num
                 --                      ,p_new_val)+ 0.001 ))
                 and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(agf.mx_age_num
                 --                            ,p_new_val)) + 0.001 )
                              OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(agf.mx_age_num
                --                       ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 4957

      SELECT   p_oipl_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_age_fctr agf
              --,ben_age_rt_f art
              ,ben_elig_age_prte_f eap
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = eap.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                 --     AND p_new_val < ceil( NVL(agf.mx_age_num
                 --                      ,p_new_val)+ 0.001 ))
                 and p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                 --           OR p_new_val >= ceil( NVL(agf.mx_age_num
                 --                            ,p_new_val)) + 0.001 )
                              OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                --      AND p_old_val < ceil( NVL(agf.mx_age_num
                --                       ,p_old_val)) + 0.001 )
                 and p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 5190

      SELECT   p_plip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_acty_base_rt_f abr
              ,ben_acty_vrbl_rt_f avr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_age_rt_f art
              ,ben_age_fctr agf
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = art.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN art.effective_start_date
                   AND art.effective_end_date
      AND      art.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                    --   ceil( NVL(agf.mx_age_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )

                                     -- ceil( NVL(agf.mx_age_num
                                     --         , p_new_val))  + 0.001 )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                                     --ceil( NVL(agf.mx_age_num
                                     --  ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 5260

      SELECT   p_plip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_acty_base_rt_f abr
              ,ben_acty_vrbl_rt_f avr
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_elig_age_prte_f eap
              --,ben_age_rt_f art
              ,ben_age_fctr agf
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = eap.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                    --   ceil( NVL(agf.mx_age_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )

                                     -- ceil( NVL(agf.mx_age_num
                                     --         , p_new_val))  + 0.001 )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                                     --ceil( NVL(agf.mx_age_num
                                     --  ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 5485

      SELECT   p_ptip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_acty_base_rt_f abr
              ,ben_acty_vrbl_rt_f avr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_age_rt_f art
              ,ben_age_fctr agf
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = art.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN art.effective_start_date
                   AND art.effective_end_date
      AND      art.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(agf.mx_age_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(agf.mx_age_num
                                    --         ,p_new_val)) + 0.001)
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                                    -- ceil( NVL(agf.mx_age_num
                                    --   ,p_old_val)) + 0.001)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 5554

      SELECT   p_ptip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_acty_base_rt_f abr
              ,ben_acty_vrbl_rt_f avr
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_elig_age_prte_f eap
              --,ben_age_rt_f art
              ,ben_age_fctr agf
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = eap.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(agf.mx_age_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(agf.mx_age_num
                                    --         ,p_new_val)) + 0.001)
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                                    -- ceil( NVL(agf.mx_age_num
                                    --   ,p_old_val)) + 0.001)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 5778

      SELECT   p_oiplip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_acty_base_rt_f abr
              ,ben_acty_vrbl_rt_f avr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_age_rt_f art
              ,ben_age_fctr agf
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = art.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN art.effective_start_date
                   AND art.effective_end_date
      AND      art.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                   --  ceil( NVL(agf.mx_age_num
                                   --    , p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                       --    ceil( NVL(agf.mx_age_num
                                       --      ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                                       --  ceil( NVL(agf.mx_age_num
                                       --   ,p_old_val)) +  0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 5847

      SELECT   p_oiplip_id
              ,'Y'
              ,agf.age_det_cd
              ,agf.age_to_use_cd
              ,agf.age_uom
              ,agf.age_det_rl
              ,agf.rndg_cd
              ,agf.rndg_rl
              ,agf.age_calc_rl
              ,agf.mn_age_num
              ,agf.mx_age_num
      FROM     ben_acty_base_rt_f abr
              ,ben_acty_vrbl_rt_f avr
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_elig_age_prte_f eap
              --,ben_age_rt_f art
              ,ben_age_fctr agf
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = eap.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      eap.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN eap.effective_start_date
                   AND eap.effective_end_date
      AND      eap.age_fctr_id = agf.age_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(agf.mn_age_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                   --  ceil( NVL(agf.mx_age_num
                                   --    , p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(agf.mn_age_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(agf.mx_age_num,p_new_val) ,
                                    trunc(nvl(agf.mx_age_num,p_new_val))
                     ,decode(nvl(agf.mn_age_num,p_new_val), trunc(nvl(agf.mn_age_num,p_new_val)),
                      nvl(agf.mx_age_num,p_new_val)+1,nvl(agf.mx_age_num,p_new_val)+0.000000001),
                      nvl(agf.mx_age_num,p_new_val)+0.000000001 )  )
                                       --    ceil( NVL(agf.mx_age_num
                                       --      ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(agf.mn_age_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(agf.mx_age_num,p_old_val) ,
                                    trunc(nvl(agf.mx_age_num,p_old_val))
                     ,decode(nvl(agf.mn_age_num,p_old_val), trunc(nvl(agf.mn_age_num,p_old_val)),
                      nvl(agf.mx_age_num,p_old_val)+1,nvl(agf.mx_age_num,p_old_val)+0.000000001),
                      nvl(agf.mx_age_num,p_old_val)+0.000000001 )  )
                                       --  ceil( NVL(agf.mx_age_num
                                       --   ,p_old_val)) +  0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 6150

      SELECT   p_pgm_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(clf.mn_comp_val ,p_new_val)
                   and p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                 ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                  nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                  -- and p_old_val < clf.mn_comp_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(clf.mn_comp_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                   ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(clf.mn_comp_val ,p_old_val)
                    and p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 6339

      SELECT   p_pl_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pl_id = p_pl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(clf.mn_comp_val ,p_new_val)
                   and p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                 ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                  nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                  -- and p_old_val < clf.mn_comp_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(clf.mn_comp_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                   ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(clf.mn_comp_val ,p_old_val)
                    and p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 6527

      SELECT   p_oipl_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.oipl_id = p_oipl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(clf.mn_comp_val ,p_new_val)
                   and p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                 ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                  nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                  -- and p_old_val < clf.mn_comp_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(clf.mn_comp_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                   ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(clf.mn_comp_val ,p_old_val)
                    and p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 6715

      SELECT   p_plip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.plip_id = p_plip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(clf.mn_comp_val ,p_new_val)
                   and p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                 ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                  nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                  -- and p_old_val < clf.mn_comp_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(clf.mn_comp_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                   ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(clf.mn_comp_val ,p_old_val)
                    and p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 6903

      SELECT   p_ptip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(clf.mn_comp_val ,p_new_val)
                   and p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                 ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                  nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                  -- and p_old_val < clf.mn_comp_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(clf.mn_comp_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                   ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(clf.mn_comp_val ,p_old_val)
                    and p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 7164

      SELECT   p_pgm_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_comp_lvl_rt_f clr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = clr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN clr.effective_start_date
                   AND clr.effective_end_date
      AND      clr.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                        --   ceil( NVL(clf.mx_comp_val
                                        --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --   ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 7237

      SELECT   p_pgm_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              --,ben_comp_lvl_rt_f clr
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecl.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                        --   ceil( NVL(clf.mx_comp_val
                                        --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --   ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 7465

      SELECT   p_pl_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_comp_lvl_rt_f clr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = clr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN clr.effective_start_date
                   AND clr.effective_end_date
      AND      clr.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                        --  ceil( NVL(clf.mx_comp_val
                                        --   ,p_new_val)) + 0.001)
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                       -- ceil( NVL(clf.mx_comp_val
                                       -- ,p_old_val))+ 0.001)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 7538

      SELECT   p_pl_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              --,ben_comp_lvl_rt_f clr
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecl.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                        --  ceil( NVL(clf.mx_comp_val
                                        --   ,p_new_val)) + 0.001)
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                       -- ceil( NVL(clf.mx_comp_val
                                       -- ,p_old_val))+ 0.001)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 7768

      SELECT   p_oipl_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_comp_lvl_rt_f clr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = clr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN clr.effective_start_date
                   AND clr.effective_end_date
      AND      clr.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                     -- ceil( NVL(clf.mx_comp_val
                                     --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                          -- ceil( NVL(clf.mx_comp_val
                                          --  ,p_new_val))+ 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                          -- ceil( NVL(clf.mx_comp_val
                                          -- ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 7848

    SELECT   p_oipl_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              --,ben_comp_lvl_rt_f clr
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecl.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                     -- ceil( NVL(clf.mx_comp_val
                                     --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                          -- ceil( NVL(clf.mx_comp_val
                                          --  ,p_new_val))+ 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                          -- ceil( NVL(clf.mx_comp_val
                                          -- ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 8085

      SELECT   p_plip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_comp_lvl_rt_f clr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = clr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN clr.effective_start_date
                   AND clr.effective_end_date
      AND      clr.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val < decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(clf.mx_comp_val
                                   --    ,p_new_val) + 0.001))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >= decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                          -- ceil( NVL(clf.mx_comp_val
                                          -- ,p_new_val))  + 0.001)
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                   --ceil( NVL(clf.mx_comp_val
                                   --    ,p_old_val)) + 0.001)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 8158

      SELECT   p_plip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              --,ben_comp_lvl_rt_f clr
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecl.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val < decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(clf.mx_comp_val
                                   --    ,p_new_val) + 0.001))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >= decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                          -- ceil( NVL(clf.mx_comp_val
                                          -- ,p_new_val))  + 0.001)
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                   --ceil( NVL(clf.mx_comp_val
                                   --    ,p_old_val)) + 0.001)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 8386

      SELECT   p_ptip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_comp_lvl_rt_f clr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = clr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN clr.effective_start_date
                   AND clr.effective_end_date
      AND      clr.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                       --   ceil( NVL(clf.mx_comp_val
                                       --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                      -- ceil( NVL(clf.mx_comp_val
                                      --  ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 8459

    SELECT   p_ptip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              --,ben_comp_lvl_rt_f clr
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecl.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(clf.mx_comp_val
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                       --   ceil( NVL(clf.mx_comp_val
                                       --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                      -- ceil( NVL(clf.mx_comp_val
                                      --  ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 8687

      SELECT   p_oiplip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              ,ben_comp_lvl_rt_f clr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = clr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN clr.effective_start_date
                   AND clr.effective_end_date
      AND      clr.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(clf.mx_comp_val
                                  --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                       --   ceil( NVL(clf.mx_comp_val
                                       --    , p_new_val))+ 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                       -- ceil( NVL(clf.mx_comp_val
                                       -- ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 8760

      SELECT   p_oiplip_id
              ,'Y'
              ,clf.comp_lvl_uom
              ,clf.comp_src_cd
              ,clf.comp_lvl_det_cd
              ,clf.comp_lvl_det_rl
              ,clf.rndg_cd
              ,clf.rndg_rl
              ,clf.mn_comp_val
              ,clf.mx_comp_val
              ,clf.bnfts_bal_id
              ,clf.defined_balance_id
              ,clf.sttd_sal_prdcty_cd
              ,clf.comp_lvl_fctr_id
              ,clf.comp_calc_rl
      FROM     ben_comp_lvl_fctr clf
              --,ben_comp_lvl_rt_f clr
              ,ben_elig_comp_lvl_prte_f ecl
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecl.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecl.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecl.effective_start_date
                   AND ecl.effective_end_date
      AND      ecl.comp_lvl_fctr_id = clf.comp_lvl_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(clf.mn_comp_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(clf.mx_comp_val
                                  --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(clf.mn_comp_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(clf.mx_comp_val,p_new_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_new_val))
                     ,decode(nvl(clf.mn_comp_val,p_new_val), trunc(nvl(clf.mn_comp_val,p_new_val)),
                      nvl(clf.mx_comp_val,p_new_val)+1,nvl(clf.mx_comp_val,p_new_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_new_val)+0.000000001 )  )
                                       --   ceil( NVL(clf.mx_comp_val
                                       --    , p_new_val))+ 0.001 )
                      AND p_old_val >= NVL(clf.mn_comp_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(clf.mx_comp_val,p_old_val) ,
                                    trunc(nvl(clf.mx_comp_val,p_old_val))
                     ,decode(nvl(clf.mn_comp_val,p_old_val), trunc(nvl(clf.mn_comp_val,p_old_val)),
                      nvl(clf.mx_comp_val,p_old_val)+1,nvl(clf.mx_comp_val,p_old_val)+0.000000001),
                      nvl(clf.mx_comp_val,p_old_val)+0.000000001 )  )
                                       -- ceil( NVL(clf.mx_comp_val
                                       -- ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 9067

      SELECT   p_pgm_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(cla.cmbnd_min_val ,p_new_val)
                   and p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                 ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                  nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                  -- and p_old_val < cla.cmbnd_min_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(cla.cmbnd_min_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                   ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(cla.cmbnd_min_val ,p_old_val)
                    and p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 9247

      SELECT   p_pl_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pl_id = p_pl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(cla.cmbnd_min_val ,p_new_val)
                   and p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                 ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                  nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                  -- and p_old_val < cla.cmbnd_min_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(cla.cmbnd_min_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                   ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(cla.cmbnd_min_val ,p_old_val)
                    and p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 9427

      SELECT   p_oipl_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.oipl_id = p_oipl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(cla.cmbnd_min_val ,p_new_val)
                   and p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                 ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                  nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                  -- and p_old_val < cla.cmbnd_min_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(cla.cmbnd_min_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                   ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(cla.cmbnd_min_val ,p_old_val)
                    and p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 9607

      SELECT   p_plip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.plip_id = p_plip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(cla.cmbnd_min_val ,p_new_val)
                   and p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                 ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                  nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                  -- and p_old_val < cla.cmbnd_min_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(cla.cmbnd_min_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                   ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(cla.cmbnd_min_val ,p_old_val)
                    and p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 9787

      SELECT   p_ptip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(cla.cmbnd_min_val ,p_new_val)
                   and p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                 ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                  nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                  -- and p_old_val < cla.cmbnd_min_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(cla.cmbnd_min_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                   ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(cla.cmbnd_min_val ,p_old_val)
                    and p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 10040

      SELECT   p_pgm_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_cmbn_age_los_rt_f cmr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = cmr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN cmr.effective_start_date
                   AND cmr.effective_end_date
      AND      cmr.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
				-- ceil( NVL(cla.cmbnd_max_val
                                --       ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    --    ceil( NVL(cla.cmbnd_max_val
                                    --     , p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
					-- ceil( NVL(cla.cmbnd_max_val
                                        -- ,p_old_val)) +   0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 10104

      SELECT   p_pgm_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              --,ben_cmbn_age_los_rt_f cmr
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecp.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
				-- ceil( NVL(cla.cmbnd_max_val
                                --       ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    --    ceil( NVL(cla.cmbnd_max_val
                                    --     , p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
					-- ceil( NVL(cla.cmbnd_max_val
                                        -- ,p_old_val)) +   0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 10323

      SELECT   p_pl_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_cmbn_age_los_rt_f cmr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = cmr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN cmr.effective_start_date
                   AND cmr.effective_end_date
      AND      cmr.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --   ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val )) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --    ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 10387

      SELECT   p_pl_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              --,ben_cmbn_age_los_rt_f cmr
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecp.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --   ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val )) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --    ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 10608

      SELECT   p_oipl_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_cmbn_age_los_rt_f cmr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = cmr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN cmr.effective_start_date
                   AND cmr.effective_end_date
      AND      cmr.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --  ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --    ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil(NVL(cla.cmbnd_max_val
                                     --   ,l_old_val_1)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 10679

      SELECT   p_oipl_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              --,ben_cmbn_age_los_rt_f cmr
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecp.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --  ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --    ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil(NVL(cla.cmbnd_max_val
                                     --   ,l_old_val_1)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 10907

      SELECT   p_plip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_cmbn_age_los_rt_f cmr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = cmr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN cmr.effective_start_date
                   AND cmr.effective_end_date
      AND      cmr.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,l_new_val_1) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --   ceil(NVL(cla.cmbnd_max_val
                                     --    ,l_new_val_1)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,l_old_val_1)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 10971

      SELECT   p_plip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              --,ben_cmbn_age_los_rt_f cmr
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecp.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,l_new_val_1) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --   ceil(NVL(cla.cmbnd_max_val
                                     --    ,l_new_val_1)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,l_old_val_1)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 11189

      SELECT   p_ptip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_cmbn_age_los_rt_f cmr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = cmr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN cmr.effective_start_date
                   AND cmr.effective_end_date
      AND      cmr.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(cla.cmbnd_max_val
                                   --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --    ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 11253

      SELECT   p_ptip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              --,ben_cmbn_age_los_rt_f cmr
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecp.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(cla.cmbnd_max_val
                                   --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --    ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 11472

      SELECT   p_oiplip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              ,ben_cmbn_age_los_rt_f cmr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = cmr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN cmr.effective_start_date
                   AND cmr.effective_end_date
      AND      cmr.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --   ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 11536

      SELECT   p_oiplip_id
              ,'Y'
              ,cla.los_fctr_id
              ,cla.age_fctr_id
              ,cla.cmbnd_min_val
              ,cla.cmbnd_max_val
      FROM     ben_cmbn_age_los_fctr cla
              --,ben_cmbn_age_los_rt_f cmr
              ,ben_elig_cmbn_age_los_prte_f ecp
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ecp.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ecp.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ecp.effective_start_date
                   AND ecp.effective_end_date
      AND      ecp.cmbn_age_los_fctr_id = cla.cmbn_age_los_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(cla.cmbnd_min_val
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(cla.cmbnd_max_val
                                    --    ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(cla.cmbnd_min_val
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(cla.cmbnd_max_val,p_new_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_new_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_new_val), trunc(nvl(cla.cmbnd_min_val,p_new_val)),
                      nvl(cla.cmbnd_max_val,p_new_val)+1,nvl(cla.cmbnd_max_val,p_new_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_new_val)+0.000000001 )  )
                                     --   ceil( NVL(cla.cmbnd_max_val
                                     --    ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(cla.cmbnd_min_val
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(cla.cmbnd_max_val,p_old_val) ,
                                    trunc(nvl(cla.cmbnd_max_val,p_old_val))
                     ,decode(nvl(cla.cmbnd_min_val,p_old_val), trunc(nvl(cla.cmbnd_min_val,p_old_val)),
                      nvl(cla.cmbnd_max_val,p_old_val)+1,nvl(cla.cmbnd_max_val,p_old_val)+0.000000001),
                      nvl(cla.cmbnd_max_val,p_old_val)+0.000000001 )  )
                                     -- ceil( NVL(cla.cmbnd_max_val
                                     --   ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 11834

      SELECT   p_pgm_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(pff.mn_pct_val ,p_new_val)
                   and p_new_val <  decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                 ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                  nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                  -- and p_old_val < pff.mn_pct_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(pff.mn_pct_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                   ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                      nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(pff.mn_pct_val ,p_old_val)
                    and p_old_val <  decode(nvl(pff.mx_pct_val,p_old_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_old_val))
                     ,decode(nvl(pff.mn_pct_val,p_old_val), trunc(nvl(pff.mn_pct_val,p_old_val)),
                      nvl(pff.mx_pct_val,p_old_val)+1,nvl(pff.mx_pct_val,p_old_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 12017

      SELECT   p_pl_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pl_id = p_pl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(pff.mn_pct_val ,p_new_val)
                   and p_new_val <  decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                 ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                  nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                  -- and p_old_val < pff.mn_pct_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(pff.mn_pct_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                   ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                      nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(pff.mn_pct_val ,p_old_val)
                    and p_old_val <  decode(nvl(pff.mx_pct_val,p_old_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_old_val))
                     ,decode(nvl(pff.mn_pct_val,p_old_val), trunc(nvl(pff.mn_pct_val,p_old_val)),
                      nvl(pff.mx_pct_val,p_old_val)+1,nvl(pff.mx_pct_val,p_old_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 12199

      SELECT   p_oipl_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.oipl_id = p_oipl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(pff.mn_pct_val ,p_new_val)
                   and p_new_val <  decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                 ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                  nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                  -- and p_old_val < pff.mn_pct_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(pff.mn_pct_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                   ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                      nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(pff.mn_pct_val ,p_old_val)
                    and p_old_val <  decode(nvl(pff.mx_pct_val,p_old_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_old_val))
                     ,decode(nvl(pff.mn_pct_val,p_old_val), trunc(nvl(pff.mn_pct_val,p_old_val)),
                      nvl(pff.mx_pct_val,p_old_val)+1,nvl(pff.mx_pct_val,p_old_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 12381

      SELECT   p_plip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.plip_id = p_plip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(pff.mn_pct_val ,p_new_val)
                   and p_new_val <  decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                 ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                  nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                  -- and p_old_val < pff.mn_pct_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(pff.mn_pct_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                   ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                      nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(pff.mn_pct_val ,p_old_val)
                    and p_old_val <  decode(nvl(pff.mx_pct_val,p_old_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_old_val))
                     ,decode(nvl(pff.mn_pct_val,p_old_val), trunc(nvl(pff.mn_pct_val,p_old_val)),
                      nvl(pff.mx_pct_val,p_old_val)+1,nvl(pff.mx_pct_val,p_old_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 12563

      SELECT   p_ptip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(pff.mn_pct_val ,p_new_val)
                   and p_new_val <  decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                 ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                  nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                  -- and p_old_val < pff.mn_pct_val
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(pff.mn_pct_val,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(pff.mx_pct_val,p_new_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_new_val))
                   ,decode(nvl(pff.mn_pct_val,p_new_val), trunc(nvl(pff.mn_pct_val,p_new_val)),
                      nvl(pff.mx_pct_val,p_new_val)+1,nvl(pff.mx_pct_val,p_new_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(pff.mn_pct_val ,p_old_val)
                    and p_old_val <  decode(nvl(pff.mx_pct_val,p_old_val) ,
                                    trunc(nvl(pff.mx_pct_val,p_old_val))
                     ,decode(nvl(pff.mn_pct_val,p_old_val), trunc(nvl(pff.mn_pct_val,p_old_val)),
                      nvl(pff.mx_pct_val,p_old_val)+1,nvl(pff.mx_pct_val,p_old_val)+0.000000001),
                      nvl(pff.mx_pct_val,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 12818

      SELECT   p_pgm_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_pct_fl_tm_rt_f pfr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = pfr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN pfr.effective_start_date
                   AND pfr.effective_end_date
      AND      pfr.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100) <  (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1 )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100)  >= ( NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1 )
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < (NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 12869

      SELECT   p_pgm_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              --,ben_pct_fl_tm_rt_f pfr
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = epf.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100) <  (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1 )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100)  >= ( NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1 )
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < (NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13075

      SELECT   p_pl_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_pct_fl_tm_rt_f pfr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = pfr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN pfr.effective_start_date
                   AND pfr.effective_end_date
      AND      pfr.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100)  < ( NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1 )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100)  >= (NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1 )
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < ( NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13126

      SELECT   p_pl_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              --,ben_pct_fl_tm_rt_f pfr
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = epf.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100)  < ( NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1 )
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100)  >= (NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1 )
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < ( NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13334

      SELECT   p_oipl_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_pct_fl_tm_rt_f pfr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = pfr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN pfr.effective_start_date
                   AND pfr.effective_end_date
      AND      pfr.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100) < ( NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100) >= (NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) <( NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13392

      SELECT   p_oipl_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              --,ben_pct_fl_tm_rt_f pfr
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = epf.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100) < ( NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100) >= (NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) <( NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13607

      SELECT   p_plip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_pct_fl_tm_rt_f pfr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = pfr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN pfr.effective_start_date
                   AND pfr.effective_end_date
      AND      pfr.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100)  < (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100) >= ( NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < (NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13658

      SELECT   p_plip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              --,ben_pct_fl_tm_rt_f pfr
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = epf.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100)  < (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100) >= ( NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < (NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13864

      SELECT   p_ptip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_pct_fl_tm_rt_f pfr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = pfr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN pfr.effective_start_date
                   AND pfr.effective_end_date
      AND      pfr.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100) < (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100) >= (NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < ( NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 13915

      SELECT   p_ptip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              --,ben_pct_fl_tm_rt_f pfr
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = epf.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100) < (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR (p_new_val*100) >= (NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < ( NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 14121

      SELECT   p_oiplip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              ,ben_pct_fl_tm_rt_f pfr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = pfr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN pfr.effective_start_date
                   AND pfr.effective_end_date
      AND      pfr.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100)  < (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR  (p_new_val*100) >= ( NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < (NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 14172

      SELECT   p_oiplip_id
              ,'Y'
              ,pff.use_prmry_asnt_only_flag
              ,pff.use_sum_of_all_asnts_flag
              ,pff.rndg_cd
              ,pff.rndg_rl
              ,pff.mn_pct_val
              ,pff.mx_pct_val
      FROM     ben_pct_fl_tm_fctr pff
              --,ben_pct_fl_tm_rt_f pfr
              ,ben_elig_pct_fl_tm_prte_f epf
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = epf.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      epf.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN epf.effective_start_date
                   AND epf.effective_end_date
      AND      epf.pct_fl_tm_fctr_id = pff.pct_fl_tm_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(pff.mn_pct_val
                                        ,p_new_val)
                      AND (p_new_val*100)  < (NVL(pff.mx_pct_val
                                       ,p_new_val)*100)+1)
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(pff.mn_pct_val
                                            ,p_new_val)
                            OR  (p_new_val*100) >= ( NVL(pff.mx_pct_val
                                             ,p_new_val)*100)+1)
                      AND p_old_val >= NVL(pff.mn_pct_val
                                        ,p_old_val)
                      AND (p_old_val*100) < (NVL(pff.mx_pct_val
                                       ,p_old_val)*100)+1)
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 14457

      SELECT   p_pgm_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(hwf.mn_hrs_num ,p_new_val)
                   and p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                 ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                  nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                  -- and p_old_val < hwf.mn_hrs_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(hwf.mn_hrs_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                   ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(hwf.mn_hrs_num ,p_old_val)
                    and p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 14644

      SELECT   p_pl_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.pl_id = p_pl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(hwf.mn_hrs_num ,p_new_val)
                   and p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                 ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                  nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                  -- and p_old_val < hwf.mn_hrs_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(hwf.mn_hrs_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                   ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(hwf.mn_hrs_num ,p_old_val)
                    and p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 14831

      SELECT   p_oipl_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.oipl_id = p_oipl_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(hwf.mn_hrs_num ,p_new_val)
                   and p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                 ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                  nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                  -- and p_old_val < hwf.mn_hrs_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(hwf.mn_hrs_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                   ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(hwf.mn_hrs_num ,p_old_val)
                    and p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 15018

      SELECT   p_plip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.plip_id = p_plip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(hwf.mn_hrs_num ,p_new_val)
                   and p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                 ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                  nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                  -- and p_old_val < hwf.mn_hrs_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(hwf.mn_hrs_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                   ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(hwf.mn_hrs_num ,p_old_val)
                    and p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 15205

      SELECT   p_ptip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_prtn_elig_prfl_f cep
              ,ben_prtn_elig_f epa
      WHERE    epa.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN epa.effective_start_date
                   AND epa.effective_end_date
      AND      epa.prtn_elig_id = cep.prtn_elig_id
      AND      p_effective_date BETWEEN cep.effective_start_date
                   AND cep.effective_end_date
      AND      cep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND     (
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND p_new_val >= NVL(hwf.mn_hrs_num ,p_new_val)
                   and p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                 ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                  nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                  -- and p_old_val < hwf.mn_hrs_num
                  )
                 OR
                 (
                   p_new_val IS NOT NULL
                   AND p_old_val IS NOT NULL
                   AND
                   (
                    p_new_val < NVL(hwf.mn_hrs_num,p_new_val)
                    OR
                    p_new_val >=   decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                   ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )
                     )
                    AND p_old_val >= NVL(hwf.mn_hrs_num ,p_old_val)
                    and p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )
                  )
                 OR
                  (  p_new_val IS NULL
                     AND p_old_val IS NULL
                   )
            );
Line: 15465

      SELECT   p_pgm_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = hwr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN hwr.effective_start_date
                   AND hwr.effective_end_date
      AND      hwr.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(hwf.mx_hrs_num
                                   --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(hwf.mx_hrs_num
                                   --          ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --      ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 15536

      SELECT   p_pgm_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              --,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pgm_id = p_pgm_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ehw.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(hwf.mx_hrs_num
                                   --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(hwf.mx_hrs_num
                                   --          ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --      ,p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 15762

      SELECT   p_pl_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = hwr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN hwr.effective_start_date
                   AND hwr.effective_end_date
      AND      hwr.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                    -- ceil(NVL(hwf.mx_hrs_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --           ,p_new_val))  + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --     ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 15833

      SELECT   p_pl_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              --,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.pl_id = p_pl_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ehw.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                    -- ceil(NVL(hwf.mx_hrs_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --           ,p_new_val))  + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --     ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 16061

      SELECT   p_oipl_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = hwr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN hwr.effective_start_date
                   AND hwr.effective_end_date
      AND      hwr.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(hwf.mx_hrs_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil(NVL(hwf.mx_hrs_num
                                  --            ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil(NVL(hwf.mx_hrs_num
                                  --      ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 16139

      SELECT   p_oipl_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              --,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    ( abr.oipl_id = p_oipl_id
      --
      --START Option level Rates Enhancements
               or ( abr.opt_id = l_opt_id and
                     not exists (select null from ben_acty_base_rt_f abr1
                     where abr1.oipl_id = p_oipl_id )))
      --END Option level Rates Enhancements
      --
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ehw.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                    -- ceil( NVL(hwf.mx_hrs_num
                                    --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil(NVL(hwf.mx_hrs_num
                                  --            ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil(NVL(hwf.mx_hrs_num
                                  --      ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 16374

      SELECT   p_plip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = hwr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN hwr.effective_start_date
                   AND hwr.effective_end_date
      AND      hwr.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                     -- ceil( NVL(hwf.mx_hrs_num
                                     --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --            ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                 -- ceil( NVL(hwf.mx_hrs_num
                                 --      , p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 16445

      SELECT   p_plip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              --,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.plip_id = p_plip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ehw.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                     -- ceil( NVL(hwf.mx_hrs_num
                                     --   ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --            ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                 -- ceil( NVL(hwf.mx_hrs_num
                                 --      , p_old_val))  + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 16671

      SELECT   p_ptip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = hwr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN hwr.effective_start_date
                   AND hwr.effective_end_date
      AND      hwr.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(hwf.mx_hrs_num
                                   --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --            , p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --     ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 16742

      SELECT   p_ptip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              --,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.ptip_id = p_ptip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ehw.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                   -- ceil( NVL(hwf.mx_hrs_num
                                   --     ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --            , p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --     ,p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 16968

      SELECT   p_oiplip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              ,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
      AND      vpf.vrbl_rt_prfl_id = hwr.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN hwr.effective_start_date
                   AND hwr.effective_end_date
      AND      hwr.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --      ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --            ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --     , p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 17039

      SELECT   p_oiplip_id
              ,'Y'
              ,hwf.hrs_src_cd
              ,hwf.hrs_wkd_det_cd
              ,hwf.hrs_wkd_det_rl
              ,hwf.rndg_cd
              ,hwf.rndg_rl
              ,hwf.defined_balance_id
              ,hwf.bnfts_bal_id
              ,hwf.mn_hrs_num
              ,hwf.mx_hrs_num
              ,hwf.once_r_cntug_cd
              ,hwf.hrs_wkd_calc_rl
      FROM     ben_hrs_wkd_in_perd_fctr hwf
              --,ben_hrs_wkd_in_perd_rt_f hwr
              ,ben_elig_hrs_wkd_prte_f ehw
              ,ben_eligy_prfl_f elp
              ,ben_vrbl_rt_elig_prfl_f vep
              ,ben_vrbl_rt_prfl_f vpf
              ,ben_acty_vrbl_rt_f avr
              ,ben_acty_base_rt_f abr
      WHERE    abr.oiplip_id = p_oiplip_id
      AND      p_effective_date BETWEEN abr.effective_start_date
                   AND abr.effective_end_date
      AND      abr.acty_base_rt_id = avr.acty_base_rt_id
      AND      p_effective_date BETWEEN avr.effective_start_date
                   AND avr.effective_end_date
      AND      avr.vrbl_rt_prfl_id = vpf.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vpf.effective_start_date
                   AND vpf.effective_end_date
--      AND      vpf.vrbl_rt_prfl_id = ehw.vrbl_rt_prfl_id
      AND      vpf.vrbl_rt_prfl_id = vep.vrbl_rt_prfl_id
      AND      p_effective_date BETWEEN vep.effective_start_date
                   AND vep.effective_end_date
      AND      vep.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN elp.effective_start_date
                   AND elp.effective_end_date
      AND      ehw.eligy_prfl_id = elp.eligy_prfl_id
      AND      p_effective_date BETWEEN ehw.effective_start_date
                   AND ehw.effective_end_date
      AND      ehw.hrs_wkd_in_perd_fctr_id = hwf.hrs_wkd_in_perd_fctr_id
      AND      (
                    (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND p_new_val >= NVL(hwf.mn_hrs_num
                                        ,p_new_val)
                      AND p_new_val <  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --      ,p_new_val) + 0.001 ))
                 OR (
                          p_new_val IS NOT NULL
                      AND p_old_val IS NOT NULL
                      AND (
                               p_new_val < NVL(hwf.mn_hrs_num
                                            ,p_new_val)
                            OR p_new_val >=  decode(nvl(hwf.mx_hrs_num,p_new_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_new_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_new_val), trunc(nvl(hwf.mn_hrs_num,p_new_val)),
                      nvl(hwf.mx_hrs_num,p_new_val)+1,nvl(hwf.mx_hrs_num,p_new_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_new_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --            ,p_new_val)) + 0.001 )
                      AND p_old_val >= NVL(hwf.mn_hrs_num
                                        ,p_old_val)
                      AND p_old_val <  decode(nvl(hwf.mx_hrs_num,p_old_val) ,
                                    trunc(nvl(hwf.mx_hrs_num,p_old_val))
                     ,decode(nvl(hwf.mn_hrs_num,p_old_val), trunc(nvl(hwf.mn_hrs_num,p_old_val)),
                      nvl(hwf.mx_hrs_num,p_old_val)+1,nvl(hwf.mx_hrs_num,p_old_val)+0.000000001),
                      nvl(hwf.mx_hrs_num,p_old_val)+0.000000001 )  )
                                  -- ceil( NVL(hwf.mx_hrs_num
                                  --     , p_old_val)) + 0.001 )
                 OR (    p_new_val IS NULL
                     AND p_old_val IS NULL));
Line: 17341

    g_cache_pl_los_el_rec.delete;
Line: 17342

    g_cache_oipl_los_el_rec.delete;
Line: 17343

    g_cache_plip_los_el_rec.delete;
Line: 17344

    g_cache_ptip_los_el_rec.delete;
Line: 17345

    g_cache_pgm_los_el_rec.delete;
Line: 17346

    g_cache_pl_los_rt_rec.delete;
Line: 17347

    g_cache_oipl_los_rt_rec.delete;
Line: 17348

    g_cache_plip_los_rt_rec.delete;
Line: 17349

    g_cache_ptip_los_rt_rec.delete;
Line: 17350

    g_cache_oiplip_los_rt_rec.delete;
Line: 17351

    g_cache_pgm_los_rt_rec.delete;
Line: 17352

    g_cache_stated_los_rec.delete;
Line: 17353

    g_cache_pl_age_el_rec.delete;
Line: 17354

    g_cache_oipl_age_el_rec.delete;
Line: 17355

    g_cache_plip_age_el_rec.delete;
Line: 17356

    g_cache_ptip_age_el_rec.delete;
Line: 17357

    g_cache_pgm_age_el_rec.delete;
Line: 17358

    g_cache_pl_age_rt_rec.delete;
Line: 17359

    g_cache_oipl_age_rt_rec.delete;
Line: 17360

    g_cache_plip_age_rt_rec.delete;
Line: 17361

    g_cache_ptip_age_rt_rec.delete;
Line: 17362

    g_cache_oiplip_age_rt_rec.delete;
Line: 17363

    g_cache_pgm_age_rt_rec.delete;
Line: 17364

    g_cache_stated_age_rec.delete;
Line: 17365

    g_cache_pl_clf_el_rec.delete;
Line: 17366

    g_cache_oipl_clf_el_rec.delete;
Line: 17367

    g_cache_plip_clf_el_rec.delete;
Line: 17368

    g_cache_ptip_clf_el_rec.delete;
Line: 17369

    g_cache_pgm_clf_el_rec.delete;
Line: 17370

    g_cache_pl_clf_rt_rec.delete;
Line: 17371

    g_cache_oipl_clf_rt_rec.delete;
Line: 17372

    g_cache_plip_clf_rt_rec.delete;
Line: 17373

    g_cache_oiplip_clf_rt_rec.delete;
Line: 17374

    g_cache_ptip_clf_rt_rec.delete;
Line: 17375

    g_cache_pgm_clf_rt_rec.delete;
Line: 17376

    g_cache_pl_cla_el_rec.delete;
Line: 17377

    g_cache_oipl_cla_el_rec.delete;
Line: 17378

    g_cache_plip_cla_el_rec.delete;
Line: 17379

    g_cache_ptip_cla_el_rec.delete;
Line: 17380

    g_cache_pgm_cla_el_rec.delete;
Line: 17381

    g_cache_pl_cla_rt_rec.delete;
Line: 17382

    g_cache_oipl_cla_rt_rec.delete;
Line: 17383

    g_cache_plip_cla_rt_rec.delete;
Line: 17384

    g_cache_oiplip_cla_rt_rec.delete;
Line: 17385

    g_cache_ptip_cla_rt_rec.delete;
Line: 17386

    g_cache_pgm_cla_rt_rec.delete;
Line: 17387

    g_cache_pl_pff_el_rec.delete;
Line: 17388

    g_cache_oipl_pff_el_rec.delete;
Line: 17389

    g_cache_plip_pff_el_rec.delete;
Line: 17390

    g_cache_ptip_pff_el_rec.delete;
Line: 17391

    g_cache_pgm_pff_el_rec.delete;
Line: 17392

    g_cache_pl_pff_rt_rec.delete;
Line: 17393

    g_cache_oipl_pff_rt_rec.delete;
Line: 17394

    g_cache_plip_pff_rt_rec.delete;
Line: 17395

    g_cache_oiplip_pff_rt_rec.delete;
Line: 17396

    g_cache_ptip_pff_rt_rec.delete;
Line: 17397

    g_cache_pgm_pff_rt_rec.delete;
Line: 17398

    g_cache_pl_hwf_el_rec.delete;
Line: 17399

    g_cache_oipl_hwf_el_rec.delete;
Line: 17400

    g_cache_plip_hwf_el_rec.delete;
Line: 17401

    g_cache_ptip_hwf_el_rec.delete;
Line: 17402

    g_cache_pgm_hwf_el_rec.delete;
Line: 17403

    g_cache_pl_hwf_rt_rec.delete;
Line: 17404

    g_cache_oipl_hwf_rt_rec.delete;
Line: 17405

    g_cache_plip_hwf_rt_rec.delete;
Line: 17406

    g_cache_oiplip_hwf_rt_rec.delete;
Line: 17407

    g_cache_ptip_hwf_rt_rec.delete;
Line: 17408

    g_cache_pgm_hwf_rt_rec.delete;