DBA Data[Home] [Help]

APPS.GL_CRM_UTILITIES_PKG SQL Statements

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

Line: 74

   PROCEDURE print_delete_user_rate_warning IS
      c_text_files   VARCHAR2(200);
Line: 102

   END print_delete_user_rate_warning;
Line: 136

   PROCEDURE print_delete_sys_rate_warning IS
      c_text_files   VARCHAR2(200);
Line: 164

   END print_delete_sys_rate_warning;
Line: 269

   PROCEDURE insert_cross_rate_set(
      p_conversion_type          IN       VARCHAR2,
      p_contra_currency          IN       VARCHAR2,
      p_login_user               IN       NUMBER) IS
      existed_curr_rec   curr_rec;
Line: 276

      SELECT pivot_currency
        INTO x_pivot_currency
        FROM gl_cross_rate_rules
       WHERE conversion_type = p_conversion_type;
Line: 281

      SELECT DISTINCT from_currency
      BULK COLLECT INTO existed_curr_rec.r_from_curr
                 FROM gl_cross_rate_rule_dtls
                WHERE conversion_type = p_conversion_type;
Line: 288

      INSERT INTO gl_cross_rate_rule_dtls
                  (conversion_type, from_currency, to_currency,
                   enabled_flag, last_update_date, last_updated_by,
                   creation_date, created_by, last_update_login)
           VALUES (p_conversion_type, p_contra_currency, p_contra_currency,
                   'N', SYSDATE, p_login_user,
                   SYSDATE, p_login_user, p_login_user);
Line: 299

            INSERT INTO gl_cross_rate_rule_dtls
                        (conversion_type, from_currency,
                         to_currency, enabled_flag, last_update_date,
                         last_updated_by, creation_date, created_by,
                         last_update_login)
                 VALUES (p_conversion_type, p_contra_currency,
                         existed_curr_rec.r_from_curr(i), 'Y', SYSDATE,
                         p_login_user, SYSDATE, p_login_user,
                         p_login_user);
Line: 309

            INSERT INTO gl_cross_rate_rule_dtls
                        (conversion_type, from_currency,
                         to_currency, enabled_flag, last_update_date,
                         last_updated_by, creation_date, created_by,
                         last_update_login)
                 VALUES (p_conversion_type, existed_curr_rec.r_from_curr(i),
                         p_contra_currency, 'Y', SYSDATE,
                         p_login_user, SYSDATE, p_login_user,
                         p_login_user);
Line: 319

   END insert_cross_rate_set;
Line: 322

   PROCEDURE update_cross_rate_set(
      p_conversion_type          IN       VARCHAR2,
      p_new_contra_currency      IN       VARCHAR2,
      p_old_contra_currency      IN       VARCHAR2,
      p_login_user               IN       NUMBER) IS
      x_pivot_currency   VARCHAR2(15);
Line: 329

      SELECT pivot_currency
        INTO x_pivot_currency
        FROM gl_cross_rate_rules
       WHERE conversion_type = p_conversion_type;
Line: 334

      UPDATE gl_cross_rate_rule_dtls
         SET from_currency = p_new_contra_currency,
             last_update_date = SYSDATE,
             last_updated_by = p_login_user,
             last_update_login = p_login_user
       WHERE conversion_type = p_conversion_type
         AND from_currency = p_old_contra_currency;
Line: 342

      UPDATE gl_cross_rate_rule_dtls
         SET to_currency = p_new_contra_currency,
             last_update_date = SYSDATE,
             last_updated_by = p_login_user,
             last_update_login = p_login_user
       WHERE conversion_type = p_conversion_type
         AND to_currency = p_old_contra_currency;
Line: 349

   END update_cross_rate_set;
Line: 352

   PROCEDURE delete_cross_rate_set(
      p_conversion_type          IN       VARCHAR2,
      p_contra_currency          IN       VARCHAR2) IS
   BEGIN
      DELETE FROM gl_cross_rate_rule_dtls
            WHERE conversion_type = p_conversion_type
              AND (   from_currency = p_contra_currency
                   OR to_currency = p_contra_currency);
Line: 360

   END delete_cross_rate_set;
Line: 445

      sys_daily_rate_cannot_delete     daily_rate_rec;
Line: 446

      usr_daily_rate_cannot_delete     daily_rate_rec;
Line: 460

      SELECT dri.from_currency,
             dri.to_currency,
             dri.from_conversion_date,
             dri.to_conversion_date,
             dct.conversion_type,
             dri.conversion_rate,
             NVL(dri.inverse_conversion_rate, 1/conversion_rate) inverse_conversion_rate,
             dri.mode_flag
       FROM  gl_daily_rates_interface dri,
             gl_daily_conversion_types dct
       WHERE mode_flag IN ('I', 'D', 'T', 'N')
       AND   dct.user_conversion_type = dri.user_conversion_type
       AND   dri.batch_number = l_batch_number;
Line: 495

      UPDATE gl_daily_rates_interface ri
         SET ERROR_CODE =
                (SELECT DECODE
                           (ct.ROWID,
                            NULL, 'NONEXISTANT_CONVERSION_TYPE',
                            DECODE
                               (LEAST(TRUNC(ri2.to_conversion_date)
                                      - TRUNC(ri2.from_conversion_date),
                                      367),
                                367, 'DATE_RANGE_TOO_LARGE',
                                DECODE
                                   (LEAST(ri.conversion_rate, 0),
                                    ri.conversion_rate, 'NEGATIVE_CONVERSION_RATE',
                                    DECODE
                                       (LEAST
                                            (NVL(ri.inverse_conversion_rate,
                                                 1),
                                             0),
                                        ri.inverse_conversion_rate, 'NEGATIVE_INVERSE_RATE',
                                        DECODE
                                           (from_curr.ROWID,
                                            NULL, 'NONEXISTANT_FROM_CURRENCY',
                                            DECODE
                                               (from_curr.enabled_flag,
                                                'N', 'DISABLED_FROM_CURRENCY',
                                                -- Bug 4222440 JVARKEY Error the never enabled currency
                                                'X', 'DISABLED_FROM_CURRENCY',
                                                DECODE
                                                   (from_curr.currency_flag,
                                                    'N', 'STATISTICAL_FROM_CURRENCY',
                                                    DECODE
                                                       (from_curr.currency_code,
                                                        'STAT', 'STATISTICAL_FROM_CURRENCY',
                                                        DECODE
                                                           (SIGN
                                                               (TRUNC(SYSDATE)
                                                                - NVL
                                                                    (TRUNC
                                                                        (from_curr.start_date_active),
                                                                     TRUNC
                                                                        (SYSDATE))),
                                                            -1, 'OUT_OF_DATE_FROM_CURRENCY',
                                                            DECODE
                                                               (SIGN
                                                                   (TRUNC
                                                                       (SYSDATE)
                                                                    - NVL
                                                                        (TRUNC
                                                                            (from_curr.end_date_active),
                                                                         TRUNC
                                                                            (SYSDATE))),
                                                                1, 'OUT_OF_DATE_FROM_CURRENCY',
                                                                DECODE
                                                                   (DECODE
                                                                       (from_curr.derive_type,
                                                                        'EMU', SIGN
                                                                           (TRUNC
                                                                               (from_curr.derive_effective)
                                                                            - TRUNC
                                                                                (ri2.to_conversion_date)),
                                                                        1),
                                                                    -1, 'EMU_FROM_CURRENCY',
                                                                    0, 'EMU_FROM_CURRENCY',
                                                                    DECODE
                                                                       (to_curr.ROWID,
                                                                        NULL, 'NONEXISTANT_TO_CURRENCY',
                                                                        DECODE
                                                                           (to_curr.enabled_flag,
                                                                            'N', 'DISABLED_TO_CURRENCY',
                                                                            -- Bug 4222440 JVARKEY Error the never enabled currency
                                                                            'X', 'DISABLED_TO_CURRENCY',
                                                                            DECODE
                                                                               (to_curr.currency_flag,
                                                                                'N', 'STATISTICAL_TO_CURRENCY',
                                                                                DECODE
                                                                                   (to_curr.currency_code,
                                                                                    'STAT', 'STATISTICAL_TO_CURRENCY',
                                                                                    DECODE
                                                                                       (SIGN
                                                                                           (TRUNC
                                                                                               (SYSDATE)
                                                                                            - NVL
                                                                                                (TRUNC
                                                                                                    (to_curr.start_date_active),
                                                                                                 TRUNC
                                                                                                    (SYSDATE))),
                                                                                        -1, 'OUT_OF_DATE_TO_CURRENCY',
                                                                                        DECODE
                                                                                           (SIGN
                                                                                               (TRUNC
                                                                                                   (SYSDATE)
                                                                                                - NVL
                                                                                                    (TRUNC
                                                                                                        (to_curr.end_date_active),
                                                                                                     TRUNC
                                                                                                        (SYSDATE))),
                                                                                            1, 'OUT_OF_DATE_TO_CURRENCY',
                                                                                            DECODE
                                                                                               (DECODE
                                                                                                   (to_curr.derive_type,
                                                                                                    'EMU', SIGN
                                                                                                       (TRUNC
                                                                                                           (to_curr.derive_effective)
                                                                                                        - TRUNC
                                                                                                            (ri2.to_conversion_date)),
                                                                                                    1),
                                                                                                -1, 'EMU_TO_CURRENCY',
                                                                                                0, 'EMU_TO_CURRENCY',
                                                                                                ''))))))))))))))))))
                   FROM gl_daily_rates_interface ri2,
                        gl_daily_conversion_types ct,
                        fnd_currencies from_curr,
                        fnd_currencies to_curr
                  WHERE ri2.ROWID = ri.ROWID
                    AND ct.user_conversion_type(+) = ri2.user_conversion_type
                    AND from_curr.currency_code(+) = ri2.from_currency
                      AND to_curr.currency_code(+) = ri2.to_currency),
           ri.batch_number = DECODE(l_batch_number,null,-99999,ri.batch_number)
         WHERE ri.mode_flag IN('I', 'D', 'T', 'N')
         AND ri.batch_number is NULL;
Line: 616

	UPDATE GL_DAILY_RATES_INTERFACE T1
         SET T1.error_code = 'DUPLICATE_ROWS'
       WHERE
             (T1.FROM_CURRENCY,T1.TO_CURRENCY,T1.USER_CONVERSION_TYPE,
              T1.FROM_CONVERSION_DATE, T1.TO_CONVERSION_DATE)
         IN
             (
              SELECT /*+ NO_MERGE */ T2.FROM_CURRENCY,T2.to_CURRENCY,T2.USER_CONVERSION_TYPE,
                     T2.FROM_CONVERSION_DATE, T2.TO_CONVERSION_DATE
              FROM GL_DAILY_RATES_INTERFACE  T2
              WHERE mode_flag IN ('I', 'D', 'T', 'N')
	          GROUP BY T2.FROM_CURRENCY,T2.TO_CURRENCY,T2.USER_CONVERSION_TYPE,
                       T2.FROM_CONVERSION_DATE, T2.TO_CONVERSION_DATE
              HAVING count(*) > 1)
         AND mode_flag IN ('I', 'D', 'T', 'N')
         AND T1.batch_number IS NULL;
Line: 637

            UPDATE gl_daily_rates_interface ri
                   SET ERROR_CODE =
                          (SELECT DECODE
                                     (ct.ROWID,
                                      NULL, 'NONEXISTANT_CONVERSION_TYPE',
                                      DECODE
                                         (LEAST(TRUNC(ri2.to_conversion_date)
                                                - TRUNC(ri2.from_conversion_date),
                                                367),
                                          367, 'DATE_RANGE_TOO_LARGE',
                                          DECODE
                                             (LEAST(ri.conversion_rate, 0),
                                              ri.conversion_rate, 'NEGATIVE_CONVERSION_RATE',
                                              DECODE
                                                 (LEAST
                                                      (NVL(ri.inverse_conversion_rate,
                                                           1),
                                                       0),
                                                  ri.inverse_conversion_rate, 'NEGATIVE_INVERSE_RATE',
                                                  DECODE
                                                     (from_curr.ROWID,
                                                      NULL, 'NONEXISTANT_FROM_CURRENCY',
                                                      DECODE
                                                         (from_curr.enabled_flag,
                                                          'N', 'DISABLED_FROM_CURRENCY',
                                                          -- Bug 4222440 JVARKEY Error the never enabled currency
                                                          'X', 'DISABLED_FROM_CURRENCY',
                                                          DECODE
                                                             (from_curr.currency_flag,
                                                              'N', 'STATISTICAL_FROM_CURRENCY',
                                                              DECODE
                                                                 (from_curr.currency_code,
                                                                  'STAT', 'STATISTICAL_FROM_CURRENCY',
                                                                  DECODE
                                                                     (SIGN
                                                                         (TRUNC(SYSDATE)
                                                                          - NVL
                                                                              (TRUNC
                                                                                  (from_curr.start_date_active),
                                                                               TRUNC
                                                                                  (SYSDATE))),
                                                                      -1, 'OUT_OF_DATE_FROM_CURRENCY',
                                                                      DECODE
                                                                         (SIGN
                                                                             (TRUNC
                                                                                 (SYSDATE)
                                                                              - NVL
                                                                                  (TRUNC
                                                                                      (from_curr.end_date_active),
                                                                                   TRUNC
                                                                                      (SYSDATE))),
                                                                          1, 'OUT_OF_DATE_FROM_CURRENCY',
                                                                          DECODE
                                                                             (DECODE
                                                                                 (from_curr.derive_type,
                                                                                  'EMU', SIGN
                                                                                     (TRUNC
                                                                                         (from_curr.derive_effective)
                                                                                      - TRUNC
                                                                                          (ri2.to_conversion_date)),
                                                                                  1),
                                                                              -1, 'EMU_FROM_CURRENCY',
                                                                              0, 'EMU_FROM_CURRENCY',
                                                                              DECODE
                                                                                 (to_curr.ROWID,
                                                                                  NULL, 'NONEXISTANT_TO_CURRENCY',
                                                                                  DECODE
                                                                                     (to_curr.enabled_flag,
                                                                                      'N', 'DISABLED_TO_CURRENCY',
                                                                                      -- Bug 4222440 JVARKEY Error the never enabled currency
                                                                                      'X', 'DISABLED_TO_CURRENCY',
                                                                                      DECODE
                                                                                         (to_curr.currency_flag,
                                                                                          'N', 'STATISTICAL_TO_CURRENCY',
                                                                                          DECODE
                                                                                             (to_curr.currency_code,
                                                                                              'STAT', 'STATISTICAL_TO_CURRENCY',
                                                                                              DECODE
                                                                                                 (SIGN
                                                                                                     (TRUNC
                                                                                                         (SYSDATE)
                                                                                                      - NVL
                                                                                                          (TRUNC
                                                                                                              (to_curr.start_date_active),
                                                                                                           TRUNC
                                                                                                              (SYSDATE))),
                                                                                                  -1, 'OUT_OF_DATE_TO_CURRENCY',
                                                                                                  DECODE
                                                                                                     (SIGN
                                                                                                         (TRUNC
                                                                                                             (SYSDATE)
                                                                                                          - NVL
                                                                                                              (TRUNC
                                                                                                                  (to_curr.end_date_active),
                                                                                                               TRUNC
                                                                                                                  (SYSDATE))),
                                                                                                      1, 'OUT_OF_DATE_TO_CURRENCY',
                                                                                                      DECODE
                                                                                                         (DECODE
                                                                                                             (to_curr.derive_type,
                                                                                                              'EMU', SIGN
                                                                                                                 (TRUNC
                                                                                                                     (to_curr.derive_effective)
                                                                                                                  - TRUNC
                                                                                                                      (ri2.to_conversion_date)),
                                                                                                              1),
                                                                                                          -1, 'EMU_TO_CURRENCY',
                                                                                                          0, 'EMU_TO_CURRENCY',
                                                                                                          ''))))))))))))))))))
                            FROM gl_daily_rates_interface ri2,
                                  gl_daily_conversion_types ct,
                                  fnd_currencies from_curr,
                                  fnd_currencies to_curr
                            WHERE ri2.ROWID = ri.ROWID
                              AND ct.user_conversion_type(+) = ri2.user_conversion_type
                              AND from_curr.currency_code(+) = ri2.from_currency
                    AND to_curr.currency_code(+) = ri2.to_currency)
            WHERE ri.mode_flag IN('I', 'D', 'T', 'N')
            AND ri.batch_number = l_batch_number;
Line: 757

      UPDATE GL_DAILY_RATES_INTERFACE T1
         SET T1.error_code = 'DUPLICATE_ROWS'
       WHERE
             (T1.FROM_CURRENCY,T1.TO_CURRENCY,T1.USER_CONVERSION_TYPE,
              T1.FROM_CONVERSION_DATE, T1.TO_CONVERSION_DATE)
         IN
             (
              SELECT /*+ NO_MERGE */ T2.FROM_CURRENCY,T2.to_CURRENCY,T2.USER_CONVERSION_TYPE,
                     T2.FROM_CONVERSION_DATE, T2.TO_CONVERSION_DATE
              FROM GL_DAILY_RATES_INTERFACE  T2
              WHERE mode_flag IN ('I', 'D', 'T', 'N')
	          GROUP BY T2.FROM_CURRENCY,T2.TO_CURRENCY,T2.USER_CONVERSION_TYPE,
                       T2.FROM_CONVERSION_DATE, T2.TO_CONVERSION_DATE
              HAVING count(*) > 1)
         AND mode_flag IN ('I', 'D', 'T', 'N')
         AND T1.batch_number = l_batch_number;
Line: 781

      UPDATE gl_daily_rates_interface
         SET mode_flag = 'X'
       WHERE mode_flag IN('I', 'D') AND ERROR_CODE IS NOT NULL;
Line: 786

      UPDATE gl_daily_rates_interface
         SET mode_flag = 'F'
       WHERE mode_flag IN('T', 'N') AND ERROR_CODE IS NOT NULL;
Line: 793

      UPDATE gl_daily_rates_interface ri
      SET    mode_flag =
                Decode(mode_flag,'T','F','N','F','I','X','D','X',mode_flag)
      WHERE (mode_flag IN('T', 'N','I','D') AND batch_number = l_batch_number AND ERROR_CODE IS NOT NULL)
      OR    (mode_flag = 'N'
        AND (EXISTS (SELECT 1 FROM gl_daily_rates dr,
                                   gl_daily_conversion_types ct
                     WHERE  dr.from_currency         = ri.from_currency
                     AND    dr.to_currency           = ri.to_currency
                     AND    dr.conversion_type       = ct.conversion_type
                     AND    ct.user_conversion_type  = ri.user_conversion_type
                     AND    dr.conversion_date BETWEEN ri.from_conversion_date
                                               AND     ri.to_conversion_date)
         OR  EXISTS (SELECT 1 FROM gl_daily_rates dr,
                                   gl_daily_conversion_types ct
                     WHERE  dr.from_currency         = ri.to_currency
                     AND    dr.to_currency           = ri.from_currency
                     AND    dr.conversion_type       = ct.conversion_type
                     AND    ct.user_conversion_type  = ri.user_conversion_type
                     AND    dr.conversion_date BETWEEN ri.from_conversion_date
                                               AND     ri.to_conversion_date)));
Line: 821

        SELECT 'E'
        INTO   l_return_status
        FROM   gl_daily_rates_interface
        WHERE  mode_flag in ('X','F')
	AND batch_number = l_batch_number
        AND    ROWNUM < 2;
Line: 834

      UPDATE gl_daily_rates_interface
         SET inverse_conversion_rate = 1 / conversion_rate
       WHERE inverse_conversion_rate IS NULL AND conversion_rate > 0
       AND batch_number = l_batch_number;
Line: 845

      SELECT from_currency,
             to_currency,
             from_conversion_date,
             to_conversion_date,
             user_conversion_type,
             conversion_rate,
             inverse_conversion_rate,
             DECODE(ERROR_CODE,
                    'NONEXISTANT_CONVERSION_TYPE', 'VF01',
                    'DATE_RANGE_TOO_LARGE', 'VF02',
                    'NEGATIVE_CONVERSION_RATE', 'VF03',
                    'NEGATIVE_INVERSE_RATE', 'VF04',
                    'NONEXISTANT_FROM_CURRENCY', 'VF05',
                    'DISABLED_FROM_CURRENCY', 'VF06',
                    'STATISTICAL_FROM_CURRENCY', 'VF07',
                    'OUT_OF_DATE_FROM_CURRENCY', 'VF08',
                    'EMU_FROM_CURRENCY', 'VF09',
                    'NONEXISTANT_TO_CURRENCY', 'VF10',
                    'DISABLED_TO_CURRENCY', 'VF11',
                    'STATISTICAL_TO_CURRENCY', 'VF12',
                    'OUT_OF_DATE_TO_CURRENCY', 'VF13',
                    'EMU_TO_CURRENCY', 'VF14',
                    'DUPLICATE_ROWS','VF15',
                    'VF16')
      BULK COLLECT INTO daily_rate_validation_failure.r_from_curr,
             daily_rate_validation_failure.r_to_curr,
             daily_rate_validation_failure.r_from_date,
             daily_rate_validation_failure.r_to_date,
             daily_rate_validation_failure.r_type,
             daily_rate_validation_failure.r_rate,
             daily_rate_validation_failure.r_inverse_rate,
             daily_rate_validation_failure.r_error_code
        FROM gl_daily_rates_interface
       WHERE mode_flag IN('X', 'F')
       AND batch_number = l_batch_number;
Line: 949

         SELECT dr.from_currency,
                dr.to_currency,
                gldct.user_conversion_type,
                dr.conversion_date,
                dr.conversion_rate,
                dr.rate_source_code
         BULK COLLECT INTO sys_daily_rate_cannot_delete.r_from_curr,
                sys_daily_rate_cannot_delete.r_to_curr,
                sys_daily_rate_cannot_delete.r_type,
                sys_daily_rate_cannot_delete.r_conversion_date,
                sys_daily_rate_cannot_delete.r_rate,
                sys_daily_rate_cannot_delete.r_rate_source_code
           FROM gl_daily_rates dr,
                gl_daily_conversion_types gldct,
                gl_row_multipliers rm,
                gl_daily_conversion_types ct,
                gl_daily_rates_interface ri
          WHERE ri.mode_flag = 'D'
          AND ct.user_conversion_type = ri.user_conversion_type || ''
          AND rm.multiplier BETWEEN 1 AND (TRUNC(ri.to_conversion_date)
                                        - TRUNC(ri.from_conversion_date)
                                        + 1)
          AND ((dr.from_currency = ri.from_currency
            AND dr.to_currency = ri.to_currency)
            OR (dr.from_currency = ri.to_currency
            AND dr.to_currency = ri.from_currency))
          AND dr.conversion_type = ct.conversion_type
          AND dr.conversion_date = TRUNC(ri.from_conversion_date)+rm.multiplier-1
          AND dr.rate_source_code = 'SYSTEM'
          AND dr.conversion_type = gldct.conversion_type
          AND ri.batch_number = l_batch_number;
Line: 982

            IF sys_daily_rate_cannot_delete.r_from_curr.COUNT > 0 THEN
               fnd_file.put_line
                           (fnd_file.LOG,
                            sys_daily_rate_cannot_delete.r_from_curr.COUNT
                            || ' system rates found (which cannot be deleted)!');
Line: 990

                            'No system rate found (which cannot be deleted)!');
Line: 994

         FOR i IN 1 .. sys_daily_rate_cannot_delete.r_from_curr.COUNT LOOP
            IF page_line_count = 1 THEN
               gl_crm_utilities_pkg.print_report_title;
Line: 997

               gl_crm_utilities_pkg.print_delete_user_rate_warning;
Line: 999

               gl_crm_utilities_pkg.print_delete_user_rate_warning;
Line: 1005

                     RPAD(sys_daily_rate_cannot_delete.r_type(i), 31, ' ')
                     || RPAD
                            (sys_daily_rate_cannot_delete.r_conversion_date(i),
                             30, ' ')
                     || RPAD(sys_daily_rate_cannot_delete.r_from_curr(i), 16,
                             ' ')
                     || RPAD(sys_daily_rate_cannot_delete.r_to_curr(i), 16,
                             ' ')
                     || LPAD(sys_daily_rate_cannot_delete.r_rate(i) || ' ',
                             13, ' ')
                     || RPAD
                           (sys_daily_rate_cannot_delete.r_rate_source_code(i),
                            26, ' '));
Line: 1032

         SELECT dr.from_currency,
                dr.to_currency,
                gldct.user_conversion_type,
                dr.conversion_date,
                dr.conversion_rate,
                dr.rate_source_code
         BULK COLLECT INTO sys_daily_rate_cannot_override.r_from_curr,
                sys_daily_rate_cannot_override.r_to_curr,
                sys_daily_rate_cannot_override.r_type,
                sys_daily_rate_cannot_override.r_conversion_date,
                sys_daily_rate_cannot_override.r_rate,
                sys_daily_rate_cannot_override.r_rate_source_code
           FROM gl_daily_rates dr,
                gl_daily_conversion_types gldct,
                gl_row_multipliers rm,
                gl_daily_conversion_types ct,
                gl_daily_rates_interface ri
          WHERE ct.user_conversion_type = ri.user_conversion_type || ''
          AND rm.multiplier BETWEEN 1 AND (TRUNC(ri.to_conversion_date)
                                        - TRUNC(ri.from_conversion_date)
                                        + 1)
          AND ((dr.from_currency = ri.from_currency
            AND dr.to_currency = ri.to_currency
            AND ri.mode_flag in ('I','T'))
            OR (dr.from_currency = ri.to_currency
            AND dr.to_currency = ri.from_currency
            AND ri.mode_flag = 'I'))
          AND dr.conversion_type = ct.conversion_type
          AND dr.conversion_date = TRUNC(ri.from_conversion_date)+rm.multiplier-1
          AND dr.rate_source_code = 'SYSTEM'
          AND dr.conversion_type = gldct.conversion_type
          AND ri.batch_number = l_batch_number;
Line: 1108

      UPDATE gl_daily_rates_interface ri
      SET used_for_ab_translation =
          ( SELECT nvl(max('Y'), 'N')
            FROM   gl_daily_conversion_types  ct,
                   gl_ledgers                 led,
                   gl_ledger_relationships    rel
            WHERE  ct.user_conversion_type = ri.user_conversion_type
            AND    rel.source_ledger_id = led.ledger_id
            AND    rel.target_ledger_id = led.ledger_id
            AND    rel.target_ledger_category_code = 'ALC'
            AND    rel.application_id = 101
            AND    led.currency_code IN (ri.from_currency, ri.to_currency)
            AND    rel.target_currency_code IN (ri.from_currency, ri.to_currency)
            AND    (   led.daily_translation_rate_type = ct.conversion_type
                    OR nvl(rel.alc_period_average_rate_type,
                           led.period_average_rate_type) = ct.conversion_type
                    OR nvl(rel.alc_period_end_rate_type,
                           led.period_end_rate_type) = ct.conversion_type)
            AND    ri.mode_flag IN ('I', 'D', 'T', 'N')
            AND    ri.batch_number = l_batch_number);
Line: 1131

          SELECT 'Y'
          INTO   l_launch_rate_change
          FROM   gl_daily_rates_interface
          WHERE  used_for_ab_translation = 'Y'
          AND    ROWNUM < 2;
Line: 1148

                          'Marking D for rates meant to delete with types used for ab translation');
Line: 1151

            UPDATE gl_daily_rates dr
               SET status_code = 'D'
             WHERE (   (dr.rate_source_code IS NULL)
                    OR (    dr.rate_source_code IN('USER', 'TREASURY')
                        AND golden_rule_flag <> 'USER')
                    OR      golden_rule_flag = 'USER')
               AND (dr.from_currency,
                    dr.to_currency,
                    dr.conversion_type,
                    dr.conversion_date) IN(
                      SELECT ri.from_currency, ri.to_currency, --direct rate
                             ct.conversion_type,
                             TRUNC(ri.from_conversion_date) + rm.multiplier
                             - 1
                        FROM gl_row_multipliers rm,
                             gl_daily_conversion_types ct,
                             gl_daily_rates_interface ri
                       WHERE ri.mode_flag = 'D'
                         AND ri.batch_number = l_batch_number
                         AND ri.used_for_ab_translation = 'Y'
                         AND ct.user_conversion_type =
                                                 ri.user_conversion_type || ''
                         AND rm.multiplier BETWEEN 1
                                               AND TRUNC
                                                        (ri.to_conversion_date)
                                                   - TRUNC
                                                       (ri.from_conversion_date)
                                                   + 1
                      UNION ALL
                      SELECT ri.to_currency, ri.from_currency,  --inverse rate
                             ct.conversion_type,
                             TRUNC(ri.from_conversion_date) + rm.multiplier
                             - 1
                        FROM gl_row_multipliers rm,
                             gl_daily_conversion_types ct,
                             gl_daily_rates_interface ri
                       WHERE ri.mode_flag = 'D'
                         AND ri.batch_number = l_batch_number
                         AND ri.used_for_ab_translation = 'Y'
                         AND ct.user_conversion_type =
                                                 ri.user_conversion_type || ''
                         AND rm.multiplier BETWEEN 1
                                               AND TRUNC
                                                        (ri.to_conversion_date)
                                                   - TRUNC
                                                       (ri.from_conversion_date)
                                                   + 1
                      );
Line: 1206

                                 'Deleting rates meant for insert and for deleted rates with types not used for ab translation');
Line: 1209

                 DELETE  gl_daily_rates dr
                  WHERE  (   (dr.rate_source_code IS NULL)
                      OR (    dr.rate_source_code IN('USER', 'TREASURY')
                          AND golden_rule_flag <> 'USER')
                      OR      golden_rule_flag = 'USER')
                    AND (dr.from_currency,
                         dr.to_currency,
                         dr.conversion_type,
                         dr.conversion_date) IN(
                           SELECT ri.from_currency, ri.to_currency, --direct rates
                                  ct.conversion_type,
                                  TRUNC(ri.from_conversion_date)
                                  + rm.multiplier - 1
                             FROM gl_row_multipliers rm,
                                  gl_daily_conversion_types ct,
                                  gl_daily_rates_interface ri
                            WHERE ri.batch_number = l_batch_number
                              AND (   ri.mode_flag IN('I', 'T')
                                   OR (    ri.mode_flag = 'D'
                                       AND ri.used_for_ab_translation <> 'Y'))
                              AND ct.user_conversion_type =
                                                 ri.user_conversion_type || ''
                              AND rm.multiplier BETWEEN 1
                                                    AND TRUNC
                                                           (ri.to_conversion_date)
                                                        - TRUNC
                                                            (ri.from_conversion_date)
                                                        + 1
                           UNION ALL
                           SELECT ri.to_currency, ri.from_currency,  --inverse rates
                                  ct.conversion_type,
                                  TRUNC(ri.from_conversion_date)
                                  + rm.multiplier - 1
                             FROM gl_row_multipliers rm,
                                  gl_daily_conversion_types ct,
                                  gl_daily_rates_interface ri
                            WHERE ri.batch_number = l_batch_number
                              AND (   ri.mode_flag IN('I', 'T')
                                   OR (    ri.mode_flag = 'D'
                                       AND ri.used_for_ab_translation <> 'Y'))
                              AND ct.user_conversion_type =
                                                 ri.user_conversion_type || ''
                              AND rm.multiplier BETWEEN 1
                                                    AND TRUNC
                                                           (ri.to_conversion_date)
                                                        - TRUNC
                                                            (ri.from_conversion_date)
                                                        + 1
                            );
Line: 1261

                                    SQL%ROWCOUNT || ' rows deleted');
Line: 1267

               fnd_file.put_line(fnd_file.LOG, 'Insert all rates.');
Line: 1270

            INSERT INTO gl_daily_rates
                        (from_currency, to_currency, conversion_date,
                         conversion_type, conversion_rate, status_code,
                         creation_date, created_by, last_update_date,
                         last_updated_by, last_update_login, CONTEXT,
                         attribute1, attribute2, attribute3, attribute4,
                         attribute5, attribute6, attribute7, attribute8,
                         attribute9, attribute10, attribute11, attribute12,
                         attribute13, attribute14, attribute15,
                         rate_source_code)
               SELECT ri.from_currency, ri.to_currency,  --direct rates
                      TRUNC(ri.from_conversion_date) + rm.multiplier - 1,
                      ct.conversion_type, ri.conversion_rate,
                      DECODE(ri.used_for_ab_translation, 'Y', 'O', 'C'),
                      SYSDATE, NVL(ri.user_id, 1), SYSDATE,
                      NVL(ri.user_id, 1), 1, ri.CONTEXT, ri.attribute1,
                      ri.attribute2, ri.attribute3, ri.attribute4,
                      ri.attribute5, ri.attribute6, ri.attribute7,
                      ri.attribute8, ri.attribute9, ri.attribute10,
                      ri.attribute11, ri.attribute12, ri.attribute13,
                      ri.attribute14, ri.attribute15,
                      DECODE(ri.mode_flag, 'T', 'TREASURY', 'N', 'TREASURY', 'USER')
                 FROM gl_row_multipliers rm,
                      gl_daily_conversion_types ct,
                      gl_daily_rates_interface ri
                WHERE ri.mode_flag IN('I', 'T', 'N')
                  AND ct.user_conversion_type = ri.user_conversion_type || ''
                  AND rm.multiplier BETWEEN 1
                                        AND TRUNC(ri.to_conversion_date)
                                            - TRUNC(ri.from_conversion_date)
                                            + 1
                  AND ri.batch_number = l_batch_number
                  AND NOT EXISTS(
                         SELECT 1
                           FROM gl_daily_rates dr
                          WHERE dr.from_currency = ri.from_currency
                            AND dr.to_currency = ri.to_currency
                            AND dr.conversion_type = ct.conversion_type
                            AND dr.conversion_date =
                                   TRUNC(ri.from_conversion_date)
                                   + rm.multiplier - 1)
               UNION ALL
               SELECT ri.to_currency, ri.from_currency,  --inverse rates
                      TRUNC(ri.from_conversion_date) + rm.multiplier - 1,
                      ct.conversion_type,
                      NVL(ri.inverse_conversion_rate, 1 / ri.conversion_rate),
                      DECODE(ri.used_for_ab_translation, 'Y', 'O', 'C'),
                      SYSDATE, NVL(ri.user_id, 1), SYSDATE,
                      NVL(ri.user_id, 1), 1, ri.CONTEXT, ri.attribute1,
                      ri.attribute2, ri.attribute3, ri.attribute4,
                      ri.attribute5, ri.attribute6, ri.attribute7,
                      ri.attribute8, ri.attribute9, ri.attribute10,
                      ri.attribute11, ri.attribute12, ri.attribute13,
                      ri.attribute14, ri.attribute15,
                      DECODE(ri.mode_flag, 'T', 'TREASURY', 'N', 'TREASURY', 'USER')
                 FROM gl_row_multipliers rm,
                      gl_daily_conversion_types ct,
                      gl_daily_rates_interface ri
                WHERE ri.mode_flag IN('I', 'T', 'N')
                  AND ct.user_conversion_type = ri.user_conversion_type || ''
                  AND rm.multiplier BETWEEN 1
                                        AND TRUNC(ri.to_conversion_date)
                                            - TRUNC(ri.from_conversion_date)
                                            + 1
                  AND ri.batch_number = l_batch_number
                  AND NOT EXISTS(
                         SELECT 1
                           FROM gl_daily_rates dr
                          WHERE dr.from_currency = ri.to_currency
                            AND dr.to_currency = ri.from_currency
                            AND dr.conversion_type = ct.conversion_type
                            AND dr.conversion_date =
                                   TRUNC(ri.from_conversion_date)
                                   + rm.multiplier - 1);
Line: 1347

                                    SQL%ROWCOUNT || ' rows inserted');
Line: 1398

         SELECT COUNT(*)
           INTO rows_need_calculation
           FROM gl_daily_rates_interface
          WHERE mode_flag IN('I', 'D', 'T', 'N')
            AND user_conversion_type IN(
                   SELECT user_conversion_type
                     FROM gl_daily_conversion_types gct,
                          gl_cross_rate_rules gcrs
                    WHERE gct.conversion_type = gcrs.conversion_type)
            AND batch_number = l_batch_number
            AND rownum < 2;
Line: 1423

            DELETE FROM gl_daily_rates_interface
                  WHERE mode_flag IN('I', 'D', 'T', 'N')
                    AND batch_number = l_batch_number
                    AND user_conversion_type NOT IN(
                           SELECT user_conversion_type
                             FROM gl_daily_conversion_types gct,
                                  gl_cross_rate_rules gcrs
                            WHERE gct.conversion_type = gcrs.conversion_type);
Line: 1439

            DELETE FROM gl_cross_rate_temp;
Line: 1447

            INSERT INTO gl_cross_rate_temp
                        (conversion_type, pivot_currency, from_currency,
                         to_currency, from_conversion_date,
                         to_conversion_date, conversion_rate,
                         inverse_conversion_rate, mode_flag,
                         used_for_ab_translation)
               SELECT gldct.conversion_type,
                      DECODE(gldri.from_currency,
                             glcrs.pivot_currency, gldri.from_currency,
                             gldri.to_currency),
                      DECODE(gldri.from_currency,
                             glcrs.pivot_currency, gldri.to_currency,
                             gldri.from_currency),
                      glcrsd.to_currency, gldri.from_conversion_date,
                      gldri.to_conversion_date,
                      DECODE(gldri.from_currency,
                             glcrs.pivot_currency, gldri.conversion_rate,
                             gldri.inverse_conversion_rate),
                      DECODE(gldri.from_currency,
                             glcrs.pivot_currency, gldri.inverse_conversion_rate,
                             gldri.conversion_rate),
                      DECODE(gldri.mode_flag, 'D', 'D', 'I'),
                      gldri.used_for_ab_translation
                 FROM gl_daily_rates_interface gldri,
                      gl_daily_conversion_types gldct,
                      gl_cross_rate_rules glcrs,
                      gl_cross_rate_rule_dtls glcrsd
                WHERE gldri.mode_flag IN('I', 'D', 'T', 'N')
                  AND gldri.user_conversion_type = gldct.user_conversion_type
                  AND gldct.conversion_type = glcrs.conversion_type
                  AND (   (    (gldri.from_currency = glcrs.pivot_currency)
                           AND (gldri.to_currency IN(
                                   SELECT DISTINCT from_currency
                                              FROM gl_cross_rate_rule_dtls glcrsd2
                                             WHERE glcrs.conversion_type =
                                                       glcrsd2.conversion_type
                                               --AND glcrs.pivot_currency = glcrsd2.pivot_currency
                                               AND glcrsd2.enabled_flag = 'Y')))
                       OR (    (gldri.to_currency = glcrs.pivot_currency)
                           AND (gldri.from_currency IN(
                                   SELECT DISTINCT from_currency
                                              FROM gl_cross_rate_rule_dtls glcrsd3
                                             WHERE glcrs.conversion_type =
                                                       glcrsd3.conversion_type
                                               --AND glcrs.pivot_currency = glcrsd3.pivot_currency
                                               AND glcrsd3.enabled_flag = 'Y'))))
                  AND glcrsd.conversion_type = gldct.conversion_type
                  AND glcrs.pivot_currency =
                         DECODE(gldri.from_currency,
                                glcrs.pivot_currency, gldri.from_currency,
                                gldri.to_currency)
                  AND glcrsd.from_currency =
                         DECODE(gldri.from_currency,
                                glcrs.pivot_currency, gldri.to_currency,
                                gldri.from_currency)
                  AND glcrsd.enabled_flag = 'Y'
		  AND glcrsd.to_currency <> glcrs.pivot_currency
                  AND gldri.batch_number = l_batch_number;
Line: 1507

               fnd_file.put_line(fnd_file.LOG, 'Update the used for ab translation');
Line: 1510

            UPDATE gl_cross_rate_temp ri
            SET used_for_ab_translation =
                ( SELECT nvl(max('Y'), 'N')
                  FROM   gl_daily_conversion_types  ct,
                         gl_ledgers                 led,
                         gl_ledger_relationships    rel
                  WHERE  ct.conversion_type = ri.conversion_type
                  AND    rel.source_ledger_id = led.ledger_id
                  AND    rel.target_ledger_id = led.ledger_id
                  AND    rel.target_ledger_category_code = 'ALC'
                  AND    rel.application_id = 101
                  AND    led.currency_code IN (ri.from_currency, ri.to_currency)
                  AND    rel.target_currency_code IN (ri.from_currency, ri.to_currency)
                  AND    (   led.daily_translation_rate_type = ct.conversion_type
                          OR nvl(rel.alc_period_average_rate_type,
                                 led.period_average_rate_type) = ct.conversion_type
                          OR nvl(rel.alc_period_end_rate_type,
                                 led.period_end_rate_type) = ct.conversion_type)
                  AND    ri.mode_flag IN ('I', 'D', 'T', 'N'));
Line: 1534

                      SELECT 'Y'
                      INTO   l_launch_rate_change
                      FROM   gl_cross_rate_temp
                      WHERE  used_for_ab_translation = 'Y'
                      AND    ROWNUM < 2;
Line: 1555

                      'User Rate Rule or Both Rule; Checking if any user-defined rates cannot been cross-deleted.');
Line: 1558

               SELECT DISTINCT gldr.from_currency,
                               gldr.to_currency,
                               gldct.user_conversion_type,
                               gldr.conversion_date,
                               gldr.conversion_rate,
                               gldr.rate_source_code
               BULK COLLECT INTO usr_daily_rate_cannot_delete.r_from_curr,
                               usr_daily_rate_cannot_delete.r_to_curr,
                               usr_daily_rate_cannot_delete.r_type,
                               usr_daily_rate_cannot_delete.r_conversion_date,
                               usr_daily_rate_cannot_delete.r_rate,
                               usr_daily_rate_cannot_delete.r_rate_source_code
                          FROM gl_daily_rates gldr,
                               gl_daily_conversion_types gldct,
                               gl_cross_rate_temp glcrt,
                               gl_row_multipliers glrm
                         WHERE gldr.conversion_type = gldct.conversion_type
                           AND (   (gldr.rate_source_code IS NULL)
                                OR (    (gldr.rate_source_code IS NOT NULL)
                                    AND (gldr.rate_source_code IN
                                                          ('USER', 'TREASURY'))))
                           AND glcrt.mode_flag = 'D'
                           AND (   (    (gldr.from_currency =
                                                           glcrt.from_currency)
                                    AND (gldr.to_currency = glcrt.to_currency))
                                OR (    (gldr.to_currency =
                                                           glcrt.from_currency)
                                    AND (gldr.from_currency =
                                                             glcrt.to_currency)))
                           AND gldr.conversion_type = glcrt.conversion_type
                           AND gldr.conversion_date =
                                  TRUNC(glcrt.from_conversion_date)
                                  + glrm.multiplier - 1
                           AND glrm.multiplier BETWEEN 1
                                                   AND TRUNC
                                                          (glcrt.to_conversion_date)
                                                       - TRUNC
                                                           (glcrt.from_conversion_date)
                                                       + 1;
Line: 1598

               FOR i IN 1 .. usr_daily_rate_cannot_delete.r_from_curr.COUNT LOOP
                  IF page_line_count = 1 THEN
                     gl_crm_utilities_pkg.print_report_title;
Line: 1601

                     gl_crm_utilities_pkg.print_delete_sys_rate_warning;
Line: 1603

                     gl_crm_utilities_pkg.print_delete_sys_rate_warning;
Line: 1609

                      RPAD(usr_daily_rate_cannot_delete.r_type(i), 31, ' ')
                      || RPAD
                            (usr_daily_rate_cannot_delete.r_conversion_date(i),
                             30, ' ')
                      || RPAD(usr_daily_rate_cannot_delete.r_from_curr(i), 16,
                              ' ')
                      || RPAD(usr_daily_rate_cannot_delete.r_to_curr(i), 16,
                              ' ')
                      || LPAD(usr_daily_rate_cannot_delete.r_rate(i) || ' ',
                              13, ' ')
                      || RPAD
                           (usr_daily_rate_cannot_delete.r_rate_source_code(i),
                            26, ' '));
Line: 1631

               SELECT DISTINCT gldr.from_currency,
                               gldr.to_currency,
                               gldct.user_conversion_type,
                               gldr.conversion_date,
                               gldr.conversion_rate,
                               gldr.rate_source_code
               BULK COLLECT INTO usr_daily_rate_cannot_override.r_from_curr,
                               usr_daily_rate_cannot_override.r_to_curr,
                               usr_daily_rate_cannot_override.r_type,
                               usr_daily_rate_cannot_override.r_conversion_date,
                               usr_daily_rate_cannot_override.r_rate,
                               usr_daily_rate_cannot_override.r_rate_source_code
                          FROM gl_daily_rates gldr,
                               gl_daily_conversion_types gldct,
                               gl_cross_rate_temp glcrt,
                               gl_row_multipliers glrm
                         WHERE gldr.conversion_type = gldct.conversion_type
                           AND (   (gldr.rate_source_code IS NULL)
                                OR (    (gldr.rate_source_code IS NOT NULL)
                                    AND (gldr.rate_source_code IN
                                                          ('USER', 'TREASURY'))))
                           AND glcrt.mode_flag in ('I', 'T', 'N')
                           AND (   (    (gldr.from_currency =
                                                           glcrt.from_currency)
                                    AND (gldr.to_currency = glcrt.to_currency))
                                OR (    (gldr.to_currency =
                                                           glcrt.from_currency)
                                    AND (gldr.from_currency =
                                                             glcrt.to_currency)))
                           AND gldr.conversion_type = glcrt.conversion_type
                           AND gldr.conversion_date =
                                  TRUNC(glcrt.from_conversion_date)
                                  + glrm.multiplier - 1
                           AND glrm.multiplier BETWEEN 1
                                                   AND TRUNC
                                                          (glcrt.to_conversion_date)
                                                       - TRUNC
                                                           (glcrt.from_conversion_date)
                                                       + 1;
Line: 1717

               UPDATE gl_daily_rates gldr
                  SET status_code = 'D'
                WHERE (   (gldr.rate_source_code IS NOT NULL
                       AND gldr.rate_source_code = 'SYSTEM'
                       AND golden_rule_flag <> 'SYSTEM')
                        OR golden_rule_flag = 'SYSTEM')
                  AND (gldr.from_currency,
                       gldr.to_currency,
                       gldr.conversion_type,
                       gldr.conversion_date) IN(
                         SELECT glcrt.from_currency, glcrt.to_currency, --direct rates
                                glcrt.conversion_type,
                                TRUNC(glcrt.from_conversion_date)
                                + glrm.multiplier - 1
                           FROM gl_row_multipliers glrm,
                                gl_cross_rate_temp glcrt,
                                gl_daily_rates gldr
                          WHERE glcrt.mode_flag = 'D'
                            AND glcrt.used_for_ab_translation = 'Y'
                            AND gldr.from_currency = glcrt.from_currency
                            AND gldr.to_currency = glcrt.to_currency
                            AND gldr.conversion_type = glcrt.conversion_type
                            AND gldr.conversion_date =
                                   TRUNC(glcrt.from_conversion_date)
                                   + glrm.multiplier - 1
                            AND glrm.multiplier BETWEEN 1
                                                    AND TRUNC
                                                           (glcrt.to_conversion_date)
                                                        - TRUNC
                                                            (glcrt.from_conversion_date)
                                                        + 1
                         UNION ALL
                         SELECT glcrt.to_currency, glcrt.from_currency, -- inverse rates
                                glcrt.conversion_type,
                                TRUNC(glcrt.from_conversion_date)
                                + glrm.multiplier - 1
                           FROM gl_row_multipliers glrm,
                                gl_cross_rate_temp glcrt,
                                gl_daily_rates gldr
                          WHERE glcrt.mode_flag = 'D'
                            AND glcrt.used_for_ab_translation = 'Y'
                            AND gldr.to_currency = glcrt.from_currency
                            AND gldr.from_currency = glcrt.to_currency
                            AND gldr.conversion_type = glcrt.conversion_type
                            AND gldr.conversion_date =
                                   TRUNC(glcrt.from_conversion_date)
                                   + glrm.multiplier - 1
                            AND glrm.multiplier BETWEEN 1
                                                    AND TRUNC
                                                           (glcrt.to_conversion_date)
                                                        - TRUNC
                                                            (glcrt.from_conversion_date)
                                                        + 1
                         );
Line: 1777

                      'Delete for Cross Rates');
Line: 1780

               DELETE FROM gl_daily_rates gldr
                     WHERE (   (gldr.rate_source_code IS NOT NULL
                            AND gldr.rate_source_code = 'SYSTEM'
                            AND golden_rule_flag <> 'SYSTEM')
                             OR golden_rule_flag = 'SYSTEM')
                       AND (gldr.from_currency,
                            gldr.to_currency,
                            gldr.conversion_type,
                            gldr.conversion_date) IN(
                              SELECT glcrt.from_currency, glcrt.to_currency,
                                     glcrt.conversion_type,
                                     TRUNC(glcrt.from_conversion_date)
                                     + glrm.multiplier - 1
                                FROM gl_row_multipliers glrm,
                                     gl_cross_rate_temp glcrt,
                                     gl_daily_rates gldr
                               WHERE (   glcrt.mode_flag in ('I', 'T')
                                      OR (    glcrt.mode_flag = 'D'
                                          AND glcrt.used_for_ab_translation <>
                                                                           'Y'))
                                 AND gldr.from_currency = glcrt.from_currency
                                 AND gldr.to_currency = glcrt.to_currency
                                 AND gldr.conversion_type =
                                                         glcrt.conversion_type
                                 AND gldr.conversion_date =
                                        TRUNC(glcrt.from_conversion_date)
                                        + glrm.multiplier - 1
                                 AND glrm.multiplier BETWEEN 1
                                                         AND TRUNC
                                                                (glcrt.to_conversion_date)
                                                             - TRUNC
                                                                 (glcrt.from_conversion_date)
                                                             + 1
                              UNION ALL
                              SELECT glcrt.to_currency, glcrt.from_currency,
                                     glcrt.conversion_type,
                                     TRUNC(glcrt.from_conversion_date)
                                     + glrm.multiplier - 1
                                FROM gl_row_multipliers glrm,
                                     gl_cross_rate_temp glcrt,
                                     gl_daily_rates gldr
                               WHERE (   glcrt.mode_flag in ('I', 'T')
                                      OR (    glcrt.mode_flag = 'D'
                                          AND glcrt.used_for_ab_translation <>
                                                                           'Y'))
                                 AND gldr.to_currency = glcrt.from_currency
                                 AND gldr.from_currency = glcrt.to_currency
                                 AND gldr.conversion_type =
                                                         glcrt.conversion_type
                                 AND gldr.conversion_date =
                                        TRUNC(glcrt.from_conversion_date)
                                        + glrm.multiplier - 1
                                 AND glrm.multiplier BETWEEN 1
                                                         AND TRUNC
                                                                (glcrt.to_conversion_date)
                                                             - TRUNC
                                                                 (glcrt.from_conversion_date)
                                                             + 1
                              );
Line: 1842

                                    SQL%ROWCOUNT || ' rows deleted.');
Line: 1845

               UPDATE gl_cross_rate_temp rt
               SET    mode_flag = 'F'
               WHERE  mode_flag = 'N'
               AND   (EXISTS (SELECT 1 FROM gl_daily_rates dr
                              WHERE  dr.from_currency         = rt.from_currency
                              AND    dr.to_currency           = rt.to_currency
                              AND    dr.conversion_type       = rt.conversion_type
                              AND    dr.conversion_date BETWEEN rt.from_conversion_date
                                                        AND     rt.to_conversion_date)
                  OR  EXISTS (SELECT 1 FROM gl_daily_rates dr
                              WHERE  dr.from_currency         = rt.to_currency
                              AND    dr.to_currency           = rt.from_currency
                              AND    dr.conversion_type       = rt.conversion_type
                              AND    dr.conversion_date BETWEEN rt.from_conversion_date
                                                        AND     rt.to_conversion_date));
Line: 1867

               INSERT INTO gl_daily_rates
                           (from_currency, to_currency, conversion_date,
                            conversion_type, conversion_rate, status_code,
                            creation_date, created_by, last_update_date,
                            last_updated_by, last_update_login,
                            rate_source_code)
                  SELECT glcrt.from_currency, glcrt.to_currency,
                         TRUNC(glcrt.from_conversion_date) + glrm.multiplier
                         - 1,
                         glcrt.conversion_type,
                         glcrt.inverse_conversion_rate * gldr.conversion_rate,
                         DECODE(glcrt.used_for_ab_translation, 'Y', 'O', 'C'),
                         SYSDATE, 1, SYSDATE, 1, 1, 'SYSTEM'
                    FROM gl_row_multipliers glrm,
                         gl_cross_rate_temp glcrt,
                         gl_daily_rates gldr
                   WHERE glcrt.mode_flag in ('I', 'T', 'N')
                     AND gldr.from_currency = glcrt.pivot_currency
                     AND gldr.to_currency = glcrt.to_currency
                     AND gldr.conversion_type = glcrt.conversion_type
                     AND gldr.conversion_date =
                            TRUNC(glcrt.from_conversion_date)
                            + glrm.multiplier - 1
                     AND glrm.multiplier BETWEEN 1
                                             AND TRUNC
                                                     (glcrt.to_conversion_date)
                                                 - TRUNC
                                                     (glcrt.from_conversion_date)
                                                 + 1
                     AND (   NOT EXISTS(
                                SELECT 1
                                  FROM gl_daily_rates dr
                                 WHERE dr.from_currency = glcrt.from_currency
                                   AND dr.to_currency = glcrt.to_currency
                                   AND dr.conversion_type =
                                                         glcrt.conversion_type
                                   AND dr.conversion_date =
                                          TRUNC(glcrt.from_conversion_date)
                                          + glrm.multiplier - 1)
                          OR NOT EXISTS(
                                SELECT 1
                                  FROM gl_daily_rates dr
                                 WHERE dr.from_currency = glcrt.to_currency
                                   AND dr.to_currency = glcrt.from_currency
                                   AND dr.conversion_type =
                                                         glcrt.conversion_type
                                   AND dr.conversion_date =
                                          TRUNC(glcrt.from_conversion_date)
                                          + glrm.multiplier - 1))
                  UNION
                  SELECT glcrt.to_currency, glcrt.from_currency,
                         TRUNC(glcrt.from_conversion_date) + glrm.multiplier
                         - 1,
                         glcrt.conversion_type,
                         glcrt.conversion_rate * gldr.conversion_rate,
                         DECODE(glcrt.used_for_ab_translation, 'Y', 'O', 'C'),
                         SYSDATE, 1, SYSDATE, 1, 1, 'SYSTEM'
                    FROM gl_row_multipliers glrm,
                         gl_cross_rate_temp glcrt,
                         gl_daily_rates gldr
                   WHERE glcrt.mode_flag in ('I', 'T', 'N')
                     AND gldr.to_currency = glcrt.pivot_currency
                     AND gldr.from_currency = glcrt.to_currency
                     AND gldr.conversion_type = glcrt.conversion_type
                     AND gldr.conversion_date =
                            TRUNC(glcrt.from_conversion_date)
                            + glrm.multiplier - 1
                     AND glrm.multiplier BETWEEN 1
                                             AND TRUNC
                                                     (glcrt.to_conversion_date)
                                                 - TRUNC
                                                     (glcrt.from_conversion_date)
                                                 + 1
                     AND (   NOT EXISTS(
                                SELECT 1
                                  FROM gl_daily_rates dr
                                 WHERE dr.from_currency = glcrt.from_currency
                                   AND dr.to_currency = glcrt.to_currency
                                   AND dr.conversion_type =
                                                         glcrt.conversion_type
                                   AND dr.conversion_date =
                                          TRUNC(glcrt.from_conversion_date)
                                          + glrm.multiplier - 1)
                          OR NOT EXISTS(
                                SELECT 1
                                  FROM gl_daily_rates dr
                                 WHERE dr.from_currency = glcrt.to_currency
                                   AND dr.to_currency = glcrt.from_currency
                                   AND dr.conversion_type =
                                                         glcrt.conversion_type
                                   AND dr.conversion_date =
                                          TRUNC(glcrt.from_conversion_date)
                                          + glrm.multiplier - 1));
Line: 1964

                                    SQL%ROWCOUNT || ' rows inserted.');
Line: 2005

         DELETE FROM gl_daily_rates_interface
               WHERE mode_flag IN('I', 'D', 'T', 'N')
               AND batch_number = l_batch_number;
Line: 2043

      DELETE FROM gl_daily_rates_interface
            WHERE mode_flag IN('I', 'D', 'T', 'N')
            AND batch_number = l_batch_number;