DBA Data[Home] [Help]

APPS.AP_WEB_POLICY_UTILS SQL Statements

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

Line: 41

        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.assignment_id = P.assignment_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_x P
            WHERE P.PERSON_ID = p_person_id
              AND ass.assignment_id = p.assignment_id
              AND p_date >= effective_start_date and p_date <= effective_end_date
              AND ass.assignment_type = 'C')
        WHERE ROWNUM = 1;
Line: 214

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

      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: 235

      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: 344

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

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

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

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

    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: 591

      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: 692

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

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

    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: 814

    select location_id, location
    from  ap_pol_locations_vl
    where location_type in ('CITY','COUNTRY');
Line: 826

      select location into l_location from ap_pol_locations_vl where location_id = p_location_id;
Line: 868

    select currency_code, name||' - '||currency_code currency_display
    from   fnd_currencies_vl;
Line: 918

    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: 965

    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: 1013

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

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

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

    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: 1194

      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: 1252

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

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

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

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

    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: 1504

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

    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: 1536

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

    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: 1568

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

    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: 1600

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

    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: 1632

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

    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: 1664

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

    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: 1696

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

    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: 1752

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

    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: 1823

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

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

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

  l_number2_stmt		VARCHAR2(80) := 'union all select to_number(null), to_number(null) from sys.dual';
Line: 1828

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

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

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

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

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

  l_insert_sql_stmt		VARCHAR2(4000);
Line: 1991

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

  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: 2008

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,
         dt.RANGE_HIGH AS NEW_RANGE_HIGH,
         :p_rate_type AS NEW_RATE_TYPE_CODE
  from
'
from sys.dual; /* l_insert_cursor */
Line: 2081

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: 2099

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: 2117

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: 2135

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: 2153

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: 2171

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: 2189

select
'
      (select THRESHOLD,
              ap_web_policy_UTILS.getHighEndOfThreshold(:p_policy_id, THRESHOLD, nvl(:p_rate_type,''STANDARD'')) AS RANGE_HIGH
       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: 2210

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: 2233

select
'
  )
  where
  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: 2267

  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: 2288

    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: 2303

      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: 2312

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

          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: 2350

          l_schedule_option_rec.last_update_date := sysdate;
Line: 2351

          l_schedule_option_rec.last_updated_by  := p_user_id;
Line: 2354

          INSERT INTO ap_pol_schedule_options values  l_schedule_option_rec;
Line: 2363

    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: 2375

        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: 2384

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

            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: 2422

            l_schedule_option_rec.last_update_date := sysdate;
Line: 2423

            l_schedule_option_rec.last_updated_by  := p_user_id;
Line: 2426

            INSERT INTO ap_pol_schedule_options values  l_schedule_option_rec;
Line: 2438

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

  open l_insert_cursor;
Line: 2467

  fetch l_insert_cursor into l_insert_sql_stmt;
Line: 2493

  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: 2504

                      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 || '))', DBMS_SQL.NATIVE);
Line: 2517

                      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: 2565

  close l_insert_cursor;
Line: 2612

     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: 2619

  updateInactivePolicyLines(p_policy_id);
Line: 2672

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: 2701

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: 2728

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: 2774

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: 2801

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: 2845

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: 2889

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: 2944

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: 3046

 | 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: 3077

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: 3172

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: 3379

END updateInactivePolicyLines;
Line: 3416

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,
         REIMBURSEMENT_PERCENTAGE,
         MAX_RECEIPT_AMT
        )
  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,
         REIMBURSEMENT_PERCENTAGE,
         MAX_RECEIPT_AMT
  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: 3607

  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: 3621

  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,
         REIMBURSEMENT_PERCENTAGE,
         MAX_RECEIPT_AMT
        )
  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,
         REIMBURSEMENT_PERCENTAGE,
         MAX_RECEIPT_AMT
  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: 3741

  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,
         REIMBURSEMENT_PERCENTAGE,
         MAX_RECEIPT_AMT
        )
  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,
         REIMBURSEMENT_PERCENTAGE,
         MAX_RECEIPT_AMT
  from
         AP_POL_LINES
  where  POLICY_ID = p_policy_id
  and    PARENT_LINE_ID is not null;
Line: 3811

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

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

  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,
         REIMBURSEMENT_PERCENTAGE
        )
  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,
         p_reimbursement_percentage AS REIMBURSEMENT_PERCENTAGE
  from
         sys.dual;
Line: 3932

 | 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: 3959

  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: 3989

END massUpdateValue;
Line: 4046

  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,
         REIMBURSEMENT_PERCENTAGE
  from   AP_POL_SCHEDULE_PERIODS
  where  POLICY_ID = p_from_policy_id; /* l_duplicate_periods_cursor */
Line: 4072

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

    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,
           REIMBURSEMENT_PERCENTAGE_FLAG,
           REIMBURSEMENT_PERCENTAGE_CODE
          )
    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,
           REIMBURSEMENT_PERCENTAGE_FLAG,
           REIMBURSEMENT_PERCENTAGE_CODE
    from
           AP_POL_HEADERS
    where  POLICY_ID = p_from_policy_id;
Line: 4217

    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: 4370

    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: 4419

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

      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: 4477

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

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

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

    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: 4666

    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: 4695

    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: 4707

      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: 4828

 | 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: 4852

  DELETE FROM AP_POL_SCHEDULE_PERIODS WHERE POLICY_ID = p_policy_id;
Line: 4854

  DELETE FROM AP_POL_LINES WHERE POLICY_ID = p_policy_id;
Line: 4860

END deletePolicySchedule;
Line: 4887

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

  l_insert_sql_stmt		    VARCHAR2(4000);
Line: 5028

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

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,
         dt.RANGE_HIGH AS NEW_RANGE_HIGH,
         :p_rate_type AS NEW_RATE_TYPE_CODE
  from
'
from sys.dual; /* l_insert_cursor */
Line: 5096

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: 5114

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: 5132

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: 5150

select
'
      (select THRESHOLD,
              ap_web_policy_UTILS.getHighEndOfThreshold(:p_policy_id, THRESHOLD, nvl(:p_rate_type,''STANDARD'')) AS RANGE_HIGH
       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: 5170

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: 5190

select
'
  )
  where
  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: 5221

  open l_insert_cursor;
Line: 5230

  fetch l_insert_cursor into l_insert_sql_stmt;
Line: 5253

  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: 5264

                      l_insert_sql_stmt||
                      l_l_sql_stmt||
                      l_r_sql_stmt||
                      l_c_sql_stmt||
                      l_dt_sql_stmt || '))', DBMS_SQL.NATIVE);
Line: 5274

                      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: 5317

  close l_insert_cursor;
Line: 5326

  updateInactivePolicyLines(p_policy_id);
Line: 5368

      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: 5382

        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 apl.schedule_period_id = p_schedule_period_id -- Bug: 15996892
          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: 5434

       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: 5448

       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: 5550

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 apl.schedule_period_id = p_schedule_period_id -- Bug: 15996892
       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: 5572

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: 5617

      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: 5631

       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: 5675

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

          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: 5692

      	  /* 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: 5698

          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: 5711

       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: 5777

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

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

   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: 5869

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

   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: 5919

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

   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: 5978

   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: 5995

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

         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,
                REIMBURSEMENT_PERCENTAGE
             )
         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,
                apl.REIMBURSEMENT_PERCENTAGE
         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: 6105

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

 |   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: 6207

    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: 6292

select nvl(h.location_flag, 'N') into l_location_enabled
from AP_POL_HEADERS h, ap_expense_report_params_all p
where p.parameter_Id = p_expense_type_id
and   h.policy_Id = p.company_policy_id;
Line: 6303

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: 6391

   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 status <> 'INACTIVE' and status <> 'DUPLICATED')--Bug #13390211,13908899
   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 <> 'ACTIVE' and status <> 'INACTIVE' and status <> 'DUPLICATED')--Bug #13390211,13908899
   and    addon_mileage_rate_code is not null
   group by rate_type_code;
Line: 6473

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

PROCEDURE massUpdatePolicyLines(l_mass_update_type IN VARCHAR2,
                               l_rate IN VARCHAR2,
                               l_meal_limit IN VARCHAR2,
                               l_calculation_method IN VARCHAR2,
                               l_accommodation_calc_method IN VARCHAR2,
                               l_breakfast_deduction IN VARCHAR2,
                               l_lunch_deduction IN VARCHAR2,
                               l_dinner_deduction IN VARCHAR2,
                               l_accommodation_adjustment IN VARCHAR2,
                               l_meals_deduction IN VARCHAR2,
                               l_tolerance IN VARCHAR2,
                               l_reimbursement_percentage IN VARCHAR2,
                               l_rate_per_passenger IN VARCHAR2,
                               l_one_meal_deduction_amt IN VARCHAR2,
                               l_two_meals_deduction_amt IN VARCHAR2,
                               l_three_meals_deduction_amt IN VARCHAR2,
                               l_rounding_rule IN VARCHAR2,
                               l_where_clause IN VARCHAR2,
                               l_max_receipt_amt IN VARCHAR2
) IS

l_stmt VARCHAR2(4000);
Line: 6506

    IF(l_mass_update_type = 'AMOUNT') THEN
      l_stmt := ' Update ap_pol_lines set ' ||
               ' rate = Nvl('|| l_rate || ', rate),' ||
               ' meal_limit = Nvl('|| l_meal_limit || ', meal_limit),' ||
               ' max_receipt_amt = Nvl('|| l_max_receipt_amt || ', max_receipt_amt),' ||
               ' calculation_method = decode('''|| l_calculation_method|| ''',''NULL'',calculation_method,'''||l_calculation_method||'''),' ||
               ' accommodation_calc_method = decode('''|| l_accommodation_calc_method|| ''',''NULL'',accommodation_calc_method,'''||l_accommodation_calc_method||'''),' ||
               ' breakfast_deduction = Nvl('|| l_breakfast_deduction|| ', breakfast_deduction),' ||
               ' lunch_deduction = Nvl('|| l_lunch_deduction|| ',lunch_deduction),' ||
               ' dinner_deduction = Nvl('|| l_dinner_deduction|| ',dinner_deduction),' ||
               ' accommodation_adjustment = Nvl('|| l_accommodation_adjustment|| ',accommodation_adjustment),' ||
               ' meals_deduction = Nvl('|| l_meals_deduction|| ', meals_deduction),' ||
               ' tolerance = Nvl('|| l_tolerance|| ', tolerance),' ||
               ' reimbursement_percentage = Nvl('|| l_reimbursement_percentage|| ', reimbursement_percentage),' ||
               ' rate_per_passenger = Nvl('|| l_rate_per_passenger|| ', rate_per_passenger),' ||
               ' one_meal_deduction_amt = Nvl('|| l_one_meal_deduction_amt|| ', one_meal_deduction_amt),' ||
               ' two_meals_deduction_amt = Nvl('|| l_two_meals_deduction_amt|| ', two_meals_deduction_amt),' ||
               ' three_meals_deduction_amt = Nvl('|| l_three_meals_deduction_amt|| ',three_meals_deduction_amt)' ||
               ' WHERE ' || l_where_clause;
Line: 6526

    ELSIF(l_mass_update_type = 'PERCENT') THEN
      CASE l_rounding_rule

	WHEN 'WHOLE_NUMBER' THEN
            l_stmt := ' Update ap_pol_lines set ' ||
                     ' Rate = Nvl(Round(Rate + (('||l_rate ||' * Rate)/100), 0), rate),' ||
                     ' max_receipt_amt = Nvl(Round(max_receipt_amt + (('||l_max_receipt_amt ||' * max_receipt_amt)/100), 0), max_receipt_amt),' ||
                     ' calculation_method = decode('''|| l_calculation_method|| ''',''NULL'',calculation_method,'''||l_calculation_method||'''),' ||
                     ' accommodation_calc_method = decode('''|| l_accommodation_calc_method|| ''',''NULL'',accommodation_calc_method,'''||l_accommodation_calc_method||'''),' ||
                     ' meal_limit = Nvl(Round(meal_limit + (('||l_meal_limit  ||' * meal_limit)/100), 0), meal_limit),' ||
                     ' breakfast_deduction = Nvl(Round(breakfast_deduction + (('||l_breakfast_deduction ||' * breakfast_deduction)/100), 0), breakfast_deduction),' ||
                     ' lunch_deduction = Nvl(Round(lunch_deduction + (('||l_lunch_deduction ||' * lunch_deduction)/100), 0), lunch_deduction),' ||
                     ' dinner_deduction = Nvl(Round(dinner_deduction + (('||l_dinner_deduction ||' * dinner_deduction)/100), 0), dinner_deduction), ' ||
                     ' accommodation_adjustment = Nvl(Round(accommodation_adjustment + (('||l_accommodation_adjustment ||' * accommodation_adjustment)/100), 0), accommodation_adjustment),' ||
                     ' meals_deduction = Nvl(Round(meals_deduction + (('||l_meals_deduction ||' * meals_deduction)/100), 0), meals_deduction),' ||
                     ' tolerance = Nvl('||l_tolerance ||', tolerance),' ||
                     ' reimbursement_percentage = Nvl('|| l_reimbursement_percentage|| ', reimbursement_percentage),' ||
                     ' rate_per_passenger = Nvl(Round(rate_per_passenger + (('||l_rate_per_passenger ||' * rate_per_passenger)/100), 0),rate_per_passenger),' ||
                     ' one_meal_deduction_amt = Nvl(Round(one_meal_deduction_amt + (('||l_one_meal_deduction_amt ||' * one_meal_deduction_amt)/100), 0), one_meal_deduction_amt),' ||
                     ' two_meals_deduction_amt = Nvl(Round(two_meals_deduction_amt + (('||l_two_meals_deduction_amt ||' * two_meals_deduction_amt)/100), 0), two_meals_deduction_amt),' ||
                     ' three_meals_deduction_amt = Nvl(Round(three_meals_deduction_amt + (('||l_three_meals_deduction_amt ||' * three_meals_deduction_amt)/100), 0), three_meals_deduction_amt)' ||
                     ' WHERE ' || l_where_clause;
Line: 6551

            l_stmt := ' Update ap_pol_lines set ' ||
                     ' Rate = Nvl(Round(Rate + (('||l_rate ||' * Rate)/100), 1), rate),' ||
                     ' max_receipt_amt = Nvl(Round(max_receipt_amt + (('||l_max_receipt_amt ||' * max_receipt_amt)/100), 1), max_receipt_amt),' ||
                     ' meal_limit = Nvl(Round(meal_limit + (('||l_meal_limit  ||' * meal_limit)/100), 1), meal_limit),' ||
                     ' calculation_method = decode('''|| l_calculation_method|| ''',''NULL'',calculation_method,'''||l_calculation_method||'''),' ||
                     ' accommodation_calc_method = decode('''|| l_accommodation_calc_method|| ''',''NULL'',accommodation_calc_method,'''||l_accommodation_calc_method||'''),' ||
                     ' breakfast_deduction = Nvl(Round(breakfast_deduction + (('||l_breakfast_deduction ||' * breakfast_deduction)/100), 1), breakfast_deduction),' ||
                     ' lunch_deduction = Nvl(Round(lunch_deduction + (('||l_lunch_deduction ||' * lunch_deduction)/100), 1), lunch_deduction),' ||
                     ' dinner_deduction = Nvl(Round(dinner_deduction + (('||l_dinner_deduction ||' * dinner_deduction)/100), 1), dinner_deduction), ' ||
                     ' accommodation_adjustment = Nvl(Round(accommodation_adjustment + (('||l_accommodation_adjustment ||' * accommodation_adjustment)/100), 1), accommodation_adjustment),' ||
                     ' meals_deduction = Nvl(Round(meals_deduction + (('||l_meals_deduction ||' * meals_deduction)/100), 1), meals_deduction),' ||
                     ' tolerance = Nvl('||l_tolerance ||', tolerance),' ||
                     ' reimbursement_percentage = Nvl('|| l_reimbursement_percentage|| ', reimbursement_percentage),' ||
                     ' rate_per_passenger = Nvl(Round(rate_per_passenger + (('||l_rate_per_passenger ||' * rate_per_passenger)/100), 1),rate_per_passenger),' ||
                     ' one_meal_deduction_amt = Nvl(Round(one_meal_deduction_amt + (('||l_one_meal_deduction_amt ||' * one_meal_deduction_amt)/100), 1), one_meal_deduction_amt),' ||
                     ' two_meals_deduction_amt = Nvl(Round(two_meals_deduction_amt + (('||l_two_meals_deduction_amt ||' * two_meals_deduction_amt)/100), 1), two_meals_deduction_amt),' ||
                     ' three_meals_deduction_amt = Nvl(Round(three_meals_deduction_amt + (('||l_three_meals_deduction_amt ||' * three_meals_deduction_amt)/100), 1), three_meals_deduction_amt)' ||
                     ' WHERE ' || l_where_clause;
Line: 6572

            l_stmt := ' Update ap_pol_lines set ' ||
                     ' Rate = Nvl(Round(Rate + (('||l_rate ||' * Rate)/100), 2), rate),' ||
                     ' max_receipt_amt = Nvl(Round(max_receipt_amt + (('||l_max_receipt_amt ||' * max_receipt_amt)/100), 2), max_receipt_amt),' ||
                     ' meal_limit = Nvl(Round(meal_limit + (('||l_meal_limit  ||' * meal_limit)/100), 2), meal_limit),' ||
                     ' calculation_method = decode('''|| l_calculation_method|| ''',''NULL'',calculation_method,'''||l_calculation_method||'''),' ||
                     ' accommodation_calc_method = decode('''|| l_accommodation_calc_method|| ''',''NULL'',accommodation_calc_method,'''||l_accommodation_calc_method||'''),' ||
                     ' breakfast_deduction = Nvl(Round(breakfast_deduction + (('||l_breakfast_deduction ||' * breakfast_deduction)/100), 2), breakfast_deduction),' ||
                     ' lunch_deduction = Nvl(Round(lunch_deduction + (('||l_lunch_deduction ||' * lunch_deduction)/100), 2), lunch_deduction),' ||
                     ' dinner_deduction = Nvl(Round(dinner_deduction + (('||l_dinner_deduction ||' * dinner_deduction)/100), 2), dinner_deduction), ' ||
                     ' accommodation_adjustment = Nvl(Round(accommodation_adjustment + (('||l_accommodation_adjustment ||' * accommodation_adjustment)/100), 2), accommodation_adjustment),' ||
                     ' meals_deduction = Nvl(Round(meals_deduction + (('||l_meals_deduction ||' * meals_deduction)/100), 2), meals_deduction),' ||
                     ' tolerance = Nvl('||l_tolerance ||', tolerance),' ||
                     ' reimbursement_percentage = Nvl('|| l_reimbursement_percentage|| ', reimbursement_percentage),' ||
                     ' rate_per_passenger = Nvl(Round(rate_per_passenger + (('||l_rate_per_passenger ||' * rate_per_passenger)/100), 2),rate_per_passenger),' ||
                     ' one_meal_deduction_amt = Nvl(Round(one_meal_deduction_amt + (('||l_one_meal_deduction_amt ||' * one_meal_deduction_amt)/100), 2), one_meal_deduction_amt),' ||
                     ' two_meals_deduction_amt = Nvl(Round(two_meals_deduction_amt + (('||l_two_meals_deduction_amt ||' * two_meals_deduction_amt)/100), 2), two_meals_deduction_amt),' ||
                     ' three_meals_deduction_amt = Nvl(Round(three_meals_deduction_amt + (('||l_three_meals_deduction_amt ||' * three_meals_deduction_amt)/100), 2), three_meals_deduction_amt)' ||
                     ' WHERE ' || l_where_clause;
Line: 6593

	    l_stmt := ' Update ap_pol_lines set ' ||
                     ' Rate = Nvl(Round(Rate + (('||l_rate ||' * Rate)/100), 3), rate),' ||
                     ' max_receipt_amt = Nvl(Round(max_receipt_amt + (('||l_max_receipt_amt ||' * max_receipt_amt)/100), 3), max_receipt_amt),' ||
                     ' meal_limit = Nvl(Round(meal_limit + (('||l_meal_limit  ||' * meal_limit)/100), 3), meal_limit),' ||
                     ' calculation_method = decode('''|| l_calculation_method|| ''',''NULL'',calculation_method,'''||l_calculation_method||'''),' ||
                     ' accommodation_calc_method = decode('''|| l_accommodation_calc_method|| ''',''NULL'',accommodation_calc_method,'''||l_accommodation_calc_method||'''),' ||
                     ' breakfast_deduction = Nvl(Round(breakfast_deduction + (('||l_breakfast_deduction ||' * breakfast_deduction)/100), 3), breakfast_deduction),' ||
                     ' lunch_deduction = Nvl(Round(lunch_deduction + (('||l_lunch_deduction ||' * lunch_deduction)/100), 3), lunch_deduction),' ||
                     ' dinner_deduction = Nvl(Round(dinner_deduction + (('||l_dinner_deduction ||' * dinner_deduction)/100), 3), dinner_deduction), ' ||
                     ' accommodation_adjustment = Nvl(Round(accommodation_adjustment + (('||l_accommodation_adjustment ||' * accommodation_adjustment)/100), 3), accommodation_adjustment),' ||
                     ' meals_deduction = Nvl(Round(meals_deduction + (('||l_meals_deduction ||' * meals_deduction)/100), 3), meals_deduction),' ||
                     ' tolerance = Nvl('||l_tolerance ||', tolerance),' ||
                     ' reimbursement_percentage = Nvl('|| l_reimbursement_percentage|| ', reimbursement_percentage),' ||
                     ' rate_per_passenger = Nvl(Round(rate_per_passenger + (('||l_rate_per_passenger ||' * rate_per_passenger)/100), 3),rate_per_passenger),' ||
                     ' one_meal_deduction_amt = Nvl(Round(one_meal_deduction_amt + (('||l_one_meal_deduction_amt ||' * one_meal_deduction_amt)/100), 3), one_meal_deduction_amt),' ||
                     ' two_meals_deduction_amt = Nvl(Round(two_meals_deduction_amt + (('||l_two_meals_deduction_amt ||' * two_meals_deduction_amt)/100), 3), two_meals_deduction_amt),' ||
                     ' three_meals_deduction_amt = Nvl(Round(three_meals_deduction_amt + (('||l_three_meals_deduction_amt ||' * three_meals_deduction_amt)/100), 3), three_meals_deduction_amt)' ||
                     ' WHERE ' || l_where_clause;
Line: 6614

            l_stmt := ' Update ap_pol_lines set ' ||
                     ' Rate = Nvl((Round(Round(Rate + (('||l_rate ||'* Rate)/100), 0)/5)*5), Rate), ' ||
                     ' max_receipt_amt = Nvl((Round(Round(max_receipt_amt + (('||l_max_receipt_amt ||'* max_receipt_amt)/100), 0)/5)*5), max_receipt_amt), ' ||
                     ' meal_limit = Nvl((Round(Round(meal_limit + (('||l_meal_limit ||'* meal_limit)/100), 0)/5)*5), meal_limit),' ||
                     ' calculation_method = decode('''|| l_calculation_method|| ''',''NULL'',calculation_method,'''||l_calculation_method||'''),' ||
                     ' accommodation_calc_method = decode('''|| l_accommodation_calc_method|| ''',''NULL'',accommodation_calc_method,'''||l_accommodation_calc_method||'''),' ||
                     ' breakfast_deduction = Nvl((Round(Round(breakfast_deduction + (('||l_breakfast_deduction ||'* breakfast_deduction)/100), 0)/5)*5), breakfast_deduction),' ||
                     ' lunch_deduction = Nvl((Round(Round(lunch_deduction + (('||l_lunch_deduction ||'* lunch_deduction)/100), 0)/5)*5), lunch_deduction),' ||
                     ' dinner_deduction = Nvl((Round(Round(dinner_deduction + (('||l_dinner_deduction ||'* dinner_deduction)/100), 0)/5)*5), dinner_deduction),' ||
                     ' accommodation_adjustment = Nvl((Round(Round(accommodation_adjustment + (('||l_accommodation_adjustment ||'* accommodation_adjustment)/100), 0)/5)*5), accommodation_adjustment),' ||
                     ' meals_deduction = Nvl((Round(Round(meals_deduction + (('||l_meals_deduction ||'* meals_deduction)/100), 0)/5)*5), meals_deduction),' ||
                     ' tolerance = Nvl('||l_tolerance||' , tolerance),' ||
                     ' reimbursement_percentage = Nvl('|| l_reimbursement_percentage|| ', reimbursement_percentage),' ||
                     ' rate_per_passenger = Nvl((Round(Round(rate_per_passenger + (('||l_rate_per_passenger ||'* rate_per_passenger)/100), 0)/5)*5),rate_per_passenger),' ||
                     ' one_meal_deduction_amt = Nvl((Round(Round(one_meal_deduction_amt + (('||l_one_meal_deduction_amt ||'* one_meal_deduction_amt)/100), 0)/5)*5), one_meal_deduction_amt),' ||
                     ' two_meals_deduction_amt = Nvl((Round(Round(two_meals_deduction_amt + (('||l_two_meals_deduction_amt ||'* two_meals_deduction_amt)/100), 0)/5)*5), two_meals_deduction_amt),' ||
                     ' three_meals_deduction_amt = Nvl((Round(Round(three_meals_deduction_amt + (('||l_three_meals_deduction_amt ||'* three_meals_deduction_amt)/100), 0)/5)*5), three_meals_deduction_amt)' ||
		     ' WHERE ' || l_where_clause;
Line: 6635

            l_stmt := ' Update ap_pol_lines set ' ||
                     ' Rate = Nvl((Round(Round(Rate + (('||l_rate ||'* Rate)/100), 0)/10)*10), Rate), ' ||
                     ' max_receipt_amt = Nvl((Round(Round(max_receipt_amt + (('||l_max_receipt_amt ||'* max_receipt_amt)/100), 0)/10)*10), max_receipt_amt), ' ||
                     ' meal_limit = Nvl((Round(Round(meal_limit + (('||l_meal_limit ||'* meal_limit)/100), 0)/10)*10), meal_limit),' ||
                     ' calculation_method = decode('''|| l_calculation_method|| ''',''NULL'',calculation_method,'''||l_calculation_method||'''),' ||
                     ' accommodation_calc_method = decode('''|| l_accommodation_calc_method|| ''',''NULL'',accommodation_calc_method,'''||l_accommodation_calc_method||'''),' ||
                     ' breakfast_deduction = Nvl((Round(Round(breakfast_deduction + (('||l_breakfast_deduction ||'* breakfast_deduction)/100), 0)/10)*10), breakfast_deduction),' ||
                     ' lunch_deduction = Nvl((Round(Round(lunch_deduction + (('||l_lunch_deduction ||'* lunch_deduction)/100), 0)/10)*10), lunch_deduction),' ||
                     ' dinner_deduction = Nvl((Round(Round(dinner_deduction + (('||l_dinner_deduction ||'* dinner_deduction)/100), 0)/10)*10), dinner_deduction),' ||
                     ' accommodation_adjustment = Nvl((Round(Round(accommodation_adjustment + (('||l_accommodation_adjustment ||'* accommodation_adjustment)/100), 0)/10)*10), accommodation_adjustment),' ||
                     ' meals_deduction = Nvl((Round(Round(meals_deduction + (('||l_meals_deduction ||'* meals_deduction)/100), 0)/10)*10), meals_deduction),' ||
                     ' tolerance = Nvl('||l_tolerance||' , tolerance),' ||
                     ' reimbursement_percentage = Nvl('|| l_reimbursement_percentage|| ', reimbursement_percentage),' ||
                     ' rate_per_passenger = Nvl((Round(Round(rate_per_passenger + (('||l_rate_per_passenger ||'* rate_per_passenger)/100), 0)/10)*10),rate_per_passenger),' ||
                     ' one_meal_deduction_amt = Nvl((Round(Round(one_meal_deduction_amt + (('||l_one_meal_deduction_amt ||'* one_meal_deduction_amt)/100), 0)/10)*10), one_meal_deduction_amt),' ||
                     ' two_meals_deduction_amt = Nvl((Round(Round(two_meals_deduction_amt + (('||l_two_meals_deduction_amt ||'* two_meals_deduction_amt)/100), 0)/10)*10), two_meals_deduction_amt),' ||
                     ' three_meals_deduction_amt = Nvl((Round(Round(three_meals_deduction_amt + (('||l_three_meals_deduction_amt ||'* three_meals_deduction_amt)/100), 0)/10)*10), three_meals_deduction_amt)' ||
                     ' WHERE ' || l_where_clause;
Line: 6661

END massUpdatePolicyLines;
Line: 6685

    SELECT count(*) assignment_count
    FROM oie_dup_detect_rules rule
    WHERE rule.rule_id = p_rule_id
    AND (EXISTS(SELECT 1 FROM oie_dup_detect_rs_detail rs WHERE rs.rule_id = rule.rule_id)
    OR EXISTS(SELECT 1 FROM oie_dup_rule_assignments_all rsa WHERE rsa.rule_id = rule.rule_id));
Line: 6733

    SELECT Count(rule_assignment_id) assignment_count
    FROM oie_dup_rule_assignments_all
    WHERE rule_set_id = p_rule_set_id;
Line: 6789

      SELECT displayed_field INTO l_rule_name FROM ap_lookup_codes
      WHERE lookup_type = 'OIE_DISABLE_DUP_DETECTION' AND lookup_code = 'DISABLE_DUPLICATE_DETECTION';
Line: 6792

      SELECT rule_name INTO l_rule_name FROM oie_dup_detect_rules
      WHERE rule_id = p_rule_id;
Line: 6835

    SELECT rule_set_name INTO l_rule_set_name FROM oie_dup_detect_rs_summary
    WHERE rule_set_id = p_rule_set_id;
Line: 6869

    SELECT rule_name
    FROM oie_dup_detect_rules
    WHERE rule_id <> p_rule_id;
Line: 6914

    SELECT rule_set_name
    FROM oie_dup_detect_rs_summary
    WHERE rule_set_id <> p_rule_set_id;
Line: 6971

  SELECT rule_id, rule_set_id INTO l_rule_id, l_rule_set_id
  FROM oie_dup_rule_assignments_all
  WHERE org_id = p_org_id AND Trunc(p_start_date) BETWEEN Trunc(start_date) AND Trunc(Nvl(end_date,p_start_date));
Line: 6979

      SELECT rule_id, rule_set_id INTO l_rule_id, l_rule_set_id
      FROM oie_dup_rule_assignments_all
      WHERE org_id = -1 AND Trunc(p_start_date) BETWEEN Trunc(start_date) AND Trunc(Nvl(end_date,p_start_date));
Line: 7002

      SELECT displayed_field INTO l_category_code
      FROM ap_lookup_codes WHERE lookup_type = 'OIE_EXPENSE_CATEGORY'
      AND lookup_code = p_category_code;
Line: 7006

      SELECT rule_id INTO l_rule_id
      FROM oie_dup_detect_rs_detail
      WHERE rule_set_id = l_rule_set_id AND category_code = l_category_code;
Line: 7014

          SELECT rule_id INTO l_rule_id
          FROM oie_dup_detect_rs_detail
          WHERE rule_set_id = l_rule_set_id AND category_code = 'All';
Line: 7022

	      SELECT rule_id, rule_set_id INTO l_rule_id, l_rule_set_id
	      FROM oie_dup_rule_assignments_all
              WHERE org_id = -1 AND Trunc(p_start_date) BETWEEN Trunc(start_date) AND Trunc(Nvl(end_date,p_start_date));
Line: 7031

		  SELECT rule_id INTO l_rule_id
		  FROM oie_dup_detect_rs_detail
		  WHERE rule_set_id = l_rule_set_id AND category_code = l_category_code;
Line: 7039

		      SELECT rule_id INTO l_rule_id
		      FROM oie_dup_detect_rs_detail
		      WHERE rule_set_id = l_rule_set_id AND category_code = 'All';
Line: 7116

    SELECT duplicate_detection_action INTO l_dup_detect_action
    FROM oie_dup_detect_rules WHERE rule_id = l_rule_id;
Line: 7122

      SELECT Count(*) INTO l_count FROM ap_pol_violations_all
      WHERE report_header_id = p_report_header_id AND distribution_line_number = p_dist_line_number
      AND violation_type = 'DUPLICATE_DETECTION';
Line: 7163

    SELECT distribution_line_number, itemization_parent_id
    FROM ap_expense_report_lines_all
    WHERE report_header_id = p_report_header_id
    AND (itemization_parent_id IS NULL OR itemization_parent_id <> -1)
    ORDER BY distribution_line_number, itemization_parent_id;
Line: 7238

  SELECT Max(violation_number) INTO l_max_violation_number
  FROM ap_pol_violations_all
  WHERE report_header_id = p_report_header_id
  AND distribution_line_number = p_dist_line_number
  AND violation_type = 'DUPLICATE_DETECTION';
Line: 7259

 |   inserts the violations on to the table ap_pol_violations_all.
 |
 | MODIFICATION HISTORY
 | Date                  Author                   Description of Changes
 | 23-Feb-2010           Dharma Theja Reddy S        Created
 |
 *=======================================================================*/
PROCEDURE performDuplicateDetection(p_employee_id                 IN            VARCHAR2,
                                    p_report_header_id            IN            VARCHAR2,
                                    p_distribution_line_number    IN            VARCHAR2,
                                    p_org_id                      IN            VARCHAR2,
                                    p_start_date                  IN            DATE,
                                    p_end_date                    IN            DATE,
                                    p_receipt_currency_code       IN            VARCHAR2,
                                    p_daily_amount                IN            NUMBER,
                                    p_receipt_currency_amount     IN            NUMBER,
                                    p_web_parameter_id            IN            VARCHAR2,
                                    p_merchant_name               IN            VARCHAR2,
                                    p_daily_distance              IN            NUMBER,
                                    p_distance_unit_code          IN            VARCHAR2,
                                    p_destination_from            IN            VARCHAR2,
                                    p_destination_to              IN            VARCHAR2,
                                    p_trip_distance               IN            NUMBER,
                                    p_license_plate_number        IN            VARCHAR2,
                                    p_attendes                    IN            VARCHAR2,
                                    p_number_attendes             IN            NUMBER,
                                    p_ticket_class_code           IN            VARCHAR2,
                                    p_ticket_number               IN            VARCHAR2,
                                    p_itemization_parent_id       IN            NUMBER,
                                    p_category_code               IN            VARCHAR2,
                                    p_report_line_id              IN            NUMBER,
                                    p_max_violation_number        IN OUT NOCOPY NUMBER,
                                    p_dup_detect_action           OUT NOCOPY    VARCHAR2,
                                    p_created_by                  IN            NUMBER,
                                    p_creation_date               IN            DATE,
                                    p_last_updated_by             IN            NUMBER,
                                    p_last_update_login           IN            NUMBER,
                                    p_last_update_date            IN            DATE) IS


  TYPE expense_lines IS REF CURSOR;
Line: 7324

    SELECT * FROM oie_dup_detect_rules
    WHERE rule_id = p_rule_id;
Line: 7334

      SELECT  Decode(Max(violation_number), NULL, 0, Max(violation_number)) INTO l_violation_number
      FROM ap_pol_violations_all WHERE report_header_id = p_report_header_id;
Line: 7338

    DELETE FROM ap_pol_violations_all
    WHERE report_header_id = p_report_header_id
    AND distribution_line_number = p_distribution_line_number
    AND violation_type = 'DUPLICATE_DETECTION';
Line: 7355

      /*l_stmt := 'SELECT * FROM ap_expense_report_lines_all WHERE (((report_header_id IN
                (SELECT report_header_id FROM ap_expense_report_headers_all WHERE employee_id = ' || p_employee_id ||
                ' AND AP_WEB_OA_ACTIVE_PKG.GetReportStatusCode(source, workflow_approved_flag, report_header_id)
                  NOT IN (''REJECTED'', ''SAVED'', ''INPROGRESS'', ''WITHDRAWN''))) AND report_header_id <> ' || p_report_header_id ||
                  ') OR (report_header_id = ' || p_report_header_id || ' AND distribution_line_number < ' || p_distribution_line_number ||
                  ' AND report_line_id <> ' || p_report_line_id || ')) AND (itemization_parent_id is NULL OR itemization_parent_id <> -1)
                  AND start_expense_date = ''' || p_start_date || ''' AND category_code = ''' || p_category_code|| '''';*/
Line: 7364

      l_stmt := 'SELECT aerl.* FROM ap_expense_report_lines_all aerl, (SELECT report_header_id FROM ap_expense_report_headers_all
                 WHERE employee_id = ' || p_employee_id || ' AND expense_status_code NOT IN (''REJECTED'', ''SAVED'', ''INPROGRESS'', ''WITHDRAWN'')
		 UNION ALL SELECT ' || p_report_header_id || ' FROM DUAL) aerh WHERE aerl.report_header_id = aerh.report_header_id
		 AND (aerl.report_header_id <> ' || p_report_header_id || ' OR (aerl.report_header_id = ' || p_report_header_id || '
		 AND distribution_line_number < ' || p_distribution_line_number || ' AND report_line_id <> ' || p_report_line_id || '))
		 AND (itemization_parent_id is NULL OR itemization_parent_id <> -1) AND category_code = ''' || p_category_code|| '''
		 AND ((''' || p_category_code|| ''' NOT IN (''PER_DIEM'', ''MILEAGE'') AND start_expense_date = ''' || p_start_date || ''')
		 OR (''' || p_category_code|| ''' IN (''PER_DIEM'', ''MILEAGE'') AND ((((select start_expense_date from ap_expense_report_lines_all
                 where report_line_id = ' || p_report_line_id || ') between start_expense_date AND end_expense_date) OR (start_expense_date between
                 (select start_expense_date from ap_expense_report_lines_all where report_line_id = ' || p_report_line_id || ') AND
                 (select end_expense_date from ap_expense_report_lines_all where report_line_id = ' || p_report_line_id || '))))))';
Line: 7377

        /*l_att_stmt := 'SELECT * FROM ap_expense_report_lines_all WHERE (((report_header_id IN
                (SELECT report_header_id FROM ap_expense_report_headers_all
                WHERE AP_WEB_OA_ACTIVE_PKG.GetReportStatusCode(source, workflow_approved_flag, report_header_id)
                  NOT IN (''REJECTED'', ''SAVED'', ''INPROGRESS'', ''WITHDRAWN''))) AND report_header_id <> ' || p_report_header_id ||
                  ') OR (report_header_id = ' || p_report_header_id || ' AND distribution_line_number < ' || p_distribution_line_number ||
                  ' AND report_line_id <> ' || p_report_line_id || ')) AND (itemization_parent_id is NULL OR itemization_parent_id <> -1)
                AND start_expense_date = ''' || p_start_date || ''' AND category_code = ''' || p_category_code|| '''
                AND EXISTS (SELECT 1 FROM oie_attendees_all atts WHERE atts.report_line_id = report_line_id AND
                atts.employee_flag = ''Y'' AND atts.employee_id = ' || p_employee_id || ')';*/
Line: 7387

	l_att_stmt := 'SELECT aerl.* FROM ap_expense_report_lines_all aerl, (SELECT report_header_id FROM ap_expense_report_headers_all
	               WHERE expense_status_code NOT IN (''REJECTED'', ''SAVED'', ''INPROGRESS'', ''WITHDRAWN'')
		       UNION ALL SELECT ' || p_report_header_id || ' FROM DUAL) aerh WHERE aerl.report_header_id = aerh.report_header_id
		       AND (aerl.report_header_id <> ' || p_report_header_id || ' OR (aerl.report_header_id = ' || p_report_header_id || '
		       AND distribution_line_number < ' || p_distribution_line_number || ' AND report_line_id <> ' || p_report_line_id || '))
		       AND (itemization_parent_id is NULL OR itemization_parent_id <> -1) AND category_code = ''' || p_category_code|| '''
		       AND ((''' || p_category_code|| ''' NOT IN (''PER_DIEM'', ''MILEAGE'') AND start_expense_date = ''' || p_start_date || ''')
		       OR (''' || p_category_code|| ''' IN (''PER_DIEM'', ''MILEAGE'') AND ((((select start_expense_date from ap_expense_report_lines_all
                       where report_line_id = ' || p_report_line_id || ') between start_expense_date AND end_expense_date) OR (start_expense_date between
                       (select start_expense_date from ap_expense_report_lines_all where report_line_id = ' || p_report_line_id || ') AND
                       (select end_expense_date from ap_expense_report_lines_all where report_line_id = ' || p_report_line_id || '))))))
		       AND EXISTS (SELECT 1 FROM oie_attendees_all atts WHERE atts.report_line_id = aerl.report_line_id
		       AND atts.employee_flag = ''Y'' AND atts.employee_id = ' || p_employee_id || ')';
Line: 7425

        l_where_clause := l_where_clause || ' AND receipt_currency_amount IN (SELECT receipt_currency_amount FROM ap_expense_report_lines_all
                          WHERE report_line_id = ' || p_report_line_id || ') AND receipt_currency_code = ''' || p_receipt_currency_code || '''';
Line: 7486

          SELECT duplicates_allowed INTO l_exp_duplicates_allowed
          FROM ap_expense_report_params_all WHERE parameter_id = p_web_parameter_id;
Line: 7513

            INSERT INTO ap_pol_violations_all (
                      REPORT_HEADER_ID,
                      DISTRIBUTION_LINE_NUMBER,
                      VIOLATION_NUMBER,
                      VIOLATION_TYPE,
                      ORG_ID,
                      CREATED_BY,
                      CREATION_DATE,
                      LAST_UPDATED_BY,
                      LAST_UPDATE_LOGIN,
                      LAST_UPDATE_DATE,
                      VIOLATION_DATE,
                      DUP_REPORT_HEADER_ID,
                      DUP_REPORT_LINE_ID,
                      DUP_DIST_LINE_NUMBER
                    )
                    VALUES (
                      p_report_header_id,
                      p_distribution_line_number,
                      l_violation_number,
                      'DUPLICATE_DETECTION',
                      p_org_id,
                      p_created_by,
                      p_creation_date,
                      p_last_updated_by,
                      p_last_update_login,
                      p_last_update_date,
                      p_start_date,
                      l_report_prefix || expense_lines_rec.report_header_id,
                      expense_lines_rec.report_line_id,
                      l_dist_line_number
                    );
Line: 7595

      DELETE FROM ap_pol_violations_all WHERE report_header_id = p_report_header_id
      AND distribution_line_number = p_dist_line_number AND violation_type = 'DUPLICATE_DETECTION';
Line: 7646

    SELECT report_header_id, category_code, credit_card_trx_id, distribution_line_number
    INTO l_report_header_id, l_category_code, l_credit_card_trx_id, l_dist_line_number
    FROM ap_expense_report_lines_all WHERE report_line_id = p_report_line_id;
Line: 7652

      l_stmt := 'SELECT * FROM ap_expense_report_lines_all
                 WHERE report_header_id = ' || l_report_header_id || ' AND category_code = ''' || l_category_code ||
                 ''' ORDER by distribution_line_number, itemization_parent_id';
Line: 7658

        l_stmt := 'SELECT * FROM ap_expense_report_lines_all
                   WHERE report_header_id = ' || l_report_header_id || ' AND credit_card_trx_id IS NOT NULL
                   AND (itemization_parent_id IS NULL OR itemization_parent_id <> -1) AND category_code NOT IN (''PER_DIEM'', ''MILEAGE'')
                   ORDER by distribution_line_number, itemization_parent_id';
Line: 7664

        l_stmt := 'SELECT * FROM ap_expense_report_lines_all
                   WHERE report_header_id = ' || l_report_header_id || ' AND credit_card_trx_id IS NULL
                   AND (itemization_parent_id IS NULL OR itemization_parent_id <> -1) AND category_code NOT IN (''PER_DIEM'', ''MILEAGE'')
                   ORDER by distribution_line_number, itemization_parent_id';
Line: 7733

    select
           ph.policy_id,
           Pl.Policy_Line_Id,
	         ph.role_code,
           pl.role_id
    from ap_pol_headers ph,
         ap_pol_lines   pl
    where pl.policy_id = ph.policy_id
    and   ph.policy_id = p_policy_id;
Line: 7805

    select location_id, description
    from  ap_pol_locations_vl
    Where Location_Type In ('CITY','COUNTRY');
Line: 7817

      select description into l_location_desc from ap_pol_locations_vl where location_id = p_location_id;