DBA Data[Home] [Help]

APPS.AP_WEB_POLICY_UTILS SQL Statements

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

Line: 40

        SELECT * INTO ret_val FROM (
            SELECT p_person_id, effective_start_date, effective_end_date, grade_id, job_id, position_id
            FROM per_all_assignments_f ass,
                 per_employees_x P
            WHERE P.EMPLOYEE_ID = p_person_id
              AND ass.person_id = P.employee_id
              AND NOT AP_WEB_DB_HR_INT_PKG.isPersonCwk(P.employee_id)='Y'
              AND p_date >= effective_start_date and p_date <= effective_end_date
              AND ass.assignment_type = 'E'
            UNION ALL
            SELECT p_person_id, effective_start_date, effective_end_date, grade_id, job_id, position_id
            FROM per_all_assignments_f ass,
                 per_cont_workers_current_x P
            WHERE ass.assignment_id = P.assignment_id
              AND P.PERSON_ID = p_person_id
              AND p_date >= effective_start_date and p_date <= effective_end_date
              AND ass.assignment_type = 'C')
        WHERE ROWNUM = 1;
Line: 213

    SELECT end_date
    INTO   l_sch_end_date
    FROM   ap_pol_headers
    WHERE  policy_id = p_policy_id;
Line: 226

      SELECT count(status)
      INTO   l_no__saved_or_duplicated
      FROM   ap_pol_lines
      WHERE  policy_id = p_policy_id
      AND    ( status = 'SAVED' OR status = 'DUPLICATED' or status ='INVALID' or status = 'NEW' or status = 'VALID');
Line: 233

      SELECT count(status)
      INTO   l_no__active_or_inactive
      FROM   ap_pol_lines
      WHERE  policy_id = p_policy_id
      AND    ( status = 'ACTIVE' OR status = 'INACTIVE' );
Line: 333

      SELECT meaning
      INTO   l_meaning
      FROM   fnd_lookup_values_vl
      WHERE  lookup_type = p_lookup_type
        AND  lookup_code = p_lookup_code ;
Line: 382

      SELECT description
      INTO   l_description
      FROM   fnd_lookup_values_vl
      WHERE  lookup_type = p_lookup_type
        AND  lookup_code = p_lookup_code ;
Line: 423

  SELECT threshold
  FROM ap_pol_schedule_options
  WHERE option_type = p_lookup_type
  AND   policy_id   = p_policy_id
  ORDER BY threshold;
Line: 521

  SELECT count(1)
  INTO l_count
  FROM AP_POL_CONTEXT
  WHERE user_id = p_user_id;
Line: 566

    SELECT pco.CATEGORY_OPTION_ID,
           pco.CATEGORY_CODE,
           pco.ORG_ID,
           pc.user_id,
           pc.selected_org_id
    FROM AP_POL_CAT_OPTIONS_ALL pco,
         AP_POL_CONTEXT         pc
    WHERE pco.org_id(+)        = pc.selected_org_id
    AND   pco.category_code(+) = p_category_code
    AND   pc.user_id           = p_user_id;
Line: 580

      INSERT INTO ap_pol_cat_options_all
             (category_option_id,
              category_code,
              org_id,
              distance_uom,
              distance_field,
              destination_field,
              license_plate_field,
              attendees_field,
              attendees_number_field,
              end_date_field,
              merchant_field,
              ticket_class_field,
              ticket_number_field,
              location_to_field,
              location_from_field,
              creation_date,
              created_by,
              last_update_login,
              last_update_date,
              last_updated_by)
      VALUES (AP_POL_CAT_OPTIONS_S.nextval,
              p_category_code,
              user_cat_options_rec.selected_org_id,
              DECODE(p_category_code,
                     'MILEAGE','KM',
                     NULL), --distance_uom
              DECODE(p_category_code,
                     'MILEAGE','TRIP_DISTANCE',
                     NULL), --distance_field,
              DECODE(p_category_code,
                     'MILEAGE','ENABLED',
                     NULL), --destination_field,
              DECODE(p_category_code,
                     'MILEAGE','DISABLED',
                     NULL), --license_plate_field,
              DECODE(p_category_code,
                     'MEALS','ENABLED',
                     NULL), --attendees_field,
              DECODE(p_category_code,
                     'MEALS','ENABLED',
                     NULL), --attendees_number_field,
              DECODE(p_category_code,
                     'ACCOMMODATIONS','ENABLED',
                     NULL), --end_date_field,
              DECODE(p_category_code,
                     'ACCOMMODATIONS','ENABLED',
                     'AIRFARE','ENABLED',
                     'CAR_RENTAL','ENABLED',
                     NULL), --merchant_field,
              DECODE(p_category_code,
                     'AIRFARE','ENABLED',
                     NULL), --ticket_class_field,
              DECODE(p_category_code,
                     'AIRFARE','ENABLED',
                     NULL), --ticket_number_field,
              DECODE(p_category_code,
                     'AIRFARE','ENABLED',
                     NULL), --location_to_field,
              DECODE(p_category_code,
                     'AIRFARE','ENABLED',
                     NULL), --location_from_field,
              SYSDATE,
              p_user_id,
              NULL,
              SYSDATE,
              p_user_id);
Line: 681

    SELECT 'Y'
    FROM dual
    WHERE exists (select 'x' from ap_pol_locations_b);
Line: 687

    SELECT count(1) missing_translation_count
    FROM ap_pol_locations_tl
    WHERE language = p_language_code
    AND   language <> source_lang;
Line: 755

    select DECODE(per.PERSON_ID,
                  null, usr.USER_NAME,
                  per.full_name) employee_name
    from fnd_user usr, per_people_x per
    where usr.user_id     = p_user_id
    and   usr.employee_id = per.person_id(+);
Line: 803

    select location
    from   ap_pol_locations_vl
    where  location_id = p_location_id;
Line: 848

    select name||' - '||currency_code currency_display
    from   fnd_currencies_vl
    where  currency_code = p_currency_code;
Line: 893

    select ph.role_code,
           pl.role_id
    from ap_pol_headers ph,
         ap_pol_lines   pl
    where pl.policy_id = ph.policy_id
    and   pl.policy_line_id = p_policy_line_id;
Line: 940

    select ph.role_code,
           pso.role_id
    from ap_pol_headers ph,
         ap_pol_schedule_options   pso
    where ph.policy_id = pso.policy_id
    and   pso.schedule_option_id = p_policy_schedule_option_id;
Line: 988

    select name,
           substrb(name,instrb(name,'.',-1)+1) parsed_name
    from   per_jobs
    where  job_id = p_role_id;
Line: 994

    select name,
           substrb(name,instrb(name,'.',-1)+1) parsed_name
    from   per_grades
    where  grade_id = p_role_id;
Line: 1000

    select name,
           substrb(name,instrb(name,'.',-1)+1) parsed_name
    from   hr_all_positions_f
    where  position_id = p_role_id;
Line: 1157

    SELECT ex.EXCHANGE_RATE_ID,
           ex.ORG_ID,
           pc.user_id,
           pc.selected_org_id
    FROM AP_POL_EXRATE_OPTIONS_ALL ex,
         AP_POL_CONTEXT         pc
    WHERE ex.org_id(+)        = pc.selected_org_id
    AND   pc.user_id          = p_user_id;
Line: 1169

      INSERT INTO ap_pol_exrate_options_all
             (exchange_rate_id,
              enabled,
              default_exchange_rates,
              exchange_rate_type,
              exchange_rate_allowance,
              overall_tolerance,
              org_id,
              creation_date,
              created_by,
              last_update_login,
              last_update_date,
              last_updated_by)
      VALUES (AP_POL_EXRATE_OPTIONS_S.nextval,
              'N',
              'N',
              'Corporate',
              null,
              null,
              user_exrate_options_rec.selected_org_id,
              SYSDATE,
              p_user_id,
              NULL,
              SYSDATE,
              p_user_id);
Line: 1227

    SELECT nvl(multi_org_flag, 'N') multi_org_flag
    FROM fnd_product_groups;
Line: 1303

    SELECT threshold
    FROM   ap_pol_schedule_options
    WHERE  policy_id = p_policy_id
    AND    threshold is not null
    AND    nvl(rate_type_code, 'STANDARD') = p_rate_type
    ORDER BY threshold;
Line: 1362

  select category_code
  into   l_category_code
  from   ap_pol_headers
  where  policy_id = p_policy_id;
Line: 1416

    select location_flag
    into   l_location_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1421

    select count(location_id)
    into   l_location_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    option_type = c_LOCATION
    and    location_id is not null;
Line: 1448

    select employee_role_flag
    into   l_employee_role_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1453

    select count(role_id)
    into   l_role_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    option_type = c_EMPLOYEE_ROLE
    and    role_id is not null;
Line: 1480

    select currency_preference
    into   l_currency_preference
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1485

    select count(currency_code)
    into   l_currency_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    option_type = c_CURRENCY
    and    currency_code is not null;
Line: 1512

    select vehicle_category_flag
    into   l_vehicle_category_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1517

    select count(option_code)
    into   l_vehicle_category_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    option_type  = c_VEHICLE_CATEGORY
    and    option_code is not null;
Line: 1544

    select vehicle_type_flag
    into   l_vehicle_type_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1549

    select count(option_code)
    into   l_vehicle_type_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    option_type  = c_VEHICLE_TYPE
    and    option_code is not null;
Line: 1576

    select fuel_type_flag
    into   l_fuel_type_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1581

    select count(option_code)
    into   l_fuel_type_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    option_type  = c_FUEL_TYPE
    and    option_code is not null;
Line: 1608

    select nvl(time_based_entry_flag, 'N')
    into   l_time_based_entry_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1613

    select count(threshold)
    into   l_thresholds_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    (option_type = c_TIME_THRESHOLD)
    and    threshold is not null;
Line: 1640

    select nvl2(distance_thresholds_flag, 'Y', 'N')
    into   l_distance_thresholds_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1645

    select count(threshold)
    into   l_thresholds_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    (option_type  = c_DISTANCE_THRESHOLD)
    and    threshold is not null;
Line: 1696

    select nvl(addon_mileage_rates_flag, 'N')
    into   l_addon_mileage_rates_flag
    from   ap_pol_headers
    where  policy_id = p_policy_id;
Line: 1701

    select count(1)
    into   l_addon_rates_count
    from   ap_pol_schedule_options
    where  policy_id = p_policy_id
    and    (option_type  = c_ADDON_RATES)
    and    option_code is not null;
Line: 1767

  l_src_stmt			VARCHAR2(160) := 'union all select CURRENCY_CODE from ap_pol_headers where POLICY_ID = :p_policy_id';
Line: 1769

  l_vc_stmt			VARCHAR2(80) := 'union all select to_char(null), to_char(null), to_char(null) from sys.dual';
Line: 1770

  l_number_stmt			VARCHAR2(80) := 'union all select to_number(null) from sys.dual';
Line: 1771

  l_varchar2_stmt		VARCHAR2(80) := 'union all select to_char(null) from sys.dual';
Line: 1775

  select currency_preference
  into   l_currency_preference
  from   ap_pol_headers
  where  policy_id = p_policy_id;
Line: 1800

        if Vehicle Category is not selected
        then return 3 nulls (option_code, vehicle_type_code, fuel_type_code)
      */
      return l_vc_stmt;
Line: 1848

    update ap_pol_lines
    set    ticket_class_domestic = 'COACH'
    where  policy_id = p_policy_id
    and    ticket_class_domestic is null;
Line: 1853

    update ap_pol_lines
    set    ticket_class_international = 'COACH'
    where  policy_id = p_policy_id
    and    ticket_class_international is null;
Line: 1899

  l_insert_sql_stmt		VARCHAR2(4000);
Line: 1932

  select schedule_period_id
  from   ap_pol_schedule_periods
  where  policy_id = p_policy_id;
Line: 1940

  select distinct rate_type_code
  from   ap_pol_schedule_options
  where  policy_id = p_policy_id
  and    rate_type_code in ('FIRST_PERIOD', 'LAST_PERIOD', 'SAME_DAY')
  and    option_type = 'TIME_THRESHOLD';
Line: 1949

cursor l_insert_cursor is
select
'
  insert into AP_POL_LINES
        (
         POLICY_LINE_ID,
         POLICY_ID,
         SCHEDULE_PERIOD_ID,
         LOCATION_ID,
         ROLE_ID,
         CURRENCY_CODE,
         VEHICLE_CATEGORY,
         VEHICLE_TYPE,
         FUEL_TYPE,
         RANGE_LOW,
         RANGE_HIGH,
         RATE_TYPE_CODE,
         STATUS,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
        )
  select
         AP_POL_LINES_S.NEXTVAL AS POLICY_LINE_ID,
         :p_policy_id AS POLICY_ID,
         :p_schedule_period_id AS SCHEDULE_PERIOD_ID,
         NEW_LOCATION_ID AS LOCATION_ID,
         NEW_ROLE_ID AS ROLE_ID,
         NEW_CURRENCY_CODE AS CURRENCY_CODE,
         NEW_VEHICLE_CATEGORY AS VEHICLE_CATEGORY,
         NEW_VEHICLE_TYPE AS VEHICLE_TYPE,
         NEW_FUEL_TYPE AS FUEL_TYPE,
         NEW_RANGE_LOW AS RANGE_LOW,
         NEW_RANGE_HIGH AS RANGE_HIGH,
         NEW_RATE_TYPE_CODE AS RATE_TYPE_CODE,
         ''NEW'' AS STATUS,
         sysdate AS CREATION_DATE,
         :p_user_id AS CREATED_BY,
         sysdate AS LAST_UPDATE_DATE,
         :p_user_id AS LAST_UPDATED_BY
  from
  (
  select distinct
         NEW_LOCATION_ID,
         NEW_ROLE_ID,
         NEW_CURRENCY_CODE,
         NEW_VEHICLE_CATEGORY,
         NEW_VEHICLE_TYPE,
         NEW_FUEL_TYPE,
         NEW_RANGE_LOW,
         NEW_RANGE_HIGH,
         NEW_RATE_TYPE_CODE
  from
  (
  select
          l.LOCATION_ID AS NEW_LOCATION_ID,
          r.ROLE_ID AS NEW_ROLE_ID,
          c.CURRENCY_CODE AS NEW_CURRENCY_CODE,
         vc.OPTION_CODE AS NEW_VEHICLE_CATEGORY,
         decode(vc.OPTION_CODE, null, vt.OPTION_CODE, decode(vc.VEHICLE_TYPE_CODE, ''R'', vt.OPTION_CODE, null)) AS NEW_VEHICLE_TYPE,
         decode(vc.OPTION_CODE, null, ft.OPTION_CODE, decode(vc.FUEL_TYPE_CODE, ''R'', ft.OPTION_CODE, null)) AS NEW_FUEL_TYPE,
         dt.THRESHOLD AS NEW_RANGE_LOW,
         ap_web_policy_UTILS.getHighEndOfThreshold(:p_policy_id, dt.THRESHOLD) AS NEW_RANGE_HIGH,
         :p_rate_type AS NEW_RATE_TYPE_CODE
  from
'
from sys.dual; /* l_insert_cursor */
Line: 2022

select
'
      (select LOCATION_ID
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_LOCATION
       and    LOCATION_ID IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_location_enabled||'
      ) l,
'
from sys.dual; /* l_l_cursor */
Line: 2040

select
'
      (select ROLE_ID
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_EMPLOYEE_ROLE
       and    ROLE_ID IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_role_enabled||'
      ) r,
'
from sys.dual; /* l_r_cursor */
Line: 2058

select
'
      (select CURRENCY_CODE
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_CURRENCY
       and    CURRENCY_CODE IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_currency_enabled||'
      ) c,
'
from sys.dual; /* l_c_cursor */
Line: 2076

select
'
      (select OPTION_CODE, VEHICLE_TYPE_CODE, FUEL_TYPE_CODE
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_VEHICLE_CATEGORY
       and    OPTION_CODE IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_vehicle_category_enabled||'
      ) vc,
'
from sys.dual; /* l_vc_cursor */
Line: 2094

select
'
      (select OPTION_CODE
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_VEHICLE_TYPE
       and    OPTION_CODE IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_vehicle_type_enabled||'
      ) vt,
'
from sys.dual; /* l_vt_cursor */
Line: 2112

select
'
      (select OPTION_CODE
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_FUEL_TYPE
       and    OPTION_CODE IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_fuel_type_enabled||'
      ) ft,
'
from sys.dual; /* l_ft_cursor */
Line: 2130

select
'
      (select THRESHOLD
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    (OPTION_TYPE = :c_DISTANCE_THRESHOLD or OPTION_TYPE = :c_TIME_THRESHOLD)
       and    THRESHOLD IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
       and    nvl(rate_type_code, ''NULL'') = nvl(:p_rate_type, ''NULL'')
         '||l_thresholds_enabled||'
      ) dt
'
from sys.dual; /* l_dt_cursor */
Line: 2150

select
'
  )
  where
        (
         NEW_LOCATION_ID is not null
  or     NEW_ROLE_ID is not null
  or     NEW_CURRENCY_CODE is not null
  or     NEW_VEHICLE_CATEGORY is not null
  or     NEW_VEHICLE_TYPE is not null
  or     NEW_FUEL_TYPE is not null
  or     NEW_RANGE_LOW is not null
  or     NEW_RANGE_HIGH is not null
        )
  )
'
from sys.dual; /* l_where_cursor */
Line: 2173

select
'
  )
  where
        (
         NEW_LOCATION_ID is not null
  or     NEW_ROLE_ID is not null
  or     NEW_CURRENCY_CODE is not null
  or     NEW_VEHICLE_CATEGORY is not null
  or     NEW_VEHICLE_TYPE is not null
  or     NEW_FUEL_TYPE is not null
  or     NEW_RANGE_LOW is not null
  or     NEW_RANGE_HIGH is not null
        )
  and
  not exists
        (
         select epl.POLICY_LINE_ID
         from   AP_POL_LINES epl
         where  epl.POLICY_ID = :p_policy_id
         and    epl.SCHEDULE_PERIOD_ID = :p_schedule_period_id
         and    nvl(epl.LOCATION_ID, :dummy_number) = nvl(NEW_LOCATION_ID, :dummy_number)
         and    nvl(epl.ROLE_ID, :dummy_number) = nvl(NEW_ROLE_ID, :dummy_number)
         and
               (
                (nvl(epl.CURRENCY_CODE, :dummy_varchar2) = nvl(NEW_CURRENCY_CODE, :dummy_varchar2))
                or
                (epl.CURRENCY_CODE is not null and NEW_CURRENCY_CODE is null)
               )
         and    nvl(epl.VEHICLE_CATEGORY, :dummy_varchar2) = nvl(NEW_VEHICLE_CATEGORY, :dummy_varchar2)
         and    nvl(epl.VEHICLE_TYPE, :dummy_varchar2) = nvl(NEW_VEHICLE_TYPE, :dummy_varchar2)
         and    nvl(epl.FUEL_TYPE, :dummy_varchar2) = nvl(NEW_FUEL_TYPE, :dummy_varchar2)
         and    nvl(epl.RANGE_LOW, :dummy_number) = nvl(NEW_RANGE_LOW, :dummy_number)
         and    nvl(epl.RANGE_HIGH, :dummy_number) = nvl(NEW_RANGE_HIGH, :dummy_number)
         and    nvl(epl.RATE_TYPE_CODE, :dummy_varchar2) = nvl(NEW_RATE_TYPE_CODE, :dummy_varchar2)
        )
  )
'
from sys.dual; /* l_not_exists_cursor */
Line: 2218

  select category_code, schedule_type_code, source
  into   l_category_code, l_schedule_type, l_source
  from   ap_pol_headers
  where  policy_id = p_policy_id;
Line: 2239

    delete from ap_pol_schedule_options
    where policy_id = p_policy_id
    and   option_type = 'TIME_THRESHOLD'
    and   threshold = 0
    and   rate_type_code not in
          (  select distinct rate_type_code
             from   ap_pol_schedule_options
             where  policy_id = p_policy_id
             and    rate_type_code in ('FIRST_PERIOD', 'LAST_PERIOD', 'SAME_DAY')
             and    option_type = 'TIME_THRESHOLD'
             and    threshold > 0 )
    and rate_type_code <> 'STANDARD';
Line: 2254

      select count(1)
       into  l_zero_threshold_count
       from  ap_pol_schedule_options
      where  policy_id = p_policy_id
        and  rate_type_code = rate_type_cur.rate_type_code
        and  threshold = 0;
Line: 2263

          SELECT ap_pol_schedule_options_s.NEXTVAL
          INTO   l_schedule_option_rec.schedule_option_id
          FROM   DUAL;
Line: 2267

          INSERT INTO ap_pol_schedule_options
             (
              policy_id,
              schedule_option_id,
              option_type,
              threshold,
              status,
              creation_date,
              created_by,
              last_update_date,
              last_updated_by,
              rate_type_code
             )
          VALUES
             (
              p_policy_id,
              l_schedule_option_rec.schedule_option_id,
              'TIME_THRESHOLD',
              0,
              'SAVED',
              sysdate,
              p_user_id,
              sysdate,
              p_user_id,
              rate_type_cur.rate_type_code
             );
Line: 2301

          l_schedule_option_rec.last_update_date := sysdate;
Line: 2302

          l_schedule_option_rec.last_updated_by  := p_user_id;
Line: 2305

          INSERT INTO ap_pol_schedule_options values  l_schedule_option_rec;
Line: 2314

    select  count(1)
      into  l_zero_threshold_count
      from  ap_pol_headers
     where  policy_id = p_policy_id
       and  time_based_entry_flag = 'Y'
       and  ( day_period_code <> 'MIDNIGHT' or
             (nvl(rate_period_type_code, 'STANDARD') = 'STANDARD' and  schedule_type_code = 'PER_DIEM') or
             ( schedule_type_code = 'ALLOWANCE' and allowance_time_rule_code = 'TIME_THRESHOLD' )
             );
Line: 2326

        select  count(1)
          into  l_zero_threshold_count
          from  ap_pol_schedule_options
         where  policy_id = p_policy_id
           and  rate_type_code = 'STANDARD'
           and  threshold = 0;
Line: 2335

            SELECT ap_pol_schedule_options_s.NEXTVAL
            INTO   l_schedule_option_rec.schedule_option_id
            FROM   DUAL;
Line: 2339

            INSERT INTO ap_pol_schedule_options
             (
              policy_id,
              schedule_option_id,
              option_type,
              threshold,
              status,
              creation_date,
              created_by,
              last_update_date,
              last_updated_by,
              rate_type_code
             )
            VALUES
             (
              p_policy_id,
              l_schedule_option_rec.schedule_option_id,
              'TIME_THRESHOLD',
              0,
              'SAVED',
              sysdate,
              p_user_id,
              sysdate,
              p_user_id,
              'STANDARD'
             );
Line: 2373

            l_schedule_option_rec.last_update_date := sysdate;
Line: 2374

            l_schedule_option_rec.last_updated_by  := p_user_id;
Line: 2377

            INSERT INTO ap_pol_schedule_options values  l_schedule_option_rec;
Line: 2389

     delete from ap_pol_schedule_options
     where  policy_id = p_policy_id
     and    rate_type_code = 'STANDARD'
     and    threshold      = 0;
Line: 2406

  open l_insert_cursor;
Line: 2418

  fetch l_insert_cursor into l_insert_sql_stmt;
Line: 2444

  select count(policy_line_id)
  into   l_policy_line_count
  from   ap_pol_lines
  where  policy_id = p_policy_id
  and    schedule_period_id = l_schedule_period_id;
Line: 2455

                      l_insert_sql_stmt||
                      l_l_sql_stmt||
                      l_r_sql_stmt||
                      l_c_sql_stmt||
                      l_vc_sql_stmt||
                      l_vt_sql_stmt||
                      l_ft_sql_stmt||
                      l_dt_sql_stmt||
                      l_where_sql_stmt, DBMS_SQL.NATIVE);
Line: 2469

                      l_insert_sql_stmt||
                      l_l_sql_stmt||
                      l_r_sql_stmt||
                      l_c_sql_stmt||
                      l_vc_sql_stmt||
                      l_vt_sql_stmt||
                      l_ft_sql_stmt||
                      l_dt_sql_stmt||
                      l_not_exists_sql_stmt, DBMS_SQL.NATIVE);
Line: 2517

  close l_insert_cursor;
Line: 2564

     update ap_pol_lines
     set    calculation_method = 'AMOUNT',
            accommodation_calc_method = 'AMOUNT'
     where  policy_id = p_policy_id
     and    nvl(calculation_method, 'X') <> 'AMOUNT';
Line: 2571

  updateInactivePolicyLines(p_policy_id);
Line: 2624

select
'
  delete
  from   AP_POL_LINES pl
  where  pl.POLICY_ID = :p_policy_id
  and    ((pl.LOCATION_ID is not null
           and not exists
             (select pso.LOCATION_ID
              from   AP_POL_SCHEDULE_OPTIONS pso
              where  pso.POLICY_ID = pl.POLICY_ID
              and    pso.OPTION_TYPE = :c_LOCATION
              and    pso.LOCATION_ID is not null
              and    pso.LOCATION_ID = pl.LOCATION_ID
             )
          )
          or
          (pl.LOCATION_ID is null
           and exists
             (select pso.LOCATION_ID
              from   AP_POL_SCHEDULE_OPTIONS pso
              where  pso.POLICY_ID = pl.POLICY_ID
              and    pso.OPTION_TYPE = :c_LOCATION
              and    pso.LOCATION_ID is not null
             )
          )
'
from sys.dual; /* l_l_cursor */
Line: 2653

select
'
         or
         (pl.ROLE_ID is not null
          and not exists
            (select pso.ROLE_ID
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    pso.OPTION_TYPE = :c_EMPLOYEE_ROLE
             and    pso.ROLE_ID is not null
             and    pso.ROLE_ID = pl.ROLE_ID
            )
         )
         or
         (pl.ROLE_ID is null
          and exists
            (select pso.ROLE_ID
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    pso.OPTION_TYPE = :c_EMPLOYEE_ROLE
             and    pso.ROLE_ID is not null
            )
         )
'
from sys.dual; /* l_r_cursor */
Line: 2680

select
'
          or
          (pl.CURRENCY_CODE is not null
           and
           (not exists
             (select pso.CURRENCY_CODE
              from   AP_POL_SCHEDULE_OPTIONS pso
              where  pso.POLICY_ID = pl.POLICY_ID
              and    pso.OPTION_TYPE = :c_CURRENCY
              and    pso.CURRENCY_CODE is not null
              and    pso.CURRENCY_CODE = pl.CURRENCY_CODE
             )
            and
            not exists
             (select ph.CURRENCY_PREFERENCE
              from   AP_POL_HEADERS ph
              where  ph.POLICY_ID = pl.POLICY_ID
              and    (ph.CURRENCY_PREFERENCE = :c_SRC
                      or
                      ph.CURRENCY_PREFERENCE = :c_LCR
                     )
             )
           )
          )
          or
          (pl.CURRENCY_CODE is not null
           and
           exists
             (select ph.CURRENCY_PREFERENCE
              from   AP_POL_HEADERS ph
              where  ph.POLICY_ID = pl.POLICY_ID
              and    ph.CURRENCY_PREFERENCE = :c_SRC
             )
           and
           not exists
             (select ph.CURRENCY_CODE
              from   AP_POL_HEADERS ph
              where  ph.POLICY_ID = pl.POLICY_ID
              and    ph.CURRENCY_CODE = pl.CURRENCY_CODE
             )
          )
'
from sys.dual; /* l_c_cursor */
Line: 2726

select
'
          or
          (pl.VEHICLE_CATEGORY is not null
           and not exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
            and    pso.OPTION_CODE is not null
            and    pso.OPTION_CODE = pl.VEHICLE_CATEGORY
           )
          )
          or
          (pl.VEHICLE_CATEGORY is null
           and exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
            and    pso.OPTION_CODE is not null
           )
          )
'
from sys.dual; /* l_vc_cursor */
Line: 2753

select
'
          or
          (pl.VEHICLE_TYPE is not null
           and
           (not exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_TYPE
            and    pso.OPTION_CODE is not null
            and    pso.OPTION_CODE = pl.VEHICLE_TYPE
           )
           or exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
            and    pso.OPTION_CODE = pl.VEHICLE_CATEGORY
            and    pso.VEHICLE_TYPE_CODE <> ''R''
           ))
          )
          or
          (pl.VEHICLE_TYPE is null
           and exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_TYPE
            and    pso.OPTION_CODE is not null
           )
           and not exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
            and    pso.OPTION_CODE = pl.VEHICLE_CATEGORY
            and    pso.VEHICLE_TYPE_CODE <> ''R''
           )
          )
'
from sys.dual; /* l_vt_cursor */
Line: 2797

select
'
          or
          (pl.FUEL_TYPE is not null
           and
           (not exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_FUEL_TYPE
            and    pso.OPTION_CODE is not null
            and    pso.OPTION_CODE = pl.FUEL_TYPE
           )
           or exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
            and    pso.OPTION_CODE = pl.VEHICLE_CATEGORY
            and    pso.FUEL_TYPE_CODE <> ''R''
           ))
          )
          or
          (pl.FUEL_TYPE is null
           and exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_FUEL_TYPE
            and    pso.OPTION_CODE is not null
           )
           and not exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
            and    pso.OPTION_CODE = pl.VEHICLE_CATEGORY
            and    pso.FUEL_TYPE_CODE <> ''R''
           )
          )
'
from sys.dual; /* l_ft_cursor */
Line: 2841

select
'
          or
          (pl.RANGE_LOW is not null
           and not exists
           (select pso.THRESHOLD
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    (pso.OPTION_TYPE = :c_DISTANCE_THRESHOLD or pso.OPTION_TYPE = :c_TIME_THRESHOLD)
            and    pso.THRESHOLD is not null
            and    pso.THRESHOLD = pl.RANGE_LOW
            and    nvl(pso.rate_type_code, ''NULL'') = nvl(pl.rate_type_code, ''NULL'')
           )
          )
          or
          (pl.RANGE_HIGH is not null
           and not exists
           (select pso.THRESHOLD
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    (pso.OPTION_TYPE = :c_DISTANCE_THRESHOLD or pso.OPTION_TYPE = :c_TIME_THRESHOLD)
            and    pso.THRESHOLD is not null
            and    pso.THRESHOLD = pl.RANGE_HIGH
            and    nvl(pso.rate_type_code, ''NULL'') = nvl(pl.rate_type_code, ''NULL'')
           )
          )
          or
          (pl.RANGE_LOW is null
           and exists
           (select pso.THRESHOLD
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    (pso.OPTION_TYPE = :c_DISTANCE_THRESHOLD or pso.OPTION_TYPE = :c_TIME_THRESHOLD)
            and    pso.THRESHOLD is not null
            and    nvl(pso.rate_type_code, ''NULL'') = nvl(pl.rate_type_code, ''NULL'')
           )
          )
          or
          (pl.RANGE_LOW is not null
           and
           nvl(pl.RANGE_HIGH, :dummy_number) <>
                 nvl(AP_WEB_POLICY_UTILS.getHighEndOfThreshold(pl.POLICY_ID,
                                                               pl.RANGE_LOW,
                                                               nvl(pl.rate_type_code,''STANDARD'')), :dummy_number)
          )
'
from sys.dual; /* l_dt_cursor */
Line: 2896

select
'       or
        (pl.ADDON_MILEAGE_RATE_CODE is not null
           and not exists
             (select pso.OPTION_CODE
              from   AP_POL_SCHEDULE_OPTIONS pso
              where  pso.POLICY_ID = pl.POLICY_ID
              and    pso.OPTION_TYPE = :c_ADDON_RATES
              and    pso.OPTION_CODE is not null
              and    pso.OPTION_CODE = pl.ADDON_MILEAGE_RATE_CODE
             )
          )

       )
'
from sys.dual; /* l_amr_cursor */
Line: 2998

 | PUBLIC PROCEDURE updateInactivePolicyLines
 |
 | DESCRIPTION
 | - if option end dated then set Policy Line status to inactive
 | - reactivate inactive lines if end date updated
 |
 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
 |
 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
 |
 | PARAMETERS
 |  p_policy_id IN Policy Identifier
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 16-May-2002           R Langi           Created
 |
 *=======================================================================*/
PROCEDURE updateInactivePolicyLines(p_policy_id  IN ap_pol_headers.policy_id%TYPE) IS

  l_inactive_curref		INTEGER;
Line: 3029

select
'
  update AP_POL_LINES pl
  set    pl.STATUS = :c_INACTIVE
  where  pl.POLICY_ID = :p_policy_id
  and    pl.STATUS = :c_ACTIVE
  and    ((pl.LOCATION_ID is not null
           and exists
           (select pso.LOCATION_ID
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_LOCATION
            and    pso.LOCATION_ID is not null
            and    pso.LOCATION_ID = pl.LOCATION_ID
            and    nvl(pso.END_DATE, SYSDATE+1) < SYSDATE
           )
          )
          or
          (pl.ROLE_ID is not null
           and exists
           (select pso.ROLE_ID
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_EMPLOYEE_ROLE
            and    pso.ROLE_ID is not null
            and    pso.ROLE_ID = pl.ROLE_ID
            and    nvl(pso.END_DATE, SYSDATE+1) < SYSDATE
           )
          )
          or
          (pl.CURRENCY_CODE is not null
           and exists
           (select pso.CURRENCY_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_CURRENCY
            and    pso.CURRENCY_CODE is not null
            and    pso.CURRENCY_CODE = pl.CURRENCY_CODE
            and    nvl(pso.END_DATE, SYSDATE+1) < SYSDATE
           )
          )
          or
          (pl.VEHICLE_CATEGORY is not null
           and exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
            and    pso.OPTION_CODE is not null
            and    pso.OPTION_CODE = pl.VEHICLE_CATEGORY
            and    nvl(pso.END_DATE, SYSDATE+1) < SYSDATE
           )
          )
          or
          (pl.VEHICLE_TYPE is not null
           and exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_VEHICLE_TYPE
            and    pso.OPTION_CODE is not null
            and    pso.OPTION_CODE = pl.VEHICLE_TYPE
            and    nvl(pso.END_DATE, SYSDATE+1) < SYSDATE
           )
          )
          or
          (pl.FUEL_TYPE is not null
           and exists
           (select pso.OPTION_CODE
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    pso.OPTION_TYPE = :c_FUEL_TYPE
            and    pso.OPTION_CODE is not null
            and    pso.OPTION_CODE = pl.FUEL_TYPE
            and    nvl(pso.END_DATE, SYSDATE+1) < SYSDATE
           )
          )
          or
          (pl.RANGE_LOW is not null
           and exists
           (select pso.THRESHOLD
            from   AP_POL_SCHEDULE_OPTIONS pso
            where  pso.POLICY_ID = pl.POLICY_ID
            and    (pso.OPTION_TYPE = :c_DISTANCE_THRESHOLD or pso.OPTION_TYPE = :c_TIME_THRESHOLD)
            and    pso.THRESHOLD is not null
            and    pso.THRESHOLD = pl.RANGE_LOW
            and    nvl(pso.END_DATE, SYSDATE+1) < SYSDATE
           )
          )
         )
'
from sys.dual; /* l_inactive_cursor */
Line: 3124

select
'
  update AP_POL_LINES pl
  set    pl.STATUS = :c_ACTIVE
  where  pl.POLICY_ID = :p_policy_id
  and    pl.STATUS = :c_INACTIVE
  and    (((pl.LOCATION_ID is not null
            and exists
            (select pso.LOCATION_ID
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    pso.OPTION_TYPE = :c_LOCATION
             and    pso.LOCATION_ID is not null
             and    pso.LOCATION_ID = pl.LOCATION_ID
             and    nvl(pso.END_DATE, SYSDATE+1) > SYSDATE
            )
           ) or pl.LOCATION_ID is null
          )
          and
          ((pl.ROLE_ID is not null
            and exists
            (select pso.ROLE_ID
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    pso.OPTION_TYPE = :c_EMPLOYEE_ROLE
             and    pso.ROLE_ID is not null
             and    pso.ROLE_ID = pl.ROLE_ID
             and    nvl(pso.END_DATE, SYSDATE+1) > SYSDATE
            )
           ) or pl.ROLE_ID is null
          )
          and
          ((pl.CURRENCY_CODE is not null
            and
            (exists
              (select pso.CURRENCY_CODE
               from   AP_POL_SCHEDULE_OPTIONS pso
               where  pso.POLICY_ID = pl.POLICY_ID
               and    pso.OPTION_TYPE = :c_CURRENCY
               and    pso.CURRENCY_CODE is not null
               and    pso.CURRENCY_CODE = pl.CURRENCY_CODE
               and    nvl(pso.END_DATE, SYSDATE+1) > SYSDATE
              )
             or exists
              (select ph.CURRENCY_CODE
               from   AP_POL_HEADERS ph
               where  ph.POLICY_ID = pl.POLICY_ID
               and    ((ph.CURRENCY_CODE is not null and ph.CURRENCY_CODE = pl.CURRENCY_CODE)
                      or
                       (ph.CURRENCY_CODE is null and ph.CURRENCY_PREFERENCE <> :c_SRC)))
            )
           )
           or pl.CURRENCY_CODE is null
          )
          and
          ((pl.VEHICLE_CATEGORY is not null
            and exists
            (select pso.OPTION_CODE
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    pso.OPTION_TYPE = :c_VEHICLE_CATEGORY
             and    pso.OPTION_CODE is not null
             and    pso.OPTION_CODE = pl.VEHICLE_CATEGORY
             and    nvl(pso.END_DATE, SYSDATE+1) > SYSDATE
            )
           ) or pl.VEHICLE_CATEGORY is null
          )
          and
          ((pl.VEHICLE_TYPE is not null
            and exists
            (select pso.OPTION_CODE
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    pso.OPTION_TYPE = :c_VEHICLE_TYPE
             and    pso.OPTION_CODE is not null
             and    pso.OPTION_CODE = pl.VEHICLE_TYPE
             and    nvl(pso.END_DATE, SYSDATE+1) > SYSDATE
            ) or pl.VEHICLE_TYPE is null
           )
          )
          and
          ((pl.FUEL_TYPE is not null
            and exists
            (select pso.OPTION_CODE
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    pso.OPTION_TYPE = :c_FUEL_TYPE
             and    pso.OPTION_CODE is not null
             and    pso.OPTION_CODE = pl.FUEL_TYPE
             and    nvl(pso.END_DATE, SYSDATE+1) > SYSDATE
            )
           ) or pl.FUEL_TYPE is null
          )
          and
          ((pl.RANGE_LOW is not null
            and exists
            (select pso.THRESHOLD
             from   AP_POL_SCHEDULE_OPTIONS pso
             where  pso.POLICY_ID = pl.POLICY_ID
             and    (pso.OPTION_TYPE = :c_DISTANCE_THRESHOLD or pso.OPTION_TYPE = :c_TIME_THRESHOLD)
             and    pso.THRESHOLD is not null
             and    pso.THRESHOLD = pl.RANGE_LOW
             and    nvl(pso.END_DATE, SYSDATE+1) > SYSDATE
            )
           ) or pl.RANGE_LOW is null
          )
         )
'
from sys.dual; /* l_active_cursor */
Line: 3331

END updateInactivePolicyLines;
Line: 3368

select
'
  insert into AP_POL_LINES
        (
         POLICY_LINE_ID,
         POLICY_ID,
         SCHEDULE_PERIOD_ID,
         LOCATION_ID,
         ROLE_ID,
         CURRENCY_CODE,
         MEAL_LIMIT,
         RATE,
         TOLERANCE,
         TICKET_CLASS_DOMESTIC,
         TICKET_CLASS_INTERNATIONAL,
         VEHICLE_CATEGORY,
         VEHICLE_TYPE,
         FUEL_TYPE,
         RANGE_LOW,
         RANGE_HIGH,
         CALCULATION_METHOD,
         MEALS_DEDUCTION,
         BREAKFAST_DEDUCTION,
         LUNCH_DEDUCTION,
         DINNER_DEDUCTION,
         ACCOMMODATION_ADJUSTMENT,
         ADDON_MILEAGE_RATE_CODE,
         RATE_PER_PASSENGER,
         RATE_TYPE_CODE,
         ONE_MEAL_DEDUCTION_AMT,
         TWO_MEALS_DEDUCTION_AMT,
         THREE_MEALS_DEDUCTION_AMT,
         NIGHT_RATE_TYPE_CODE,
         ACCOMMODATION_CALC_METHOD,
         START_OF_SEASON,
         END_OF_SEASON,
         MAX_LODGING_AMT,
         NO_GOVT_MEALS_AMT,
         PROP_MEALS_AMT,
         OFF_BASE_INC_AMT,
         FOOTNOTE_AMT,
         FOOTNOTE_RATE_AMT,
         MAX_PER_DIEM_AMT,
         EFFECTIVE_START_DATE,
         EFFECTIVE_END_DATE,
         STATUS,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
        )
  select
         AP_POL_LINES_S.NEXTVAL AS POLICY_LINE_ID,
         :p_to_policy_id AS POLICY_ID,
         :p_to_schedule_period_id AS SCHEDULE_PERIOD_ID,
         LOCATION_ID,
         ROLE_ID,
         CURRENCY_CODE,
         MEAL_LIMIT,
         RATE,
         TOLERANCE,
         TICKET_CLASS_DOMESTIC,
         TICKET_CLASS_INTERNATIONAL,
         VEHICLE_CATEGORY,
         VEHICLE_TYPE,
         FUEL_TYPE,
         RANGE_LOW,
         RANGE_HIGH,
         CALCULATION_METHOD,
         MEALS_DEDUCTION,
         BREAKFAST_DEDUCTION,
         LUNCH_DEDUCTION,
         DINNER_DEDUCTION,
         ACCOMMODATION_ADJUSTMENT,
         ADDON_MILEAGE_RATE_CODE,
         RATE_PER_PASSENGER,
         RATE_TYPE_CODE,
         ONE_MEAL_DEDUCTION_AMT,
         TWO_MEALS_DEDUCTION_AMT,
         THREE_MEALS_DEDUCTION_AMT,
         NIGHT_RATE_TYPE_CODE,
         ACCOMMODATION_CALC_METHOD,
         START_OF_SEASON,
         END_OF_SEASON,
         MAX_LODGING_AMT,
         NO_GOVT_MEALS_AMT,
         PROP_MEALS_AMT,
         OFF_BASE_INC_AMT,
         FOOTNOTE_AMT,
         FOOTNOTE_RATE_AMT,
         MAX_PER_DIEM_AMT,
         EFFECTIVE_START_DATE,
         EFFECTIVE_END_DATE,
         decode(status, ''ACTIVE'', ''VALID'', ''VALID'', ''VALID'', :c_DUPLICATED) AS STATUS,
         sysdate AS CREATION_DATE,
         :p_user_id AS CREATED_BY,
         sysdate AS LAST_UPDATE_DATE,
         :p_user_id AS LAST_UPDATED_BY
  from
         AP_POL_LINES
  where  POLICY_ID = :p_from_policy_id
  and    SCHEDULE_PERIOD_ID = :p_from_schedule_period_id
  and    PARENT_LINE_ID is null
'
from sys.dual; /* l_duplicate_cursor */
Line: 3555

  select count(*)
  into   l_preserve_count
  from   AP_POL_LINES
  where  parent_line_id = p_policy_line_id
  and    policy_id = p_policy_id
  and    schedule_period_id = p_schedule_period_id;
Line: 3569

  insert into AP_POL_LINES
        (
         PARENT_LINE_ID,
         POLICY_LINE_ID,
         POLICY_ID,
         SCHEDULE_PERIOD_ID,
         LOCATION_ID,
         ROLE_ID,
         CURRENCY_CODE,
         MEAL_LIMIT,
         RATE,
         TOLERANCE,
         TICKET_CLASS_DOMESTIC,
         TICKET_CLASS_INTERNATIONAL,
         VEHICLE_CATEGORY,
         VEHICLE_TYPE,
         FUEL_TYPE,
         RANGE_LOW,
         RANGE_HIGH,
         CALCULATION_METHOD,
         MEALS_DEDUCTION,
         BREAKFAST_DEDUCTION,
         LUNCH_DEDUCTION,
         DINNER_DEDUCTION,
         ACCOMMODATION_ADJUSTMENT,
         ADDON_MILEAGE_RATE_CODE,
         RATE_PER_PASSENGER,
         RATE_TYPE_CODE,
         ONE_MEAL_DEDUCTION_AMT,
         TWO_MEALS_DEDUCTION_AMT,
         THREE_MEALS_DEDUCTION_AMT,
         NIGHT_RATE_TYPE_CODE,
         ACCOMMODATION_CALC_METHOD,
         STATUS,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
        )
  select
         p_policy_line_id AS PARENT_LINE_ID,
         AP_POL_LINES_S.NEXTVAL AS POLICY_LINE_ID,
         p_policy_id AS POLICY_ID,
         p_schedule_period_id AS SCHEDULE_PERIOD_ID,
         LOCATION_ID,
         ROLE_ID,
         CURRENCY_CODE,
         MEAL_LIMIT,
         RATE,
         TOLERANCE,
         TICKET_CLASS_DOMESTIC,
         TICKET_CLASS_INTERNATIONAL,
         VEHICLE_CATEGORY,
         VEHICLE_TYPE,
         FUEL_TYPE,
         RANGE_LOW,
         RANGE_HIGH,
         CALCULATION_METHOD,
         MEALS_DEDUCTION,
         BREAKFAST_DEDUCTION,
         LUNCH_DEDUCTION,
         DINNER_DEDUCTION,
         ACCOMMODATION_ADJUSTMENT,
         ADDON_MILEAGE_RATE_CODE,
         RATE_PER_PASSENGER,
         RATE_TYPE_CODE,
         ONE_MEAL_DEDUCTION_AMT,
         TWO_MEALS_DEDUCTION_AMT,
         THREE_MEALS_DEDUCTION_AMT,
         NIGHT_RATE_TYPE_CODE,
         ACCOMMODATION_CALC_METHOD,
         STATUS,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
  from
         AP_POL_LINES
  where  POLICY_ID = p_policy_id
  and    SCHEDULE_PERIOD_ID = p_schedule_period_id
  and    POLICY_LINE_ID = p_policy_line_id;
Line: 3685

  insert into AP_POL_LINES_HISTORY
        (
         POLICY_LINE_HISTORY_ID,
         POLICY_LINE_ID,
         SCHEDULE_PERIOD_ID,
         --CURRENCY_CODE, -- need to add CURRENCY_CODE to AP_POL_LINES_HISTORY because of LCR
         MEAL_LIMIT,
         RATE,
         TOLERANCE,
         TICKET_CLASS_DOMESTIC,
         TICKET_CLASS_INTERNATIONAL,
         CALCULATION_METHOD,
         MEALS_DEDUCTION,
         BREAKFAST_DEDUCTION,
         LUNCH_DEDUCTION,
         DINNER_DEDUCTION,
         ACCOMMODATION_ADJUSTMENT,
         ADDON_MILEAGE_RATE_CODE,
         RATE_PER_PASSENGER,
         RATE_TYPE_CODE,
         ONE_MEAL_DEDUCTION_AMT,
         TWO_MEALS_DEDUCTION_AMT,
         THREE_MEALS_DEDUCTION_AMT,
         NIGHT_RATE_TYPE_CODE,
         ACCOMMODATION_CALC_METHOD,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
        )
  select
         AP_POL_LINES_HISTORY_S.NEXTVAL AS POLICY_LINE_HISTORY_ID,
         PARENT_LINE_ID AS POLICY_LINE_ID,
         SCHEDULE_PERIOD_ID,
         --CURRENCY_CODE,
         MEAL_LIMIT,
         RATE,
         TOLERANCE,
         TICKET_CLASS_DOMESTIC,
         TICKET_CLASS_INTERNATIONAL,
         CALCULATION_METHOD,
         MEALS_DEDUCTION,
         BREAKFAST_DEDUCTION,
         LUNCH_DEDUCTION,
         DINNER_DEDUCTION,
         ACCOMMODATION_ADJUSTMENT,
         ADDON_MILEAGE_RATE_CODE,
         RATE_PER_PASSENGER,
         RATE_TYPE_CODE,
         ONE_MEAL_DEDUCTION_AMT,
         TWO_MEALS_DEDUCTION_AMT,
         THREE_MEALS_DEDUCTION_AMT,
         NIGHT_RATE_TYPE_CODE,
         ACCOMMODATION_CALC_METHOD,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
  from
         AP_POL_LINES
  where  POLICY_ID = p_policy_id
  and    PARENT_LINE_ID is not null;
Line: 3751

  delete
  from
         AP_POL_LINES
  where  POLICY_ID = p_policy_id
  and    PARENT_LINE_ID is not null;
Line: 3813

  select AP_POL_SCHEDULE_PERIODS_S.NEXTVAL
  into   l_schedule_period_id
  from   sys.dual;
Line: 3817

  insert into AP_POL_SCHEDULE_PERIODS
        (
         SCHEDULE_PERIOD_ID,
         SCHEDULE_PERIOD_NAME,
         POLICY_ID,
         START_DATE,
         END_DATE,
         RATE_PER_PASSENGER,
         MIN_DAYS,
         TOLERANCE,
         MIN_RATE_PER_PERIOD,
         MAX_BREAKFAST_DEDUCTION_AMT,
         MAX_LUNCH_DEDUCTION_AMT,
         MAX_DINNER_DEDUCTION_AMT,
         FIRST_DAY_RATE,
         LAST_DAY_RATE,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
        )
  select
         l_schedule_period_id AS SCHEDULE_PERIOD_ID,
         decode(p_schedule_period_name, null, fnd_message.GET_STRING('SQLAP','OIE_POL_PERIODS_NEW_PERIOD'), substrb(fnd_message.GET_STRING('SQLAP','OIE_POL_COPY_OF')||' '||p_schedule_period_name, 1, C_PolicyNameMaxLength)) AS SCHEDULE_PERIOD_NAME,
         p_policy_id AS POLICY_ID,
         p_start_date AS START_DATE,
         p_end_date AS END_DATE,
         p_rate_per_passenger AS RATE_PER_PASSENGER,
         p_min_days AS MIN_DAYS,
         p_tolerance AS TOLERANCE,
         p_min_rate_per_period as MIN_RATE_PER_PERIOD,
         p_max_breakfast_deduction as MAX_BREAKFAST_DEDUCTION,
         p_max_lunch_deduction as MAX_LUNCH_DEDUCTION,
         p_max_dinner_deduction as MAX_DINNER_DEDUCTION,
         p_first_day_rate as FIRST_DAY_RATE,
         p_last_day_rate as LAST_DAY_RATE,
         sysdate AS CREATION_DATE,
         p_user_id AS CREATED_BY,
         sysdate AS LAST_UPDATE_DATE,
         p_user_id AS LAST_UPDATED_BY
  from
         sys.dual;
Line: 3869

 | PUBLIC FUNCTION massUpdateValue
 |
 | DESCRIPTION
 |  Using a rounding rule and percentage to update by, a value is returned
 |
 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
 |
 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
 |
 | PARAMETERS
 |  p_value IN Value to perform an update on
 |  p_update_by IN Percentage to update the value by
 |  p_rounding_rule IN Rounding rule to use after the value has been updated
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 16-May-2002           R Langi           Created
 |
 *=======================================================================*/
FUNCTION massUpdateValue(p_value  IN NUMBER,
                         p_update_by  IN NUMBER,
                         p_rounding_rule     IN VARCHAR2) RETURN NUMBER IS

  l_new_value 		NUMBER := 0;
Line: 3896

  select decode(p_rounding_rule,
                '1_DECIMALS', nvl(p_value, 0) + ROUND(nvl(p_value, 0) * (p_update_by/100), 1),
                '2_DECIMALS', nvl(p_value, 0) + ROUND(nvl(p_value, 0) * (p_update_by/100), 2),
                '3_DECIMALS', nvl(p_value, 0) + ROUND(nvl(p_value, 0) * (p_update_by/100), 3),
                              nvl(p_value, 0) + ROUND(nvl(p_value, 0) * (p_update_by/100)))
  into   l_new_value
  from   sys.dual;
Line: 3926

END massUpdateValue;
Line: 3982

  select
         SCHEDULE_PERIOD_ID,
         SCHEDULE_PERIOD_NAME,
         START_DATE,
         END_DATE,
         RATE_PER_PASSENGER,
         MIN_DAYS,
         TOLERANCE,
         MIN_RATE_PER_PERIOD,
         MAX_BREAKFAST_DEDUCTION_AMT,
         MAX_LUNCH_DEDUCTION_AMT,
         MAX_DINNER_DEDUCTION_AMT,
         FIRST_DAY_RATE,
         LAST_DAY_RATE
  from   AP_POL_SCHEDULE_PERIODS
  where  POLICY_ID = p_from_policy_id; /* l_duplicate_periods_cursor */
Line: 4007

    select AP_POL_HEADERS_S.NEXTVAL
    into   p_to_policy_id
    from   sys.dual;
Line: 4012

    insert into AP_POL_HEADERS
          (
           POLICY_ID,
           CATEGORY_CODE,
           POLICY_NAME,
           DESCRIPTION,
           CURRENCY_CODE,
           BUSINESS_GROUP_ID,
           JOB_GROUP_ID,
           ROLE_CODE,
           DISTANCE_UOM,
           CURRENCY_PREFERENCE,
           ALLOW_RATE_CONVERSION_CODE,
           DAILY_LIMITS_CODE,
           START_DATE,
           END_DATE,
           DISTANCE_THRESHOLDS_FLAG,
           VEHICLE_CATEGORY_FLAG,
           VEHICLE_TYPE_FLAG,
           FUEL_TYPE_FLAG,
           PASSENGERS_FLAG,
           EMPLOYEE_ROLE_FLAG,
           TIME_BASED_ENTRY_FLAG,
           FREE_MEALS_FLAG,
           FREE_ACCOMMODATIONS_FLAG,
           TOLERANCE_LIMITS_FLAG,
           DAILY_LIMITS_FLAG,
           LOCATION_FLAG,
           TOLERANCE_LIMIT_CODE,
           FREE_MEALS_CODE,
           FREE_ACCOMMODATIONS_CODE,
           DAY_PERIOD_CODE,
           ADDON_MILEAGE_RATES_FLAG,
           SCHEDULE_TYPE_CODE,
           MIN_TRIP_DURATION,
           SAME_DAY_RATE_CODE,
           NIGHT_RATES_CODE,
           NIGHT_RATE_ELIGIBILITY,
           NIGHT_RATE_START_TIME,
           NIGHT_RATE_END_TIME,
           MULTI_DEST_RULE_CODE,
           MULTI_DEST_START_TIME,
           MULTI_DEST_END_TIME,
           PER_DIEM_TYPE_CODE,
           SOURCE,
           RATE_PERIOD_TYPE_CODE,
           MEALS_TYPE_CODE,
           ALLOWANCE_TIME_RULE_CODE,
           BREAKFAST_START_TIME,
           BREAKFAST_END_TIME,
           LUNCH_START_TIME,
           LUNCH_END_TIME,
           DINNER_START_TIME,
           DINNER_END_TIME,
           USE_MAX_DEST_RATE_FLAG,
           CREATION_DATE,
           CREATED_BY,
           LAST_UPDATE_LOGIN,
           LAST_UPDATE_DATE,
           LAST_UPDATED_BY
          )
    select
           p_to_policy_id AS POLICY_ID,
           CATEGORY_CODE,
           substrb(fnd_message.GET_STRING('SQLAP','OIE_POL_COPY_OF')||' '||POLICY_NAME, 1, C_PolicyNameMaxLength) AS POLICY_NAME,
           DESCRIPTION,
           CURRENCY_CODE,
           BUSINESS_GROUP_ID,
           JOB_GROUP_ID,
           ROLE_CODE,
           DISTANCE_UOM,
           CURRENCY_PREFERENCE,
           ALLOW_RATE_CONVERSION_CODE,
           DAILY_LIMITS_CODE,
           START_DATE,
           null, -- Bug 2847928
           DISTANCE_THRESHOLDS_FLAG,
           VEHICLE_CATEGORY_FLAG,
           VEHICLE_TYPE_FLAG,
           FUEL_TYPE_FLAG,
           PASSENGERS_FLAG,
           EMPLOYEE_ROLE_FLAG,
           TIME_BASED_ENTRY_FLAG,
           FREE_MEALS_FLAG,
           FREE_ACCOMMODATIONS_FLAG,
           TOLERANCE_LIMITS_FLAG,
           DAILY_LIMITS_FLAG,
           LOCATION_FLAG,
           TOLERANCE_LIMIT_CODE,
           FREE_MEALS_CODE,
           FREE_ACCOMMODATIONS_CODE,
           DAY_PERIOD_CODE,
           ADDON_MILEAGE_RATES_FLAG,
           SCHEDULE_TYPE_CODE,
           MIN_TRIP_DURATION,
           SAME_DAY_RATE_CODE,
           NIGHT_RATES_CODE,
           NIGHT_RATE_ELIGIBILITY,
           NIGHT_RATE_START_TIME,
           NIGHT_RATE_END_TIME,
           MULTI_DEST_RULE_CODE,
           MULTI_DEST_START_TIME,
           MULTI_DEST_END_TIME,
           PER_DIEM_TYPE_CODE,
           SOURCE,
           RATE_PERIOD_TYPE_CODE,
           MEALS_TYPE_CODE,
           ALLOWANCE_TIME_RULE_CODE,
           BREAKFAST_START_TIME,
           BREAKFAST_END_TIME,
           LUNCH_START_TIME,
           LUNCH_END_TIME,
           DINNER_START_TIME,
           DINNER_END_TIME,
           USE_MAX_DEST_RATE_FLAG,
           sysdate AS CREATION_DATE,
           p_user_id AS CREATED_BY,
           null AS LAST_UPDATE_LOGIN,
           sysdate AS LAST_UPDATE_DATE,
           p_user_id AS LAST_UPDATED_BY
    from
           AP_POL_HEADERS
    where  POLICY_ID = p_from_policy_id;
Line: 4148

    insert into AP_POL_SCHEDULE_OPTIONS
          (
           SCHEDULE_OPTION_ID,
           POLICY_ID,
           OPTION_TYPE,
           OPTION_CODE,
           THRESHOLD,
           ROLE_ID,
           LOCATION_ID,
           CURRENCY_CODE,
           END_DATE,
           VEHICLE_TYPE_CODE,
           FUEL_TYPE_CODE,
           RATE_TYPE_CODE,
           STATUS,
           CREATION_DATE,
           CREATED_BY,
           LAST_UPDATE_LOGIN,
           LAST_UPDATE_DATE,
           LAST_UPDATED_BY
          )
    select
           AP_POL_SCHEDULE_OPTIONS_S.NEXTVAL AS SCHEDULE_OPTION_ID,
           p_to_policy_id AS POLICY_ID,
           OPTION_TYPE,
           OPTION_CODE,
           THRESHOLD,
           ROLE_ID,
           LOCATION_ID,
           CURRENCY_CODE,
           END_DATE,
           VEHICLE_TYPE_CODE,
           FUEL_TYPE_CODE,
           RATE_TYPE_CODE,
           STATUS,
           sysdate AS CREATION_DATE,
           p_user_id AS CREATED_BY,
           null AS LAST_UPDATE_LOGIN,
           sysdate AS LAST_UPDATE_DATE,
           p_user_id AS LAST_UPDATED_BY
    from
           AP_POL_SCHEDULE_OPTIONS
    where  POLICY_ID = p_from_policy_id;
Line: 4299

    select schedule_option_id
    from ap_pol_schedule_options
    where option_type   = p_option_type
    and   NVL(option_code,9.99E125)      =  NVL(p_option_code,9.99E125)
    and   NVL(threshold,9.99E125)        =  NVL(p_threshold,9.99E125)
    and   NVL(role_id,9.99E125)          =  NVL(p_role_id,9.99E125)
    and   NVL(location_id,9.99E125)      =  NVL(p_location_id,9.99E125)
    and   NVL(currency_code,chr(0))      =  NVL(p_currency_code, chr(0))
    and   NVL(end_date,TO_DATE('1','j')) >= DECODE(p_end_date,
                                                   null, TO_DATE('1','j'),
                                                   DECODE(end_date,
                                                          null, TO_DATE('1','j'),
                                                          p_end_date));
Line: 4348

  select location_id, end_date
    from ap_pol_locations_vl
   where end_date is not null;
Line: 4366

      update ap_pol_schedule_options
         set end_date = l_end_date
       where option_type = 'LOCATION'
         and location_id = l_location_id
         and NVL(end_date,TO_DATE('1','j')) >=
               DECODE(l_end_date,
                      null, TO_DATE('1','j'),
                      DECODE(end_date,
                             null, TO_DATE('1','j'),
                             l_end_date));
Line: 4406

    select 1 location_count
    from dual
    where exists
    (select 1
     from ap_pol_locations_b);
Line: 4455

    update AP_POL_SCHEDULE_OPTIONS set STATUS = 'SAVED' where POLICY_ID = p_policy_id and nvl(STATUS, '~') <> 'ACTIVE';
Line: 4509

    update AP_POL_SCHEDULE_OPTIONS set STATUS = p_status_code where POLICY_ID = p_policy_id;
Line: 4542

    SELECT 1 INTO l_count_rows
    FROM dual
    WHERE exists
    (select 1
     from   ap_expense_report_params_all
     where  company_policy_id = p_policy_id and nvl(end_date,p_end_date+1) > p_end_date);
Line: 4595

    UPDATE ap_expense_report_params_all SET end_date = p_end_date
    WHERE company_policy_id = p_policy_id and nvl(end_date,p_end_date+1) > p_end_date;
Line: 4624

    SELECT ep.ORG_ID,
           pc.user_id,
           pc.selected_org_id
    FROM AP_EXPENSE_PARAMS_ALL ep,
         AP_POL_CONTEXT         pc
    WHERE ep.org_id(+)        = pc.selected_org_id
    AND   pc.user_id          = p_user_id;
Line: 4636

      INSERT INTO AP_EXPENSE_PARAMS_ALL
             (prevent_cash_cc_age_limit,
              prevent_future_dated_day_limit,
              enforce_cc_acc_limit,
              enforce_cc_air_limit,
              enforce_cc_car_limit,
              enforce_cc_meal_limit,
              enforce_cc_misc_limit,
              org_id,
              creation_date,
              created_by,
              last_update_login,
              last_update_date,
              last_updated_by)
      VALUES (null,
              null,
              null,
              null,
              null,
              null,
              null,
              user_exp_options_rec.selected_org_id,
              SYSDATE,
              p_user_id,
              NULL,
              SYSDATE,
              p_user_id);
Line: 4757

 | PUBLIC PROCEDURE deletePolicySchedule
 |
 | DESCRIPTION
 |   This procedure deletes a Policy Schedule
 |
 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
 |   Called from BC4J
 |
 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
 |
 | PARAMETERS
 |   p_policy_id       IN     Policy ID
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 22-Jul-2005         Sameer Saxena       Created
 |
 *=======================================================================*/
PROCEDURE deletePolicySchedule(p_policy_id       IN NUMBER) IS

BEGIN

  DELETE FROM AP_POL_SCHEDULE_OPTIONS WHERE POLICY_ID = p_policy_id;
Line: 4781

  DELETE FROM AP_POL_SCHEDULE_PERIODS WHERE POLICY_ID = p_policy_id;
Line: 4783

  DELETE FROM AP_POL_LINES WHERE POLICY_ID = p_policy_id;
Line: 4789

END deletePolicySchedule;
Line: 4816

  SELECT count(1)
  INTO   l_count
  FROM   ap_pol_lines
  WHERE  schedule_period_id = p_schedule_period_id;
Line: 4938

  l_insert_sql_stmt		    VARCHAR2(4000);
Line: 4957

  select schedule_period_id
  from   ap_pol_schedule_periods
  where  policy_id = p_policy_id;
Line: 4964

cursor l_insert_cursor is
select
'
  insert into AP_POL_LINES
        (
         POLICY_LINE_ID,
         POLICY_ID,
         SCHEDULE_PERIOD_ID,
         LOCATION_ID,
         ROLE_ID,
         CURRENCY_CODE,
         RANGE_LOW,
         RANGE_HIGH,
         RATE_TYPE_CODE,
         STATUS,
         CREATION_DATE,
         CREATED_BY,
         LAST_UPDATE_DATE,
         LAST_UPDATED_BY
        )
  select
         AP_POL_LINES_S.NEXTVAL AS POLICY_LINE_ID,
         :p_policy_id AS POLICY_ID,
         :p_schedule_period_id AS SCHEDULE_PERIOD_ID,
         NEW_LOCATION_ID AS LOCATION_ID,
         NEW_ROLE_ID AS ROLE_ID,
         NEW_CURRENCY_CODE AS CURRENCY_CODE,
         NEW_RANGE_LOW AS RANGE_LOW,
         NEW_RANGE_HIGH AS RANGE_HIGH,
         NEW_RATE_TYPE_CODE AS RATE_TYPE_CODE,
         ''NEW'' AS STATUS,
         sysdate AS CREATION_DATE,
         :p_user_id AS CREATED_BY,
         sysdate AS LAST_UPDATE_DATE,
         :p_user_id AS LAST_UPDATED_BY
  from
  (
  select distinct
         NEW_LOCATION_ID,
         NEW_ROLE_ID,
         NEW_CURRENCY_CODE,
         NEW_RANGE_LOW,
         NEW_RANGE_HIGH,
         NEW_RATE_TYPE_CODE
  from
  (
  select
          l.LOCATION_ID AS NEW_LOCATION_ID,
          r.ROLE_ID AS NEW_ROLE_ID,
          c.CURRENCY_CODE AS NEW_CURRENCY_CODE,
         dt.THRESHOLD AS NEW_RANGE_LOW,
         ap_web_policy_UTILS.getHighEndOfThreshold(:p_policy_id, dt.THRESHOLD, :p_rate_type) AS NEW_RANGE_HIGH,
         :p_rate_type AS NEW_RATE_TYPE_CODE
  from
'
from sys.dual; /* l_insert_cursor */
Line: 5025

select
'
      (select LOCATION_ID
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_LOCATION
       and    LOCATION_ID IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_location_enabled||'
      ) l,
'
from sys.dual; /* l_l_cursor */
Line: 5043

select
'
      (select ROLE_ID
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_EMPLOYEE_ROLE
       and    ROLE_ID IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_role_enabled||'
      ) r,
'
from sys.dual; /* l_r_cursor */
Line: 5061

select
'
      (select CURRENCY_CODE
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    OPTION_TYPE = :c_CURRENCY
       and    CURRENCY_CODE IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
         '||l_currency_enabled||'
      ) c,
'
from sys.dual; /* l_c_cursor */
Line: 5079

select
'
      (select THRESHOLD
       from   AP_POL_SCHEDULE_OPTIONS pso
       where
              POLICY_ID = :p_policy_id
       and    (OPTION_TYPE = :c_DISTANCE_THRESHOLD or OPTION_TYPE = :c_TIME_THRESHOLD)
       and    THRESHOLD IS NOT NULL
       and    nvl(END_DATE, SYSDATE+1) > SYSDATE
       and    nvl(rate_type_code, :p_rate_type) = :p_rate_type
         '||l_thresholds_enabled||'
      ) dt
'
from sys.dual; /* l_dt_cursor */
Line: 5098

select
'
  )
  where
        (
         NEW_LOCATION_ID is not null
  or     NEW_ROLE_ID is not null
  or     NEW_CURRENCY_CODE is not null
  or     NEW_RANGE_LOW is not null
  or     NEW_RANGE_HIGH is not null
        )
  )
'
from sys.dual; /* l_where_cursor */
Line: 5118

select
'
  )
  where
        (
         NEW_LOCATION_ID is not null
  or     NEW_ROLE_ID is not null
  or     NEW_CURRENCY_CODE is not null
  or     NEW_RANGE_LOW is not null
  or     NEW_RANGE_HIGH is not null
        )
  and
  not exists
        (
         select epl.POLICY_LINE_ID
         from   AP_POL_LINES epl
         where  epl.POLICY_ID = :p_policy_id
         and    epl.SCHEDULE_PERIOD_ID = :p_schedule_period_id
         and    nvl(epl.LOCATION_ID, :dummy_number) = nvl(NEW_LOCATION_ID, :dummy_number)
         and    nvl(epl.ROLE_ID, :dummy_number) = nvl(NEW_ROLE_ID, :dummy_number)
         and
               (
                (nvl(epl.CURRENCY_CODE, :dummy_varchar2) = nvl(NEW_CURRENCY_CODE, :dummy_varchar2))
                or
                (epl.CURRENCY_CODE is not null and NEW_CURRENCY_CODE is null)
               )
         and    nvl(epl.RANGE_LOW, :dummy_number) = nvl(NEW_RANGE_LOW, :dummy_number)
         and    nvl(epl.RANGE_HIGH, :dummy_number) = nvl(NEW_RANGE_HIGH, :dummy_number)
         and    nvl(epl.RATE_TYPE_CODE, :dummy_varchar2) = nvl(NEW_RATE_TYPE_CODE, :dummy_varchar2)
        )
  )
'
from sys.dual; /* l_not_exists_cursor */
Line: 5157

  open l_insert_cursor;
Line: 5166

  fetch l_insert_cursor into l_insert_sql_stmt;
Line: 5189

  select count(policy_line_id)
  into   l_policy_line_count
  from   ap_pol_lines
  where  policy_id = p_policy_id
  and    schedule_period_id = l_schedule_period_id;
Line: 5200

                      l_insert_sql_stmt||
                      l_l_sql_stmt||
                      l_r_sql_stmt||
                      l_c_sql_stmt||
                      l_dt_sql_stmt||
                      l_where_sql_stmt, DBMS_SQL.NATIVE);
Line: 5211

                      l_insert_sql_stmt||
                      l_l_sql_stmt||
                      l_r_sql_stmt||
                      l_c_sql_stmt||
                      l_dt_sql_stmt||
                      l_not_exists_sql_stmt, DBMS_SQL.NATIVE);
Line: 5254

  close l_insert_cursor;
Line: 5263

  updateInactivePolicyLines(p_policy_id);
Line: 5305

      select count(policy_line_id)
      into   l_policy_line_count
      from   ap_pol_lines
      where  policy_id = p_policy_id
      and    schedule_period_id = p_schedule_period_id
      and    addon_mileage_rate_code is not null;
Line: 5319

        insert into AP_POL_LINES
            (
             POLICY_LINE_ID,
             POLICY_ID,
             SCHEDULE_PERIOD_ID,
             LOCATION_ID,
             ROLE_ID,
             CURRENCY_CODE,
             VEHICLE_CATEGORY,
             VEHICLE_TYPE,
             FUEL_TYPE,
             RANGE_LOW,
             RANGE_HIGH,
             ADDON_MILEAGE_RATE_CODE,
             STATUS,
             CREATION_DATE,
             CREATED_BY,
             LAST_UPDATE_DATE,
             LAST_UPDATED_BY
            )
        select
             AP_POL_LINES_S.NEXTVAL AS POLICY_LINE_ID,
             apl.POLICY_ID,
             apl.SCHEDULE_PERIOD_ID,
             apl.location_id,
             apl.role_id,
             apl.currency_code,
             vehicle_category,
             vehicle_type,
             fuel_type,
             range_low,
             range_high,
             option_code as addon_mileage_rate_code,
             'NEW' AS STATUS,
             sysdate AS CREATION_DATE,
             apl.CREATED_BY,
             sysdate AS LAST_UPDATE_DATE,
             apl.LAST_UPDATED_BY
        from ap_pol_lines apl,
             ap_pol_schedule_options pso
        where apl.POLICY_ID = p_policy_id
          and pso.policy_id = apl.policy_id
          and OPTION_TYPE = 'OIE_ADDON_MILEAGE_RATES'
          and OPTION_CODE IS NOT NULL
          and nvl(END_DATE, SYSDATE+1) > SYSDATE
          and apl.addon_mileage_rate_code is null;
Line: 5370

       delete from   ap_pol_lines pl
       where  policy_id   = p_policy_id
         and  addon_mileage_rate_code is not null
         and  not exists
              (
                select 1
                  from ap_pol_schedule_options pso
                 where pso.policy_id   = pl.policy_id
                   and pso.option_code = pl.addon_mileage_rate_code
              );
Line: 5384

       insert into AP_POL_LINES
            (
             POLICY_LINE_ID,
             POLICY_ID,
             SCHEDULE_PERIOD_ID,
             LOCATION_ID,
             ROLE_ID,
             CURRENCY_CODE,
             VEHICLE_CATEGORY,
             VEHICLE_TYPE,
             FUEL_TYPE,
             RANGE_LOW,
             RANGE_HIGH,
             ADDON_MILEAGE_RATE_CODE,
             STATUS,
             CREATION_DATE,
             CREATED_BY,
             LAST_UPDATE_DATE,
             LAST_UPDATED_BY
            )
        select
             AP_POL_LINES_S.NEXTVAL AS POLICY_LINE_ID,
             apl.POLICY_ID,
             apl.SCHEDULE_PERIOD_ID,
             apl.location_id,
             apl.role_id,
             apl.currency_code,
             apl.vehicle_category,
             apl.vehicle_type,
             apl.fuel_type,
             apl.range_low,
             apl.range_high,
             option_code as addon_mileage_rate_code,
             'NEW' AS STATUS,
             sysdate AS CREATION_DATE,
             apl.CREATED_BY,
             sysdate AS LAST_UPDATE_DATE,
             apl.LAST_UPDATED_BY
        from ap_pol_lines apl,
             ap_pol_schedule_options pso
        where apl.POLICY_ID = p_policy_id
          and pso.policy_id = apl.policy_id
          and OPTION_TYPE = 'OIE_ADDON_MILEAGE_RATES'
          and OPTION_CODE IS NOT NULL
          and nvl(END_DATE, SYSDATE+1) > SYSDATE
          and apl.addon_mileage_rate_code is null
          and not exists
          ( select 1
            from   ap_pol_lines epl
            where  epl.POLICY_ID = apl.policy_id
              and  epl.SCHEDULE_PERIOD_ID = apl.schedule_period_id
              and  nvl(epl.LOCATION_ID, -1) = nvl(apl.location_id, -1)
              and  nvl(epl.ROLE_ID, -1) = nvl(apl.role_id, -1)
              and  ((nvl(epl.CURRENCY_CODE, 'NULL') = nvl(apl.currency_code, 'NULL'))
                     or
                    (epl.CURRENCY_CODE is not null and apl.currency_code is null)
                   )
              and  nvl(epl.VEHICLE_CATEGORY, 'NULL') = nvl(apl.vehicle_category, 'NULL')
              and  nvl(epl.VEHICLE_TYPE, 'NULL') = nvl(apl.vehicle_type, 'NULL')
              and  nvl(epl.FUEL_TYPE, 'NULL') = nvl(apl.fuel_type, 'NULL')
              and  nvl(epl.RANGE_LOW, -1) = nvl(apl.range_low, -1)
              and  nvl(epl.RANGE_HIGH, -1) = nvl(apl.range_high, -1)
              and  epl.addon_mileage_rate_code = pso.option_code
          );
Line: 5486

cursor c_insert_nighrates is
   select distinct
          apl.POLICY_ID,
          apl.SCHEDULE_PERIOD_ID,
          apl.location_id,
          apl.role_id,
          apl.currency_code,
          option_code as night_rate_type_code,
          'NEW' AS STATUS
     from ap_pol_lines apl,
          ap_pol_schedule_options pso
     where apl.POLICY_ID = p_policy_id
       and pso.policy_id(+) = apl.policy_id
       and OPTION_TYPE(+) = 'OIE_NIGHT_RATES'
       and OPTION_CODE(+) IS NOT NULL
       and nvl(END_DATE(+), SYSDATE+1) > SYSDATE
       and nvl(apl.rate_type_code, 'STANDARD') = 'STANDARD';
Line: 5507

cursor c_update_nightrates is
   select
          distinct
          apl.POLICY_ID,
          apl.SCHEDULE_PERIOD_ID,
          apl.location_id,
          apl.role_id,
          apl.currency_code,
          option_code as night_rate_type_code,
          'NEW' AS STATUS
     from ap_pol_lines apl,
          ap_pol_schedule_options pso,
          ap_pol_lines epl
     where apl.POLICY_ID = p_policy_id
       and pso.policy_id(+) = apl.policy_id
       and OPTION_TYPE(+) = 'OIE_NIGHT_RATES'
       and OPTION_CODE(+) IS NOT NULL
       and nvl(END_DATE(+), SYSDATE+1) > SYSDATE
       and nvl(apl.rate_type_code, 'STANDARD') = 'STANDARD'
       and not exists
       ( select 1
         from   ap_pol_lines epl
         where  epl.POLICY_ID = apl.policy_id
         and    epl.SCHEDULE_PERIOD_ID = apl.schedule_period_id
         and    nvl(epl.LOCATION_ID, -1) = nvl(apl.location_id, -1)
         and    nvl(epl.ROLE_ID, -1) = nvl(apl.role_id, -1)
         and    ((nvl(epl.CURRENCY_CODE, 'NULL') = nvl(apl.currency_code, 'NULL'))
                 or
                 (epl.CURRENCY_CODE is not null and apl.currency_code is null)
                )
         and    epl.rate_type_code = 'NIGHT_RATE'
         and    ( epl.night_rate_type_code is null or
                  ( epl.night_rate_type_code is not null and epl.night_rate_type_code = pso.option_code )
                )
        );
Line: 5552

      select count(policy_line_id)
      into   l_policy_line_count
      from   ap_pol_lines
      where  policy_id = p_policy_id
      and    schedule_period_id = p_schedule_period_id
      and    rate_type_code = 'NIGHT_RATE';
Line: 5566

       FOR c_nightrate IN c_insert_nighrates
       LOOP
          insert into AP_POL_LINES
             (
              POLICY_LINE_ID,
              POLICY_ID,
              SCHEDULE_PERIOD_ID,
              LOCATION_ID,
              ROLE_ID,
              CURRENCY_CODE,
              RATE_TYPE_CODE,
              NIGHT_RATE_TYPE_CODE,
              STATUS,
              CREATION_DATE,
              CREATED_BY,
              LAST_UPDATE_DATE,
              LAST_UPDATED_BY
             )
           values
             (
              AP_POL_LINES_S.NEXTVAL,
              c_nightrate.POLICY_ID,
              c_nightrate.SCHEDULE_PERIOD_ID,
              c_nightrate.LOCATION_ID,
              c_nightrate.ROLE_ID,
              c_nightrate.CURRENCY_CODE,
              'NIGHT_RATE',
              c_nightrate.NIGHT_RATE_TYPE_CODE,
              c_nightrate.STATUS,
              sysdate,
              p_user_id,
              sysdate,
              p_user_id
             );
Line: 5610

          select night_rates_code
          into   l_night_rates_code
          from   ap_pol_headers
          where  policy_id = p_policy_id;
Line: 5620

          delete from   ap_pol_lines
          where  policy_id      = p_policy_id
          and    rate_type_code = 'NIGHT_RATE'
          and    night_rate_type_code is not null;
Line: 5627

      	  /* delete from   ap_pol_lines
             where  policy_id      = p_policy_id
             and    rate_type_code = 'NIGHT_RATE'
             and    night_rate_type_code is NULL ; */
Line: 5633

          delete from   ap_pol_lines
          where  policy_id      = p_policy_id
          and    rate_type_code = 'NIGHT_RATE'
          and    (night_rate_type_code is NULL
                 or night_rate_type_code not in(select option_code
                                               from ap_pol_schedule_options
                                               where policy_id = p_policy_id));
Line: 5646

       FOR c_nightrate IN c_update_nightrates
       LOOP
          insert into AP_POL_LINES
             (
              POLICY_LINE_ID,
              POLICY_ID,
              SCHEDULE_PERIOD_ID,
              LOCATION_ID,
              ROLE_ID,
              CURRENCY_CODE,
              RATE_TYPE_CODE,
              NIGHT_RATE_TYPE_CODE,
              STATUS,
              CREATION_DATE,
              CREATED_BY,
              LAST_UPDATE_DATE,
              LAST_UPDATED_BY
             )
           values
             (
              AP_POL_LINES_S.NEXTVAL,
              c_nightrate.POLICY_ID,
              c_nightrate.SCHEDULE_PERIOD_ID,
              c_nightrate.LOCATION_ID,
              c_nightrate.ROLE_ID,
              c_nightrate.CURRENCY_CODE,
              'NIGHT_RATE',
              c_nightrate.NIGHT_RATE_TYPE_CODE,
              c_nightrate.STATUS,
              sysdate,
              p_user_id,
              sysdate,
              p_user_id
             );
Line: 5712

   select nvl2(night_rates_code, 'Y', 'N' )
   into   l_night_rate_flag
   from   ap_pol_headers
   where  policy_id = p_policy_id;
Line: 5753

   select nvl(rate_period_type_code, 'STANDARD')
   into   l_rate_period_type_code
   from   ap_pol_headers
   where  policy_id = p_policy_id;
Line: 5758

   select count(1)
   into   l_first_period_count
   from   ap_pol_schedule_options
   where  policy_id = p_policy_id
   and    rate_type_code= 'FIRST_PERIOD';
Line: 5804

   select nvl(rate_period_type_code, 'STANDARD')
   into   l_rate_period_type_code
   from   ap_pol_headers
   where  policy_id = p_policy_id;
Line: 5809

   select count(1)
   into   l_last_period_count
   from   ap_pol_schedule_options
   where  policy_id = p_policy_id
   and    rate_type_code= 'LAST_PERIOD';
Line: 5854

   select nvl(same_day_rate_code, 'NULL')
   into   l_same_day_rate_code
   from   ap_pol_headers
   where  policy_id = p_policy_id;
Line: 5859

   select count(1)
   into   l_same_day_count
   from   ap_pol_schedule_options
   where  policy_id = p_policy_id
   and    rate_type_code= 'SAME_DAY';
Line: 5913

   DELETE FROM ap_pol_lines pl
   WHERE  pl.policy_id = p_policy_id
   AND    NVL(role_id, -1) <> -1
   AND    NOT EXISTS
          ( SELECT 1
            FROM   ap_pol_schedule_options pso
            WHERE  pso.policy_id = pl.policy_id
            AND    pso.option_type = 'EMPLOYEE_ROLE'
            AND    pso.option_code = pl.role_id
          );
Line: 5930

         UPDATE ap_pol_lines
         SET    role_id = -1
         WHERE  policy_id = p_policy_id
         AND    role_id IS NULL;
Line: 5938

         INSERT INTO ap_pol_lines
            (   POLICY_LINE_ID,
                POLICY_ID,
                SCHEDULE_PERIOD_ID,
                RATE_TYPE_CODE,
                STATUS,
                ROLE_ID,
                LOCATION_ID,
                CURRENCY_CODE,
                RATE,
                TOLERANCE,
                CALCULATION_METHOD,
                MEALS_DEDUCTION,
                BREAKFAST_DEDUCTION,
                LUNCH_DEDUCTION,
                DINNER_DEDUCTION,
                ONE_MEAL_DEDUCTION_AMT,
                TWO_MEALS_DEDUCTION_AMT,
                THREE_MEALS_DEDUCTION_AMT,
                ACCOMMODATION_ADJUSTMENT,
                ACCOMMODATION_CALC_METHOD,
                NIGHT_RATE_TYPE_CODE,
                START_OF_SEASON,
                END_OF_SEASON,
                MAX_LODGING_AMT,
                NO_GOVT_MEALS_AMT,
                PROP_MEALS_AMT,
                OFF_BASE_INC_AMT,
                FOOTNOTE_AMT,
                FOOTNOTE_RATE_AMT,
                MAX_PER_DIEM_AMT,
                EFFECTIVE_START_DATE,
                EFFECTIVE_END_DATE,
                CREATION_DATE,
                CREATED_BY,
                LAST_UPDATE_LOGIN,
                LAST_UPDATE_DATE,
                LAST_UPDATED_BY
             )
         SELECT AP_POL_LINES_S.NEXTVAL,
                apl.POLICY_ID,
                apl.SCHEDULE_PERIOD_ID,
                apl.RATE_TYPE_CODE,
                'NEW' as STATUS,
                pso.option_code as ROLE_ID,
                apl.LOCATION_ID,
                apl.CURRENCY_CODE,
                apl.RATE,
                apl.TOLERANCE,
                apl.CALCULATION_METHOD,
                apl.MEALS_DEDUCTION,
                apl.BREAKFAST_DEDUCTION,
                apl.LUNCH_DEDUCTION,
                apl.DINNER_DEDUCTION,
                apl.ONE_MEAL_DEDUCTION_AMT,
                apl.TWO_MEALS_DEDUCTION_AMT,
                apl.THREE_MEALS_DEDUCTION_AMT,
                apl.ACCOMMODATION_ADJUSTMENT,
                apl.ACCOMMODATION_CALC_METHOD,
                apl.NIGHT_RATE_TYPE_CODE,
                apl.START_OF_SEASON,
                apl.END_OF_SEASON,
                apl.MAX_LODGING_AMT,
                apl.NO_GOVT_MEALS_AMT,
                apl.PROP_MEALS_AMT,
                apl.OFF_BASE_INC_AMT,
                apl.FOOTNOTE_AMT,
                apl.FOOTNOTE_RATE_AMT,
                apl.MAX_PER_DIEM_AMT,
                apl.EFFECTIVE_START_DATE,
                apl.EFFECTIVE_END_DATE,
                sysdate as CREATION_DATE,
                p_user_id as CREATED_BY,
                p_user_id LAST_UPDATE_LOGIN,
                sysdate as LAST_UPDATE_DATE,
                p_user_id as LAST_UPDATED_BY
         FROM   ap_pol_lines apl,
                ap_pol_schedule_options pso
         WHERE  apl.policy_id   = pso.policy_id
         AND    apl.role_id     = -1
         AND    pso.option_type = 'EMPLOYEE_ROLE'
         AND    pso.role_id IS NOT NULL
         AND    pso.role_id <> -1
         AND    nvl(pso.end_date, SYSDATE+1) > SYSDATE
         AND NOT EXISTS
          ( SELECT 1
            FROM   ap_pol_lines epl
            WHERE  epl.POLICY_ID = apl.policy_id
              AND  epl.SCHEDULE_PERIOD_ID = apl.schedule_period_id
              AND  nvl(epl.LOCATION_ID, -1) = nvl(apl.location_id, -1)
              AND  nvl(epl.ROLE_ID, -1) = pso.option_code
              AND  nvl(epl.CURRENCY_CODE, 'NULL') = nvl(apl.currency_code, 'NULL')
          );
Line: 6038

         UPDATE ap_pol_lines
         SET    role_id = NULL
         WHERE  policy_id = p_policy_id
         AND    role_id IS NOT NULL;
Line: 6124

 |   Location Id   -- Location ID to use when selecting the policy line.
 |   null          -- otherwise.
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 21-Feb-2006           albowicz          Created
 |
 *=======================================================================*/

FUNCTION getPolicyLocationId( p_expense_type_id    IN NUMBER,
                              p_expense_date       IN DATE,
                              p_location_id        IN NUMBER ) RETURN NUMBER IS

l_location_id AP_POL_SCHEDULE_OPTIONS.location_id%type;
Line: 6140

    SELECT LOCATION_ID
    INTO l_location_id
    FROM (
      -- This query verifies that a given location is active within a policy
      select location_id
      from AP_POL_SCHEDULE_OPTIONS opts, ap_expense_report_params_all p
      where p.parameter_id = p_expense_type_id
        AND policy_id = p.company_policy_id
        AND option_type = 'LOCATION'
        AND status      = 'ACTIVE'
        AND (opts.end_date is null OR opts.end_date >= p_expense_date)
        AND LOCATION_ID = p_location_id
      UNION ALL
      select opts.location_id
      from AP_POL_SCHEDULE_OPTIONS opts, AP_POL_LOCATIONS_B loc1, AP_POL_LOCATIONS_B loc2, ap_expense_report_params_all p
      where p.parameter_id = p_expense_type_id
        AND policy_id = p.company_policy_id
        AND opts.option_type = 'LOCATION'
        AND opts.status      = 'ACTIVE'
        AND (opts.end_date is null OR opts.end_date >= p_expense_date)
        AND loc1.location_id = opts.location_id
        AND loc1.location_type = 'COUNTRY'
        AND loc2.territory_code = loc1.territory_code
        AND loc2.location_type <> 'COUNTRY'
        AND loc2.location_id = p_location_id
      UNION ALL
      -- Will find the all other location for a given policy
      select loc.location_id
      from AP_POL_SCHEDULE_OPTIONS opts, AP_POL_LOCATIONS_B loc, ap_expense_report_params_all p
      where p.parameter_id = p_expense_type_id
        AND opts.policy_id = p.company_policy_id
        AND opts.option_type = 'LOCATION'
        AND opts.status      = 'ACTIVE'
        AND (opts.end_date is null OR opts.end_date >= p_expense_date)
        AND loc.location_id = opts.location_id
        AND loc.undefined_location_flag = 'Y'
    )
    WHERE ROWNUM = 1;
Line: 6225

select l.POLICY_LINE_ID
INTO l_policy_line_id
from AP_POL_HEADERS h, AP_POL_LINES l, AP_POL_SCHEDULE_PERIODS sp, AP_SYSTEM_PARAMETERS sys, AP_POL_EXRATE_OPTIONS rate_opts, ap_expense_report_params_all p
where p.parameter_id = p_expense_type_id
AND   h.policy_id = p.company_policy_id
AND   h.category_code <> 'MILEAGE'
AND   h.category_code <> 'PER_DIEM'
AND   p_expense_date between h.start_date and nvl(h.end_date, TO_DATE('31-12-4712', 'DD-MM-YYYY'))
AND   l.policy_id = h.policy_id
AND   l.status = 'ACTIVE'
AND   l.SCHEDULE_PERIOD_ID = sp.SCHEDULE_PERIOD_ID
AND   p_expense_date between sp.start_date and nvl(sp.end_date, TO_DATE('31-12-4712', 'DD-MM-YYYY'))
AND   sys.org_id = rate_opts.org_id(+)
AND   (nvl(h.employee_role_flag, 'N') = 'N' OR
       l.role_id = nvl((select ROLE_ID
                         from AP_POL_SCHEDULE_OPTIONS
                         where policy_id = h.policy_id
                         AND option_type = 'EMPLOYEE_ROLE'
                         AND status      = 'ACTIVE'
                         AND (end_date is null OR end_date >= p_expense_date)
                         AND ROLE_ID = decode(h.role_code, 'JOB_GROUP', l_hr_assignment.job_id, 'POSITION', l_hr_assignment.position_id, 'GRADE', l_hr_assignment.grade_id, -1)), -1))
AND   (nvl(h.location_flag, 'N') = 'N' OR
       l.location_id = l_location_id)
AND ( (h.category_code = 'AIRFARE') OR
      (l.currency_code = p_currency_code) OR
      (nvl(h.allow_rate_conversion_code, 'NO_CONVERSION') = 'NO_CONVERSION' AND h.currency_code = p_currency_code) OR
      (h.currency_preference = 'SRC' AND h.allow_rate_conversion_code = 'ALLOW_CONVERSION' AND
         ('Y' = GL_CURRENCY_API.rate_exists(p_currency_code, l.currency_code, p_expense_date, rate_opts.exchange_rate_type) OR
         ('Y' = GL_CURRENCY_API.rate_exists(p_currency_code, sys.base_currency_code, p_expense_date, rate_opts.exchange_rate_type) AND
          'Y' = GL_CURRENCY_API.rate_exists(sys.base_currency_code, l.currency_code, p_expense_date, rate_opts.exchange_rate_type)))
      ) OR
      (nvl(h.currency_preference, 'LCR') = 'LCR' AND ('Y' = GL_CURRENCY_API.rate_exists(p_currency_code, l.currency_code, p_expense_date, rate_opts.exchange_rate_type) OR
      ('Y' = GL_CURRENCY_API.rate_exists(p_currency_code, sys.base_currency_code, p_expense_date, rate_opts.exchange_rate_type) AND 'Y' = GL_CURRENCY_API.rate_exists(sys.base_currency_code, l.currency_code, p_expense_date, rate_opts.exchange_rate_type)))
      )
    )
-- ACC Seasonality condition.
AND (h.category_code <> 'ACCOMMODATIONS' OR l.start_of_season IS NULL OR l.end_of_season IS NULL OR
     'Y' = AP_WEB_POLICY_UTILS.isDateInSeason(p_expense_date, l.start_of_season, l.end_of_season))
AND l.parent_line_id is null -- Bug: 6866388, Too Many rows fetched
AND p_expense_date between nvl(l.effective_start_date, p_expense_date) and nvl(l.effective_end_date, p_expense_date+1); -- 6994883
Line: 6313

   select nvl(rate_type_code, 'STANDARD') rate_type_code, count(1) as number_of_lines
   from   ap_pol_lines
   where  policy_id = p_policy_id
   and    schedule_period_id = p_schedule_id
   and    (status <>  'VALID' and status <> 'ACTIVE')
   and    addon_mileage_rate_code is null
   group by rate_type_code
   union all
   select nvl(rate_type_code, 'ADDON') rate_type_code,  count(1) as number_of_lines
   from   ap_pol_lines
   where  policy_id = p_policy_id
   and    schedule_period_id = p_schedule_id
   and    (status <> 'VALID' and status <> 'ACITVE')
   and    addon_mileage_rate_code is not null
   group by rate_type_code;
Line: 6395

   UPDATE ap_pol_lines
   SET    status = 'ACTIVE'
   WHERE  policy_id = p_policy_id
   AND    schedule_period_id = p_schedule_id
   AND    status = 'VALID';