DBA Data[Home] [Help]

APPS.AR_REVENUE_MANAGEMENT_PVT SQL Statements

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

Line: 51

     There are separate INSERT statements for Invoice API,
     Autoinvoice, and ARXTWMAI */

PROCEDURE insert_term_contingencies (
  p_request_id NUMBER,
  p_customer_trx_line_id NUMBER) IS

  l_user_id NUMBER;
Line: 61

  debug('insert_term_contingencies()+');
Line: 71

       INSERT INTO ar_line_conts_all
       (
         customer_trx_line_id,
         contingency_id,
         contingency_code,
         expiration_date,
         expiration_days,
         expiration_event_date,
         reason_removal_date,
         completed_flag,
         defaulted_in_ar_flag,
         request_id,
         created_by,
         creation_date,
         last_updated_by,
         last_update_date,
         last_update_login,
         org_id
       )
       SELECT
        max(ctl.customer_trx_line_id),
        5,
        '5',
        NULL,
        NULL,
        NULL,
        NULL,
        'N',
        'Y',
        max(ctl.request_id),
        l_user_id,
        sysdate,
        l_user_id,
        sysdate,
        l_user_id,
        max(ctl.org_id)
       FROM ra_customer_trx_lines_all      ctl,
            ra_customer_trx_all            ct,
            ra_terms_lines                 tl,
            ra_cust_trx_types_all          ctt,
            pa_implementations             pa
       WHERE ctl.request_id = p_request_id
       AND   ctl.customer_trx_id    = ct.customer_trx_id
       AND   ct.batch_source_id NOT IN (20, 21)
       AND   ct.org_id = pa.org_id (+)
       AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
       AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
       AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
       AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
       AND   ct.org_id = ctt.org_id
       AND   ctt.type = 'INV'
       AND   ctl.line_type = 'LINE'
       AND   ct.term_id = tl.term_id
       AND   NVL(ctl.deferral_exclusion_flag, 'N') = 'N'
       AND   NOT EXISTS
          (SELECT 'errors'
           FROM    ar_trx_errors_gt teg,
                   ar_trx_lines_gt  tlg
           WHERE   teg.trx_header_id = tlg.trx_header_id
           AND     teg.trx_line_id   = tlg.trx_line_id
           AND     tlg.customer_trx_line_id = ctl.customer_trx_line_id)
       AND   NOT EXISTS
          (SELECT 'prevent duplicate contingency'
           FROM   ar_line_conts_all   alc
           WHERE  alc.customer_trx_line_id = ctl.customer_trx_line_id
           AND    alc.contingency_id       = 5)
       GROUP BY ctl.customer_trx_line_id, tl.term_id
       HAVING  max(due_days) > arp_standard.sysparm.payment_threshold;
Line: 141

       INSERT INTO ar_line_conts_all
       (
         customer_trx_line_id,
         contingency_id,
         contingency_code,
         expiration_date,
         expiration_days,
         expiration_event_date,
         reason_removal_date,
         completed_flag,
         defaulted_in_ar_flag,
         request_id,
         created_by,
         creation_date,
         last_updated_by,
         last_update_date,
         last_update_login,
         org_id
       )
       SELECT
        max(ctl.customer_trx_line_id),
        5,
        '5',
        NULL,
        NULL,
        NULL,
        NULL,
        'N',
        'Y',
        max(ctl.request_id),
        l_user_id,
        sysdate,
        l_user_id,
        sysdate,
        l_user_id,
        max(ctl.org_id)
       FROM ra_customer_trx_lines_all      ctl,
            ra_customer_trx_all            ct,
            ra_terms_lines                 tl,
            ra_cust_trx_types_all          ctt,
            pa_implementations             pa
       WHERE ctl.request_id = p_request_id
       AND   ctl.customer_trx_id    = ct.customer_trx_id
       AND   ct.batch_source_id NOT IN (20, 21)
       AND   ct.org_id = pa.org_id (+)
       AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
       AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
       AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
       AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
       AND   ct.org_id = ctt.org_id
       AND   ctt.type = 'INV'
       AND   ctl.line_type = 'LINE'
       AND   ct.term_id = tl.term_id
       AND   NVL(ctl.deferral_exclusion_flag, 'N') = 'N'
       AND   NOT EXISTS
          (SELECT 'errors'
           FROM    ra_interface_errors_all ie
           WHERE   ie.interface_line_id = ctl.customer_trx_line_id)
       AND   NOT EXISTS
          (SELECT 'prevent duplicate contingency'
           FROM   ar_line_conts_all   alc
           WHERE  alc.customer_trx_line_id = ctl.customer_trx_line_id
           AND    alc.contingency_id       = 5)
       GROUP BY ctl.customer_trx_line_id, tl.term_id
       HAVING  max(due_days) > arp_standard.sysparm.payment_threshold;
Line: 208

       INSERT INTO ar_line_conts_all
       (
         customer_trx_line_id,
         contingency_id,
         contingency_code,
         expiration_date,
         expiration_days,
         expiration_event_date,
         reason_removal_date,
         completed_flag,
         defaulted_in_ar_flag,
         request_id,
         created_by,
         creation_date,
         last_updated_by,
         last_update_date,
         last_update_login,
         org_id
       )
       SELECT
        ctl.customer_trx_line_id,
        5,
        '5',
        NULL,
        NULL,
        NULL,
        NULL,
        'N',
        'Y',
        NULL,
        l_user_id,
        sysdate,
        l_user_id,
        sysdate,
        l_user_id,
        ctl.org_id
       FROM ra_customer_trx_lines_all      ctl,
            ra_customer_trx_all            ct,
            ra_terms_lines                 tl,
            ra_cust_trx_types_all          ctt,
            pa_implementations             pa
       WHERE ctl.customer_trx_line_id = p_customer_trx_line_id
       AND   ctl.customer_trx_id    = ct.customer_trx_id
       AND   ct.batch_source_id NOT IN (20, 21)
       AND   ct.org_id = pa.org_id (+)
       AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
       AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
       AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
       AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
       AND   ct.org_id = ctt.org_id
       AND   ctt.type = 'INV'
       AND   ctl.line_type = 'LINE'
       AND   ct.term_id = tl.term_id
       AND   NVL(ctl.deferral_exclusion_flag, 'N') = 'N'
       AND   NOT EXISTS
          (SELECT 'prevent duplicate contingency'
           FROM   ar_line_conts_all   alc
           WHERE  alc.customer_trx_line_id = ctl.customer_trx_line_id
           AND    alc.contingency_id       = 5)
       GROUP BY ctl.customer_trx_line_id, ctl.org_id,tl.term_id
       HAVING  max(tl.due_days) > arp_standard.sysparm.payment_threshold;
Line: 273

  debug('term contingencies inserted: ' || l_rows);
Line: 274

  debug('insert_term_contingencies()-');
Line: 276

END insert_term_contingencies;
Line: 287

     There are separate INSERT statements for Invoice API,
     Autoinvoice, and ARXTWMAI */

PROCEDURE insert_credit_contingencies (
  p_request_id NUMBER,
  p_customer_trx_line_id NUMBER) IS

  l_user_id NUMBER;
Line: 297

  debug('insert_credit_contingencies()+');
Line: 307

       INSERT INTO ar_line_conts_all
       (
         customer_trx_line_id,
         contingency_id,
         contingency_code,
         expiration_date,
         expiration_days,
         expiration_event_date,
         reason_removal_date,
         completed_flag,
         defaulted_in_ar_flag,
         request_id,
         created_by,
         creation_date,
         last_updated_by,
         last_update_date,
         last_update_login,
         org_id
       )
       SELECT
        ctl.customer_trx_line_id,
        3,
        '3',
        NULL,
        NULL,
        NULL,
        NULL,
        'N',
        'Y',
        ctl.request_id,
        l_user_id,
        sysdate,
        l_user_id,
        sysdate,
        l_user_id,
        ctl.org_id
       FROM ra_customer_trx_lines_all      ctl,
            ra_customer_trx_all            ct,
            ra_cust_trx_types_all          ctt,
            pa_implementations             pa
       WHERE ctl.request_id = p_request_id
       AND   ctl.customer_trx_id    = ct.customer_trx_id
       AND   ct.batch_source_id NOT IN (20, 21)
       AND   ct.org_id = pa.org_id (+)
       AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
       AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
       AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
       AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
       AND   ct.org_id = ctt.org_id
       AND   ctt.type = 'INV'
       AND   ctl.line_type = 'LINE'
       AND   NVL(ctl.deferral_exclusion_flag, 'N') = 'N'
       AND   ar_revenue_management_pvt.creditworthy
               (ct.bill_to_customer_id, ct.bill_to_site_use_id)= 0
       AND   NOT EXISTS
          (SELECT 'errors'
           FROM    ar_trx_errors_gt teg,
                   ar_trx_lines_gt  tlg
           WHERE   teg.trx_header_id = tlg.trx_header_id
           AND     teg.trx_line_id   = tlg.trx_line_id
           AND     tlg.customer_trx_line_id = ctl.customer_trx_line_id)
       AND   NOT EXISTS
          (SELECT 'prevent duplicate contingency'
           FROM   ar_line_conts_all   alc
           WHERE  alc.customer_trx_line_id = ctl.customer_trx_line_id
           AND    alc.contingency_id       = 3);
Line: 375

       INSERT INTO ar_line_conts_all
       (
         customer_trx_line_id,
         contingency_id,
         contingency_code,
         expiration_date,
         expiration_days,
         expiration_event_date,
         reason_removal_date,
         completed_flag,
         defaulted_in_ar_flag,
         request_id,
         created_by,
         creation_date,
         last_updated_by,
         last_update_date,
         last_update_login,
         org_id
       )
       SELECT
        ctl.customer_trx_line_id,
        3,
        '3',
        NULL,
        NULL,
        NULL,
        NULL,
        'N',
        'Y',
        ctl.request_id,
        l_user_id,
        sysdate,
        l_user_id,
        sysdate,
        l_user_id,
        ctl.org_id
       FROM ra_customer_trx_lines_all      ctl,
            ra_customer_trx_all            ct,
            ra_cust_trx_types_all          ctt,
            pa_implementations             pa
       WHERE ctl.request_id = p_request_id
       AND   ctl.customer_trx_id    = ct.customer_trx_id
       AND   ct.batch_source_id NOT IN (20, 21)
       AND   ct.org_id = pa.org_id (+)
       AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
       AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
       AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
       AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
       AND   ct.org_id = ctt.org_id
       AND   ctt.type = 'INV'
       AND   ctl.line_type = 'LINE'
       AND   NVL(ctl.deferral_exclusion_flag, 'N') = 'N'
       AND   ar_revenue_management_pvt.creditworthy
               (ct.bill_to_customer_id, ct.bill_to_site_use_id)= 0
       AND   NOT EXISTS
          (SELECT 'errors'
           FROM    ra_interface_errors_all ie
           WHERE   ie.interface_line_id = ctl.customer_trx_line_id)
       AND   NOT EXISTS
          (SELECT 'prevent duplicate contingency'
           FROM   ar_line_conts_all   alc
           WHERE  alc.customer_trx_line_id = ctl.customer_trx_line_id
           AND    alc.contingency_id       = 3);
Line: 440

       INSERT INTO ar_line_conts_all
       (
         customer_trx_line_id,
         contingency_id,
         contingency_code,
         expiration_date,
         expiration_days,
         expiration_event_date,
         reason_removal_date,
         completed_flag,
         defaulted_in_ar_flag,
         request_id,
         created_by,
         creation_date,
         last_updated_by,
         last_update_date,
         last_update_login,
         org_id
       )
       SELECT
        ctl.customer_trx_line_id,
        3,
        '3',
        NULL,
        NULL,
        NULL,
        NULL,
        'N',
        'Y',
        NULL,
        l_user_id,
        sysdate,
        l_user_id,
        sysdate,
        l_user_id,
        ctl.org_id
       FROM ra_customer_trx_lines_all      ctl,
            ra_customer_trx_all            ct,
            ra_cust_trx_types_all          ctt,
            pa_implementations             pa
       WHERE ctl.customer_trx_line_id = p_customer_trx_line_id
       AND   ctl.customer_trx_id    = ct.customer_trx_id
       AND   ct.batch_source_id NOT IN (20, 21)
       AND   ct.org_id = pa.org_id (+)
       AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
       AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
       AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
       AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
       AND   ct.org_id = ctt.org_id
       AND   ctt.type = 'INV'
       AND   ctl.line_type = 'LINE'
       AND   NVL(ctl.deferral_exclusion_flag, 'N') = 'N'
       AND   ar_revenue_management_pvt.creditworthy
               (ct.bill_to_customer_id, ct.bill_to_site_use_id)= 0
       AND   NOT EXISTS
          (SELECT 'prevent duplicate contingency'
           FROM   ar_line_conts_all   alc
           WHERE  alc.customer_trx_line_id = ctl.customer_trx_line_id
           AND    alc.contingency_id       = 3);
Line: 503

  debug('credit contingencies inserted: ' || l_rows);
Line: 504

  debug('insert_credit_contingencies()-');
Line: 506

END insert_credit_contingencies;
Line: 527

    INSERT INTO  ar_reviewed_lines_gt
    (
      customer_trx_line_id,
      customer_trx_id,
      amount_due_original,
      acctd_amount_due_original,
      amount_recognized,
      acctd_amount_recognized,
      amount_pending,
      acctd_amount_pending,
      line_type,
      so_line_id,
      request_id
    )
    SELECT
      dl.customer_trx_line_id line_id,
      max(dl.customer_trx_id) trx_id,
      max(dl.amount_due_original),
      max(dl.acctd_amount_due_original),
      max(dl.amount_recognized),
      max(dl.acctd_amount_recognized),
      max(dl.amount_pending),
      max(dl.acctd_amount_pending),
      'PARENT',
      max(interface_line_attribute6),
      l_request_id
    FROM   ar_deferred_lines   dl,
           ar_line_conts       lc,
           ar_deferral_reasons dr,
           ra_customer_trx_lines ctl
    WHERE  dl.customer_trx_line_id = lc.customer_trx_line_id
    AND    lc.contingency_id       = dr.contingency_id
    AND    ctl.customer_trx_line_id = lc.customer_trx_line_id
    AND    dr.revrec_event_code    = 'CUSTOMER_ACCEPTANCE'
    AND    lc.completed_flag       = 'N'
    AND    line_collectible_flag   = 'N'  -- not collectilbe
    AND    manual_override_flag    = 'N'  -- not manually overridden in
                                          -- RAM wizards
    AND    dl.customer_trx_id      = nvl(p_customer_trx_id,
                                         dl.customer_trx_id)
    AND    dl.customer_trx_line_id = nvl(p_customer_trx_line_id,
                                         dl.customer_trx_line_id)
    GROUP BY dl.customer_trx_line_id;
Line: 571

    debug('acceptance rows inserted: ' || SQL%ROWCOUNT);
Line: 575

    INSERT INTO  ar_reviewed_lines_gt
    (
      customer_trx_line_id,
      customer_trx_id,
      amount_due_original,
      acctd_amount_due_original,
      amount_recognized,
      acctd_amount_recognized,
      amount_pending,
      acctd_amount_pending,
      line_type,
      so_line_id,
      request_id
    )
    SELECT
      dl.customer_trx_line_id line_id,
      max(dl.customer_trx_id) trx_id,
      max(dl.amount_due_original),
      max(dl.acctd_amount_due_original),
      max(dl.amount_recognized),
      max(dl.acctd_amount_recognized),
      max(dl.amount_pending),
      max(dl.acctd_amount_pending),
      'PARENT',
      max(interface_line_attribute6),
      l_request_id
    FROM   ar_deferred_lines   dl,
           ar_line_conts       lc,
           ar_deferral_reasons dr,
           ra_customer_trx_lines ctl
    WHERE  dl.customer_trx_line_id = lc.customer_trx_line_id
    AND    lc.contingency_id       = dr.contingency_id
    AND    ctl.customer_trx_line_id = lc.customer_trx_line_id
    AND    dr.revrec_event_code    = 'CUSTOMER_ACCEPTANCE'
    AND    lc.completed_flag       = 'N'
    AND    line_collectible_flag   = 'N'  -- not collectilbe
    AND    manual_override_flag    = 'N'  -- not manually overridden in
                                          -- RAM wizards
    AND    dl.customer_trx_id      = nvl(p_customer_trx_id,
                                         dl.customer_trx_id)
    AND    dl.customer_trx_line_id = nvl(p_customer_trx_line_id,
                                         dl.customer_trx_line_id)
    AND    trunc(lc.expiration_date) <= trunc(sysdate)
    GROUP BY dl.customer_trx_line_id;
Line: 620

    debug('acceptance rows inserted: ' || SQL%ROWCOUNT);
Line: 626

  DELETE FROM AR_REVIEWED_LINES_GT
  WHERE  (customer_trx_id, customer_trx_line_id) IN
      (select gt.customer_trx_id, gt.customer_trx_line_id
       FROM   AR_REVIEWED_LINES_GT  gt,
              RA_CUSTOMER_TRX_LINES ctl,
              OE_ORDER_LINES        oel
       WHERE  gt.customer_trx_id = ctl.customer_trx_id
       AND    gt.customer_trx_line_id = ctl.customer_trx_line_id
       AND    ctl.interface_line_context = g_om_context
       AND    to_number(ctl.interface_line_attribute6) =
              oel.line_id
       AND    oel.flow_status_code <> 'POST-BILLING_ACCEPTANCE'
       AND    oel.CONTINGENCY_ID IS NOT NULL);    --BUG 13482797
Line: 673

  INSERT INTO  ar_reviewed_lines_gt
  (
    customer_trx_line_id,
    customer_trx_id,
    amount_due_original,
    acctd_amount_due_original,
    amount_recognized,
    acctd_amount_recognized,
    amount_pending,
    acctd_amount_pending,
    line_type,
    so_line_id,
    request_id
  )
  SELECT
    dl.customer_trx_line_id,
    dl.customer_trx_id,
    dl.amount_due_original,
    dl.acctd_amount_due_original,
    dl.amount_recognized,
    dl.acctd_amount_recognized,
    dl.amount_pending,
    dl.acctd_amount_pending,
    'PARENT',
    interface_line_attribute6,
    l_request_id
  FROM   ar_deferred_lines   dl,
         ra_customer_trx_lines ctl
  WHERE  dl.customer_trx_line_id = ctl.customer_trx_line_id
  AND    dl.customer_trx_id = nvl(p_customer_trx_id, dl.customer_trx_id)
  AND    dl.customer_trx_line_id = nvl(p_customer_trx_line_id,
                                       dl.customer_trx_line_id)
  AND NOT EXISTS
  ( SELECT 'already inserted'
    FROM   ar_reviewed_lines_gt rl
    WHERE  rl.customer_trx_line_id = dl.customer_trx_line_id);
Line: 710

  debug('no contingency rows inserted: ' || SQL%ROWCOUNT);
Line: 755

     and results in no lines being inserted when the interface_line_context
     does not match the ONT_SOURCE_CODE profile */

  /* 5229211 - Added code to populate so_line_id */

  INSERT INTO  ar_reviewed_lines_gt
  (
    customer_trx_line_id,
    customer_trx_id,
    amount_due_original,
    acctd_amount_due_original,
    amount_recognized,
    acctd_amount_recognized,
    amount_pending,
    acctd_amount_pending,
    line_type,
    request_id,
    so_line_id,
    expiration_date
  )
  SELECT /*+ ORDERED */
    child.customer_trx_line_id line_id,
    max(child.customer_trx_id) trx_id,
    max(child.amount_due_original),
    max(child.acctd_amount_due_original),
    max(child.amount_recognized),
    max(child.acctd_amount_recognized),
    max(child.amount_pending),
    max(child.acctd_amount_pending),
    'CHILD',
    l_request_id,
    child_line.interface_line_attribute6,
    max(lc.expiration_date)
  FROM   ar_reviewed_lines_gt  parent,
         ra_customer_trx_lines parent_line,
         ar_deferred_lines     child,
         ra_customer_trx_lines child_line,
         ar_line_conts         lc,
         ar_deferral_reasons   dr
  WHERE  parent.customer_trx_id = parent_line.customer_trx_id
  AND    parent.customer_trx_line_id = parent_line.customer_trx_line_id
  AND    parent_line.interface_line_context = g_om_context
  AND    to_char(child.parent_line_id) = parent.so_line_id
  AND    child.customer_trx_line_id = child_line.customer_trx_line_id
  AND    child_line.customer_trx_line_id = lc.customer_trx_line_id
  AND    lc.contingency_id       = dr.contingency_id
  AND    dr.revrec_event_code    = 'CUSTOMER_ACCEPTANCE'
  AND    lc.completed_flag       = 'N'
  AND    line_collectible_flag   = 'N'  -- not collectilbe
  AND    manual_override_flag    = 'N'  -- not manually overridden in
                                        -- RAM wizards
  AND    parent.customer_trx_id      = nvl(p_customer_trx_id,
                                           parent.customer_trx_id)
  AND    parent.customer_trx_line_id = nvl(p_customer_trx_line_id,
                                           parent.customer_trx_line_id)
  AND    trunc(lc.expiration_date) <= trunc(sysdate)
  GROUP BY child.customer_trx_line_id, child_line.interface_line_attribute6;
Line: 815

     debug(' inserted ' || l_rows || ' row(s)');
Line: 851

  INSERT INTO  ar_reviewed_lines_gt
  (
    customer_trx_line_id,
    customer_trx_id,
    amount_due_original,
    acctd_amount_due_original,
    amount_recognized,
    acctd_amount_recognized,
    amount_pending,
    acctd_amount_pending,
    line_type,
    request_id,
    expiration_date
  )
  SELECT
    dl.customer_trx_line_id line_id,
    max(customer_trx_id) trx_id,
    max(amount_due_original),
    max(acctd_amount_due_original),
    max(amount_recognized),
    max(acctd_amount_recognized),
    max(amount_pending),
    max(acctd_amount_pending),
    'OTHERS',
    l_request_id,
    max(lc.expiration_date)
  FROM ar_deferred_lines   dl,
       ar_line_conts       lc,
       ar_deferral_reasons dr
  WHERE  dl.customer_trx_line_id  = lc.customer_trx_line_id
  AND    lc.contingency_id        = dr.contingency_id
  AND    lc.completed_flag        = 'N'
  AND    line_collectible_flag    = 'N'  -- not collectilbe
  AND    manual_override_flag     = 'N'  -- not manually overridden in
                                         -- RAM wizards
  AND    dr.revrec_event_code <> 'CUSTOMER_ACCEPTANCE'
  AND    trunc(lc.expiration_date) <= trunc(sysdate)
  AND    dl.customer_trx_id      = nvl(p_customer_trx_id, dl.customer_trx_id)
  AND    dl.customer_trx_line_id = nvl(p_customer_trx_line_id,
                                       dl.customer_trx_line_id)
  AND NOT EXISTS
  ( SELECT 'already inserted'
    FROM   ar_reviewed_lines_gt rl
    WHERE  rl.customer_trx_line_id = dl.customer_trx_line_id)
  GROUP BY dl.customer_trx_line_id;
Line: 901

  INSERT INTO  ar_reviewed_lines_gt
  (
    customer_trx_line_id,
    customer_trx_id,
    amount_due_original,
    acctd_amount_due_original,
    amount_recognized,
    acctd_amount_recognized,
    amount_pending,
    acctd_amount_pending,
    line_type,
    request_id
  )
  SELECT
    dl.customer_trx_line_id line_id,
    max(customer_trx_id) trx_id,
    max(amount_due_original),
    max(acctd_amount_due_original),
    max(amount_recognized),
    max(acctd_amount_recognized),
    max(amount_pending),
    max(acctd_amount_pending),
    'UPDATE',
    l_request_id
  FROM ar_deferred_lines   dl,
       ar_line_conts       lc,
       ar_deferral_reasons dr
  WHERE  dl.customer_trx_line_id  = lc.customer_trx_line_id
  AND    lc.contingency_id        = dr.contingency_id
  AND    line_collectible_flag    = 'N'  -- not collectilbe
  AND    manual_override_flag     = 'N'  -- not manually overridden in
                                         -- RAM wizards
  AND    dl.customer_trx_id      = nvl(p_customer_trx_id, dl.customer_trx_id)
  AND    dl.customer_trx_line_id = nvl(p_customer_trx_line_id,
                                       dl.customer_trx_line_id)
  GROUP BY dl.customer_trx_line_id;
Line: 942

  debug('  Other row(s) inserted : ' || l_count);
Line: 970

    SELECT rl.customer_trx_line_id,
           rl.customer_trx_id,
           rl.so_line_id
    FROM   ar_reviewed_lines_gt  rl,
           ra_customer_trx_lines tl
    WHERE  rl.request_id = p_req_id
    AND    tl.customer_trx_line_id = rl.customer_trx_line_id
    AND    tl.customer_trx_id = rl.customer_trx_id
    AND    tl.interface_line_context = g_om_context;
Line: 1114

PROCEDURE delete_unwanted_contingencies (p_request_id NUMBER
				        ,p_customer_trx_line_id ra_customer_trx_lines.customer_trx_line_id%TYPE) IS

  /* debug cursor */
  CURSOR alc (p_req_id NUMBER, p_line_id NUMBER) IS
     select lc.customer_trx_line_id, lc.contingency_id,
            dr.policy_attached
     from   ar_line_conts lc,
            ar_deferral_reasons dr
     where  lc.contingency_id = dr.contingency_id
     and    ((p_req_id IS NULL and p_line_id IS NOT NULL AND
              lc.customer_trx_line_id = p_line_id) OR
             (p_req_id IS NOT NULL AND lc.request_id = p_req_id));
Line: 1133

     debug('delete_unwanted_contingencies()+');
Line: 1154

     DELETE
     FROM   ar_line_conts lrc
     WHERE  customer_trx_line_id IN
        (SELECT customer_trx_line_id
         FROM   ra_customer_trx_lines ctl
         WHERE  ctl.request_id = p_request_id)
     AND    trunc(expiration_date) - trunc(sysdate) <
               NVL(arp_standard.sysparm.standard_refund,0)
     AND EXISTS
        (SELECT 'its a refund contingency'
         FROM   ar_deferral_reasons dr
         WHERE  dr.contingency_id = lrc.contingency_id
         AND    dr.policy_attached in ('REFUND','REFUND_POLICY'));
Line: 1168

     debug('refund contingencies deleted: ' || SQL%ROWCOUNT);
Line: 1175

     DELETE
     FROM   ar_line_conts lc
     WHERE  lc.customer_trx_line_id IN
         (SELECT customer_trx_line_id
          FROM   ra_customer_trx_lines ctl,
                 ra_customer_trx ct
          WHERE  ctl.customer_trx_id = ct.customer_trx_id
          AND    ctl.request_id = p_request_id
          AND    ar_revenue_management_pvt.creditworthy
                   (ct.bill_to_customer_id, ct.bill_to_site_use_id)= 1)
     AND EXISTS
        (SELECT 'its a CREDIT_CLASSIFICATION'
         FROM   ar_deferral_reasons dr
         WHERE  dr.contingency_id =  lc.contingency_id
         AND    dr.policy_attached = 'CREDIT_CLASSIFICATION');
Line: 1193

        debug('customer credit contingencies deleted: ' || SQL%ROWCOUNT);
Line: 1201

     DELETE
     FROM   ar_line_conts lc
     WHERE  lc.customer_trx_line_id IN
         (SELECT customer_trx_line_id
          FROM   ra_customer_trx_lines ctl,
                 ra_customer_trx       ct,
                 ra_terms_lines        tl
          WHERE  ctl.customer_trx_id = ct.customer_trx_id
          AND    ct.term_id = tl.term_id
          AND    ctl.request_id = p_request_id
          GROUP BY ctl.customer_trx_line_id, tl.term_id
          HAVING  NVL(max(due_days),0) <=
             NVL(arp_standard.sysparm.payment_threshold,0))
     AND  EXISTS
         (SELECT 'its a PAYMENT_TERM'
          FROM   ar_deferral_reasons dr
          WHERE  dr.policy_attached = 'PAYMENT_TERM'
          AND    dr.contingency_id = lc.contingency_id);
Line: 1222

        debug('payment term contingencies deleted: ' || SQL%ROWCOUNT);
Line: 1233

     DELETE from ar_line_conts
     WHERE customer_trx_line_id IN
        (SELECT customer_trx_line_id
         FROM   ra_customer_trx_lines ctl,
                ra_rules r
         WHERE  ctl.request_id = p_request_id
         AND    ctl.accounting_rule_id IS NOT NULL
         AND    ctl.accounting_rule_id = r.rule_id
         AND    r.deferred_revenue_flag = 'Y');
Line: 1245

        debug('contingencies for lines with deferred rule deleted: ' ||
           SQL%ROWCOUNT);
Line: 1250

     DELETE
     FROM   ar_line_conts lrc
     WHERE  trunc(expiration_date) - trunc(sysdate) <
            NVL(arp_standard.sysparm.standard_refund,0)
     AND    lrc.customer_trx_line_id = p_customer_trx_line_id
     AND    EXISTS
            (SELECT 'a refund contingency'
             FROM   ar_deferral_reasons dr
             WHERE  dr.policy_attached in ('REFUND','REFUND_POLICY')
             AND    dr.contingency_id = lrc.contingency_id);
Line: 1261

     debug('refund contingencies deleted: ' || SQL%ROWCOUNT);
Line: 1268

     DELETE
     FROM   ar_line_conts lc
     WHERE  lc.customer_trx_line_id = p_customer_trx_line_id
     AND EXISTS
         (SELECT 'its a credit_classification contingency'
          FROM   ar_deferral_reasons dr
          WHERE  dr.contingency_id =  lc.contingency_id
          AND    dr.policy_attached = 'CREDIT_CLASSIFICATION')
     AND EXISTS
         (SELECT 'customer is not credit worthy'
          FROM   ra_customer_trx_lines ctl,
                 ra_customer_trx ct
          WHERE  ctl.customer_trx_id = ct.customer_trx_id
          AND    ctl.customer_trx_line_id = p_customer_trx_line_id
          AND    ar_revenue_management_pvt.creditworthy
                   (ct.bill_to_customer_id, ct.bill_to_site_use_id)= 1);
Line: 1287

        debug('customer credit contingencies deleted: ' || SQL%ROWCOUNT);
Line: 1295

     DELETE
     FROM   ar_line_conts lc
     WHERE  lc.customer_trx_line_id = p_customer_trx_line_id
     AND EXISTS
         (SELECT 'it is a term contingency'
          FROM   ar_deferral_reasons dr
          WHERE  dr.policy_attached = 'PAYMENT_TERM'
          AND    dr.contingency_id = lc.contingency_id)
     AND EXISTS
         (SELECT 'term exceeds threshold'
          FROM   ra_customer_trx_lines ctl,
                 ra_customer_trx       ct,
                 ra_terms_lines        tl
          WHERE  ctl.customer_trx_id = ct.customer_trx_id
          AND    ct.term_id = tl.term_id
          AND    ctl.customer_trx_line_id = lc.customer_trx_line_id
          GROUP BY ctl.customer_trx_line_id, tl.term_id
          HAVING  NVL(max(due_days),0) <=
             NVL(arp_standard.sysparm.payment_threshold,0));
Line: 1317

        debug('payment term contingencies deleted: ' || SQL%ROWCOUNT);
Line: 1328

     DELETE FROM AR_LINE_CONTS A
     WHERE A.customer_trx_line_id = p_customer_trx_line_id
     AND   EXISTS (SELECT 'DEFERRED RULE'
                   FROM   ra_customer_trx_lines ctl,
                          ra_rules r
                   WHERE  ctl.customer_trx_line_id = A.customer_trx_line_id
                   AND    ctl.accounting_rule_id = r.rule_id
                   AND    r.deferred_revenue_flag = 'Y');
Line: 1339

        debug('contingencies for lines with deferred rule deleted: ' ||
        SQL%ROWCOUNT);
Line: 1349

    DELETE
    FROM ar_line_conts
    WHERE customer_trx_line_id IN
          (SELECT  customer_trx_line_id
           FROM    ar_trx_errors_gt teg,
                   ar_trx_lines_gt  tlg
           WHERE   teg.trx_header_id = tlg.trx_header_id
           AND     teg.trx_line_id   = tlg.trx_line_id
           AND     request_id = p_request_id);
Line: 1361

    DELETE
    FROM ar_line_conts
    WHERE customer_trx_line_id IN
          (SELECT ie.interface_line_id
           FROM    ra_interface_errors ie
           WHERE   request_id = p_request_id);
Line: 1372

    debug('delete_unwanted_contingencies()-');
Line: 1377

      debug('NO_DATA_FOUND: delete_unwanted_contingencies');
Line: 1382

      debug('OTHERS: delete_unwanted_contingencies');
Line: 1386

END delete_unwanted_contingencies;
Line: 1421

        SELECT MIN(customer_trx_line_id)
        INTO   l_customer_trx_line_id
        FROM   RA_CUSTOMER_TRX_LINES
        WHERE  interface_line_context    = l_line_flex_rec.interface_line_context
        AND    interface_line_attribute1 = l_line_flex_rec.interface_line_attribute1
        AND    interface_line_attribute2 = l_line_flex_rec.interface_line_attribute2
        AND    interface_line_attribute3 = l_line_flex_rec.interface_line_attribute3
        AND    interface_line_attribute4 = l_line_flex_rec.interface_line_attribute4
        AND    interface_line_attribute5 = l_line_flex_rec.interface_line_attribute5
        AND    interface_line_attribute6 = l_line_flex_rec.interface_line_attribute6
        AND    ltrim(interface_line_attribute11) = '0'  --13018057
        AND    ltrim(interface_line_attribute14) = '0'; --13018057
Line: 1463

     executing the INSERT.  */
  SELECT 1
  INTO   l_exists
  FROM   dual
  WHERE EXISTS (select 'at least one child'
                from   RA_INTERFACE_LINES il
                where  il.request_id = p_request_id
                and    il.parent_line_id is not null);
Line: 1474

    INSERT INTO ar_line_conts
    (
      customer_trx_line_id,
      contingency_id,
      contingency_code,
      expiration_date,
      expiration_days,
      expiration_event_date,
      reason_removal_date,
      completed_flag,
      defaulted_in_ar_flag,
      request_id,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      last_update_login,
      org_id
    )
    SELECT
      ctl.customer_trx_line_id,
      plc.contingency_id,
      plc.contingency_id,
      plc.expiration_date,
      plc.expiration_days,
      plc.expiration_event_date,
      plc.reason_removal_date,
      plc.completed_flag,
      'C',  -- indicates it was copied, not defaulted or imported
      p_request_id,
      l_user_id,
      sysdate,
      l_user_id,
      sysdate,
      l_user_id,
      plc.org_id
    FROM   ra_customer_trx       ct,
           ra_customer_trx_lines ctl,
           ra_cust_trx_types     ctt,
           ra_interface_lines    il,
           ar_line_conts         plc
    WHERE  ct.request_id = p_request_id
    AND    ct.cust_trx_type_id = ctt.cust_trx_type_id
    AND    nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
    AND    ctt.type = 'INV'
    AND    ct.customer_trx_id = ctl.customer_trx_id
    AND    ctl.line_type = 'LINE'
    AND    il.interface_line_id = ctl.customer_trx_line_id
    AND    il.parent_line_id IS NOT NULL
    AND    plc.customer_trx_line_id = get_line_id(il.parent_line_id)
    AND    NOT EXISTS (
         SELECT 'contingency already applied'
         FROM   ar_line_conts clc
         WHERE  clc.customer_trx_line_id = ctl.customer_trx_line_id
         AND    clc.contingency_code = plc.contingency_id);
Line: 1571

     insert_term_contingencies(p_request_id, p_customer_trx_line_id);
Line: 1578

     insert_credit_contingencies(p_request_id, p_customer_trx_line_id);
Line: 1583

   INSERT INTO ar_rdr_parameters_gt
  (
    source_line_id,
    batch_source_id,
    profile_class_id,
    cust_account_id,
    cust_acct_site_id,
    cust_trx_type_id,
    -- item_category_id,  (xportal issue logged)
    inventory_item_id,
    memo_line_id,
    org_id,
    accounting_rule_id,
    ship_to_cust_acct_id,
    ship_to_site_use_id
  )
  SELECT     -- Removed the hint that was added as part of bug 13828621
    ctl.customer_trx_line_id,
    ct.batch_source_id,
    decode(ctl.deferral_exclusion_flag, 'Y','',
           decode(hcp.cust_account_id,'','',
                  decode(hcp.site_use_id,'',hcp.profile_class_id,
                         hcp.profile_class_id))),--For 9855526
    ct.bill_to_customer_id,
    ct.bill_to_site_use_id,
    ctt.cust_trx_type_id,
    -- item_category_id
    ctl.inventory_item_id,
    ctl.memo_line_id,
    ct.org_id,
    ctl.accounting_rule_id,
    NVL(ctl.ship_to_customer_id,ct.ship_to_customer_id),
    NVL(ctl.ship_to_site_use_id,ct.ship_to_site_use_id)
 FROM
    ra_customer_trx ct,
    ra_customer_trx_lines ctl,
    hz_customer_profiles hcp,
    ra_cust_trx_types ctt
  WHERE (ctl.customer_trx_line_id = p_customer_trx_line_id)
  AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
  AND   ctt.type = 'INV'
  AND   ct.customer_trx_id = ctl.customer_trx_id
  AND   ctl.line_type = 'LINE'
  AND   ct.bill_to_customer_id = hcp.cust_account_id (+)
  AND   ct.bill_to_site_use_id = NVL(hcp.site_use_id, ct.bill_to_site_use_id )
  AND   nvl(ctl.deferral_exclusion_flag, 'N')  <> 'Y'
  AND   nvl(ct.invoicing_rule_id, 0) <> -3; /* 11711172 */
Line: 1633

    INSERT INTO ar_rdr_parameters_gt
  (
    source_line_id,
    batch_source_id,
   profile_class_id,
    cust_account_id,
    cust_acct_site_id,
    cust_trx_type_id,
    -- item_category_id,  (xportal issue logged)
    inventory_item_id,
    memo_line_id,
    org_id,
    accounting_rule_id,
    ship_to_cust_acct_id,
    ship_to_site_use_id
  )
  SELECT /*+ index(ctl  ra_customer_trx_lines_n2) */
    ctl.customer_trx_line_id,
    ct.batch_source_id,
 decode(ctl.deferral_exclusion_flag, 'Y','',
           decode(hcp.cust_account_id,'','',
                  decode(hcp.site_use_id,'',hcp.profile_class_id,
                         hcp.profile_class_id))),--For 9855526
    ct.bill_to_customer_id,
    ct.bill_to_site_use_id,
    ctt.cust_trx_type_id,
    -- item_category_id
    ctl.inventory_item_id,
    ctl.memo_line_id,
    ct.org_id,
    ctl.accounting_rule_id,
    NVL(ctl.ship_to_customer_id,ct.ship_to_customer_id),
    NVL(ctl.ship_to_site_use_id,ct.ship_to_site_use_id)
 FROM
    ra_customer_trx ct,
    ra_customer_trx_lines ctl,
    hz_customer_profiles hcp,
    ra_cust_trx_types ctt
  WHERE ct.request_id = p_request_id
  AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
  AND   ctt.type = 'INV'
  AND   ct.customer_trx_id = ctl.customer_trx_id
  AND   ctl.line_type = 'LINE'
  AND   ct.bill_to_customer_id = hcp.cust_account_id (+)
  AND   ct.bill_to_site_use_id = nvl(hcp.site_use_id, ct.bill_to_site_use_id)
  AND   nvl(ctl.deferral_exclusion_flag, 'N')  <> 'Y'
  AND   nvl(ct.invoicing_rule_id, 0) <> -3; /* 11711172 */
Line: 1683

  debug('rows inserted in rule gt: ' || SQL%ROWCOUNT);
Line: 1708

     exclude the insert if the interface_line_context = g_om_context
     and the contingency revrec_event_code in (INVOICING or CUSTOMER_ACCE.)
     INVOICING is really 'pre-billing customer acceptance' and
     CUSTOMER_ACCEPTANCE is 'post-billing customer acceptance'.
  */

  /* 5222197 - Fix from 5236506 caused problems when transactions had
     no context specified.  Need to NVL that column to insure that
     the condition defaults to false */

  /* 5201842 - Added code to populate expiration_date, and
     expiration_event_date */

  /* 7039838 - conditionally call insert based on parameters */

  IF p_request_id IS NOT NULL
  THEN
    /* Modified logic for autoinvoice */
    INSERT INTO ar_line_conts
    (
      customer_trx_line_id,
      contingency_code,
      contingency_id,
      expiration_date,
      expiration_days,
      expiration_event_date,
      reason_removal_date,
      completed_flag,
      defaulted_in_ar_flag,
      request_id,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      last_update_login,
      org_id
    )
    SELECT  /*+ leading(rbr,ctl) use_hash(ctl)
                index(ctl,RA_CUSTOMER_TRX_LINES_N4) */
      rbr.id,
      dr.contingency_id,
      dr.contingency_id,
      decode(dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(ct.trx_date)
           + nvl(dr.expiration_days, 0),
        'SHIP_CONFIRM_DATE', trunc(ct.ship_date_actual)
           + nvl(dr.expiration_days, 0), NULL),
      MAX(expiration_days),
      decode(dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(ct.trx_date),
        'SHIP_CONFIRM_DATE', trunc(ct.ship_date_actual), NULL),
        decode(MAX(dr.expiration_event_code), 'INVOICING', sysdate, NULL)
      reason_removal_date,
        decode(MAX(dr.expiration_event_code), 'INVOICING', 'Y', 'N')
      completed_flag,
      'Y',
      p_request_id,
      l_user_id,
      sysdate,
      l_user_id,
      sysdate,
      l_user_id,
      ct.org_id
    FROM fun_rule_bulk_result_gt rbr,
         ar_deferral_reasons      dr,
         ra_customer_trx_lines    ctl,
         ra_customer_trx          ct,
         ra_cust_trx_types        ctt,
         pa_implementations       pa
    WHERE rbr.result_value = dr.contingency_id
    AND   rbr.id = ctl.customer_trx_line_id
    AND   ctl.customer_trx_id    = ct.customer_trx_id
    AND   ctl.request_id = p_request_id               -- 7039838
    AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
    AND   ctt.type = 'INV'
    AND   ctl.line_type = 'LINE'
    AND   ct.batch_source_id NOT IN (20, 21)
    AND   ct.org_id = pa.org_id (+)
    AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
    AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
    AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
    AND   sysdate BETWEEN NVL(dr.start_date,SYSDATE) AND
                          NVL(dr.end_date,SYSDATE)
    AND NOT (NVL(ctl.interface_line_context,'##NOT_MATCH##') = g_om_context AND
             dr.revrec_event_code in ('INVOICING','CUSTOMER_ACCEPTANCE'))
    AND NOT EXISTS
        ( SELECT 'contingency exists'
          FROM    ar_line_conts lc
          WHERE   lc.customer_trx_line_id = rbr.id
          AND     lc.contingency_id = rbr.result_value
        )
    GROUP BY rbr.id, dr.contingency_id, dr.expiration_event_code,
             dr.expiration_days, ct.org_id, ct.trx_date, ct.ship_date_actual;
Line: 1804

    INSERT INTO ar_line_conts
    (
      customer_trx_line_id,
      contingency_code,
      contingency_id,
      expiration_date,
      expiration_days,
      expiration_event_date,
      reason_removal_date,
      completed_flag,
      defaulted_in_ar_flag,
      request_id,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      last_update_login,
      org_id
    )
    SELECT
      rbr.id,
      dr.contingency_id,
      dr.contingency_id,
      decode(dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(ct.trx_date)
           + nvl(dr.expiration_days, 0),
        'SHIP_CONFIRM_DATE', trunc(ct.ship_date_actual)
           + nvl(dr.expiration_days, 0), NULL),
      MAX(expiration_days),
      decode(dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(ct.trx_date),
        'SHIP_CONFIRM_DATE', trunc(ct.ship_date_actual), NULL),
        decode(MAX(dr.expiration_event_code), 'INVOICING', sysdate, NULL)
      reason_removal_date,
        decode(MAX(dr.expiration_event_code), 'INVOICING', 'Y', 'N')
      completed_flag,
      'Y',
      p_request_id,
      l_user_id,
      sysdate,
      l_user_id,
      sysdate,
      l_user_id,
      ct.org_id
    FROM fun_rule_bulk_result_gt rbr,
         ar_deferral_reasons      dr,
         ra_customer_trx_lines    ctl,
         ra_customer_trx          ct,
         ra_cust_trx_types        ctt,
         pa_implementations       pa
    WHERE rbr.result_value = dr.contingency_id
    AND   rbr.id = ctl.customer_trx_line_id
    AND   ctl.customer_trx_id    = ct.customer_trx_id
    AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
    AND   ctt.type = 'INV'
    AND   ctl.line_type = 'LINE'
    AND   ct.batch_source_id NOT IN (20, 21)
    AND   ct.org_id = pa.org_id (+)
    AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
    AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
    AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
    AND   sysdate BETWEEN NVL(dr.start_date,SYSDATE) AND
                          NVL(dr.end_date,SYSDATE)
    AND NOT (NVL(ctl.interface_line_context,'##NOT_MATCH##') = g_om_context AND
             dr.revrec_event_code in ('INVOICING','CUSTOMER_ACCEPTANCE'))
    AND NOT EXISTS
        ( SELECT 'contingency exists'
          FROM    ar_line_conts lc
          WHERE   lc.customer_trx_line_id = rbr.id
          AND     lc.contingency_id = rbr.result_value
        )
    AND
(DECODE(g_source,null,decode(ct.created_from,'ARXTWMAI',decode(dr.revrec_event_code,'INVOICING',1,0),0),0)
<> 1)
    GROUP BY rbr.id, dr.contingency_id, dr.expiration_event_code,
             dr.expiration_days, ct.org_id, ct.trx_date, ct.ship_date_actual;
Line: 1883

  debug('rows inserted ar_line_conts: ' || SQL%ROWCOUNT);
Line: 1899

PROCEDURE insert_contingencies_from_gt (p_request_id NUMBER) IS

  l_user_id NUMBER;
Line: 1905

  debug('insert_contingencies_from_gt()+');
Line: 1918

  INSERT INTO ar_line_conts
  (
    customer_trx_line_id,
    contingency_id,
    contingency_code,
    expiration_date,
    expiration_days,
    expiration_event_date,
    reason_removal_date,
    completed_flag,
    completed_by,
    request_id,
    created_by,
    creation_date,
    last_updated_by,
    last_update_date,
    last_update_login,
    org_id
  )
  SELECT
    tlg.customer_trx_line_id,
    tcg.contingency_id,
    tcg.contingency_id,
      nvl(trunc(tcg.expiration_date), decode(dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(thg.trx_date)
           + nvl(tcg.expiration_days, nvl(dr.expiration_days, 0)),
        'SHIP_CONFIRM_DATE', trunc(thg.ship_date_actual)
           + nvl(tcg.expiration_days, nvl(dr.expiration_days, 0)), NULL))
    expiration_date,
    nvl(tcg.expiration_days, dr.expiration_days) expiration_days,
      decode( dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(thg.trx_date),
        'SHIP_CONFIRM_DATE', trunc(thg.ship_date_actual),  NULL)
    expiration_event_date,
      decode(revrec_event_code, 'INVOICING',
        NVL(expiration_date, sysdate), NULL) reason_removal_date,
      decode(revrec_event_code, 'INVOICING', 'Y',nvl(completed_flag, 'N'))
    completed_flag,
      decode(revrec_event_code, 'INVOICING', completed_by, NULL)
    completed_by,
    tlg.request_id,
    l_user_id,
    sysdate,
    l_user_id,
    sysdate,
    l_user_id,
    thg.org_id
  FROM ar_trx_lines_gt            tlg,
       ar_trx_header_gt           thg,
       ra_cust_trx_types          ctt,
       ar_trx_contingencies_gt    tcg,
       ar_deferral_reasons        dr,
       pa_implementations         pa
  WHERE tlg.request_id = p_request_id
  AND   tlg.trx_header_id = thg.trx_header_id
  AND   thg.batch_source_id NOT IN (20, 21)
  AND   thg.org_id = pa.org_id (+)
  AND   thg.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
  AND   thg.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
  AND   nvl(thg.invoicing_rule_id, 0) <> -3 /* 11711172 */
  AND   thg.cust_trx_type_id = ctt.cust_trx_type_id
  AND   ctt.type = 'INV'
  AND   tlg.line_type = 'LINE'
  AND   tlg.trx_line_id = tcg.trx_line_id
  AND   tcg.contingency_id = dr.contingency_id
  AND   NOT EXISTS
        ( SELECT 'errors exist'
          FROM    ar_trx_errors_gt err
          WHERE   err.trx_header_id = tlg.trx_header_id
          AND     err.trx_line_id   = tlg.trx_line_id
        );
Line: 1990

  debug('gt contingencies inserted: ' || SQL%ROWCOUNT);
Line: 1991

  debug('insert_contingencies_from_gt()-');
Line: 1995

      debug('NO_DATA_FOUND: insert_contingencies_from_gt');
Line: 2000

      debug('OTHERS: insert_contingencies_from_gt');
Line: 2004

END insert_contingencies_from_gt;
Line: 2007

PROCEDURE insert_contingencies_from_itf (p_request_id NUMBER) IS

  l_user_id       NUMBER;
Line: 2013

  debug('insert_contingencies_from_itf()+');
Line: 2028

  INSERT INTO ar_line_conts
  (
    customer_trx_line_id,
    contingency_id,
    contingency_code,
    expiration_date,
    expiration_days,
    expiration_event_date,
    reason_removal_date,
    completed_flag,
    completed_by,
    request_id,
    created_by,
    creation_date,
    last_updated_by,
    last_update_date,
    org_id
  )
  SELECT
    ctl.customer_trx_line_id,
    ic.contingency_id,
    ic.contingency_id,
      nvl(trunc(expiration_date), decode(dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(ct.trx_date)
           + nvl(ic.expiration_days, nvl(dr.expiration_days, 0)),
        'SHIP_CONFIRM_DATE', trunc(ct.ship_date_actual)
           + nvl(ic.expiration_days, nvl(dr.expiration_days, 0)), NULL))
    expiration_date,
    nvl(ic.expiration_days, dr.expiration_days) expiration_days,
      decode( dr.expiration_event_code,
        'TRANSACTION_DATE', trunc(ct.trx_date),
        'SHIP_CONFIRM_DATE', trunc(ct.ship_date_actual),  NULL)
    expiration_event_date,
      decode(revrec_event_code, 'INVOICING',
        nvl(expiration_date, sysdate),
          DECODE(NVL(completed_flag, 'N'),'Y',
             NVL(expiration_date,sysdate), NULL))
    reason_removal_date,
      decode(revrec_event_code, 'INVOICING', 'Y',nvl(completed_flag, 'N'))
    completed_flag,
      decode(revrec_event_code, 'INVOICING', completed_by, NULL)
    completed_by,
    ctl.request_id,
    l_user_id,
    sysdate,
    l_user_id,
    sysdate,
    ct.org_id
  FROM ra_customer_trx_lines      ctl,
       ra_customer_trx            ct,
       ra_cust_trx_types          ctt,
       ar_interface_conts         ic,
       ar_deferral_reasons        dr,
       pa_implementations         pa
  WHERE ctl.request_id = p_request_id
  AND   ctl.customer_trx_id    = ct.customer_trx_id
  AND   ct.batch_source_id NOT IN (20, 21)
  AND   ct.org_id = pa.org_id (+)
  AND   ct.batch_source_id <> NVL(pa.invoice_batch_source_id, -99)
  AND   ct.batch_source_id <> NVL(pa.cc_ic_ar_batch_source_id, -99)
  AND   nvl(ct.invoicing_rule_id, 0) <> -3 /* 11711172 */
  AND   ct.cust_trx_type_id = ctt.cust_trx_type_id
  AND   ctt.type = 'INV'
  AND   ctl.line_type = 'LINE'
  AND   ctl.customer_trx_line_id = ic.interface_line_id
  AND   ic.contingency_id = dr.contingency_id
  AND   NOT EXISTS
        (SELECT 'errors'
         FROM    ra_interface_errors ie
         WHERE   ie.interface_line_id = ctl.customer_trx_line_id);
Line: 2099

  debug('itf contingencies inserted: ' || SQL%ROWCOUNT);
Line: 2100

  debug('insert_contingencies_from_itf()-');
Line: 2104

      debug('NO_DATA_FOUND: insert_contingencies_from_itf');
Line: 2109

      debug('OTHERS: insert_contingencies_from_itf');
Line: 2113

END insert_contingencies_from_itf;
Line: 2116

PROCEDURE insert_deferred_lines (p_request_id NUMBER
				,p_customer_trx_line_id ra_customer_trx_lines.customer_trx_line_id%TYPE) IS

  l_user_id NUMBER;
Line: 2120

  l_insert_stmt   VARCHAR2(4000);
Line: 2125

  debug('insert_deferred_lines()+');
Line: 2137

    INSERT INTO ar_deferred_lines
    (
      customer_trx_line_id,
      customer_trx_id,
      original_collectibility_flag,
      line_collectible_flag,
      manual_override_flag,
      amount_due_original,
      acctd_amount_due_original,
      amount_recognized,
      acctd_amount_recognized,
      amount_pending,
      acctd_amount_pending,
      parent_line_id,
      attribute_category,
      attribute1,
      attribute2,
      attribute3,
      attribute4,
      attribute5,
      attribute6,
      attribute7,
      attribute8,
      attribute9,
      attribute10,
      attribute11,
      attribute12,
      attribute13,
      attribute14,
      attribute15,
      request_id,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      org_id
    )
    SELECT
      tlg.customer_trx_line_id,
      MAX(thg.customer_trx_id),
     'N',
     'N',
     'N',
      MAX(tlg.extended_amount),
      MAX(decode(g_minimum_accountable_unit_f, NULL,
        ROUND( tlg.extended_amount * nvl(thg.exchange_rate, 1),
          g_precision_f),
        ROUND((tlg.extended_amount * nvl(thg.exchange_rate, 1))
          / g_minimum_accountable_unit_f) * g_minimum_accountable_unit_f)),
      0,
      0,
      0,
      0,
      MAX(tlg.parent_line_id),
      MAX(tcg.attribute_category),
      MAX(tcg.attribute1),
      MAX(tcg.attribute2),
      MAX(tcg.attribute3),
      MAX(tcg.attribute4),
      MAX(tcg.attribute5),
      MAX(tcg.attribute6),
      MAX(tcg.attribute7),
      MAX(tcg.attribute8),
      MAX(tcg.attribute9),
      MAX(tcg.attribute10),
      MAX(tcg.attribute11),
      MAX(tcg.attribute12),
      MAX(tcg.attribute13),
      MAX(tcg.attribute14),
      MAX(tcg.attribute15),
      MAX(tlg.request_id),
      l_user_id,
      sysdate,
      l_user_id,
      sysdate,
      thg.org_id
    FROM ar_trx_header_gt           thg,
         ar_trx_lines_gt            tlg,
         ar_trx_contingencies_gt    tcg,
         ar_line_conts  lrc
    WHERE tlg.request_id = p_request_id
    AND   tlg.customer_trx_id = thg.customer_trx_id
    AND   tlg.customer_trx_line_id = lrc.customer_trx_line_id
    AND   tlg.trx_header_id = tcg.trx_header_id
    AND   tlg.trx_line_id = tcg.trx_line_id
    GROUP BY tlg.customer_trx_line_id, thg.org_id;
Line: 2229

    INSERT INTO ar_deferred_lines
    (
      customer_trx_line_id,
      customer_trx_id,
      original_collectibility_flag,
      line_collectible_flag,
      manual_override_flag,
      amount_due_original,
      acctd_amount_due_original,
      amount_recognized,
      acctd_amount_recognized,
      amount_pending,
      acctd_amount_pending,
      parent_line_id,
      request_id,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      org_id
    )
    SELECT
      tlg.customer_trx_line_id,
      MAX(thg.customer_trx_id),
     'N',
     'N',
     'N',
      MAX(tlg.extended_amount),
      MAX(decode(g_minimum_accountable_unit_f, NULL,
        ROUND( tlg.extended_amount * nvl(thg.exchange_rate, 1),
          g_precision_f),
        ROUND((tlg.extended_amount * nvl(thg.exchange_rate, 1))
          / g_minimum_accountable_unit_f) * g_minimum_accountable_unit_f)),
      0,
      0,
      0,
      0,
      MAX(tlg.parent_line_id),
      MAX(tlg.request_id),
      l_user_id,
      sysdate,
      l_user_id,
      sysdate,
      thg.org_id
    FROM ar_trx_header_gt           thg,
         ar_trx_lines_gt            tlg,
         ar_line_conts  lrc
    WHERE tlg.request_id = p_request_id
    AND   tlg.customer_trx_id = thg.customer_trx_id
    AND   tlg.customer_trx_line_id = lrc.customer_trx_line_id
    AND NOT EXISTS
      (SELECT 'line already inserted'
       FROM   ar_deferred_lines dl
       WHERE  dl.customer_trx_line_id = lrc.customer_trx_line_id)
    GROUP BY tlg.customer_trx_line_id, thg.org_id;
Line: 2287

    INSERT INTO ar_deferred_lines
    (
      customer_trx_line_id,
      customer_trx_id,
      original_collectibility_flag,
      line_collectible_flag,
      manual_override_flag,
      amount_due_original,
      acctd_amount_due_original,
      amount_recognized,
      acctd_amount_recognized,
      amount_pending,
      acctd_amount_pending,
      attribute_category,
      attribute1,
      attribute2,
      attribute3,
      attribute4,
      attribute5,
      attribute6,
      attribute7,
      attribute8,
      attribute9,
      attribute10,
      attribute11,
      attribute12,
      attribute13,
      attribute14,
      attribute15,
      request_id,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      org_id,
      parent_line_id
      )
      SELECT
      ctl.customer_trx_line_id,
      MAX(ct.customer_trx_id),
     'N',
     'N',
     'N',
      MAX(ctl.extended_amount),
      MAX(decode(g_minimum_accountable_unit_f, NULL,
        ROUND( ctl.extended_amount * nvl(ct.exchange_rate, 1),
          g_precision_f),
        ROUND((ctl.extended_amount * nvl(ct.exchange_rate, 1))
          / g_minimum_accountable_unit_f) * g_minimum_accountable_unit_f)),
      0,
      0,
      0,
      0,
      MAX(ic.attribute_category),
      MAX(ic.attribute1),
      MAX(ic.attribute2),
      MAX(ic.attribute3),
      MAX(ic.attribute4),
      MAX(ic.attribute5),
      MAX(ic.attribute6),
      MAX(ic.attribute7),
      MAX(ic.attribute8),
      MAX(ic.attribute9),
      MAX(ic.attribute10),
      MAX(ic.attribute11),
      MAX(ic.attribute12),
      MAX(ic.attribute13),
      MAX(ic.attribute14),
      MAX(ic.attribute15),
      MAX(ctl.request_id),
      l_user_id,
      sysdate,
      l_user_id,
      sysdate,
      ct.org_id,
      MAX(il.parent_line_id)
      FROM ra_customer_trx            ct,
           ra_customer_trx_lines      ctl,
           ar_line_conts              lrc,
           ar_interface_conts         ic,
           ra_interface_lines         il
      WHERE ctl.request_id = p_request_id
      AND   ctl.customer_trx_id = ct.customer_trx_id
      AND   ctl.customer_trx_line_id = lrc.customer_trx_line_id
      AND   ctl.customer_trx_line_id = ic.interface_line_id
      AND   ctl.customer_trx_line_id = il.interface_line_id
      GROUP BY ctl.customer_trx_line_id, ct.org_id;
Line: 2386

    INSERT INTO ar_deferred_lines
    (
      customer_trx_line_id,
      customer_trx_id,
      original_collectibility_flag,
      line_collectible_flag,
      manual_override_flag,
      amount_due_original,
      acctd_amount_due_original,
      amount_recognized,
      acctd_amount_recognized,
      amount_pending,
      acctd_amount_pending,
      request_id,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      org_id,
      parent_line_id
    )
    SELECT
      ctl.customer_trx_line_id,
      MAX(ct.customer_trx_id),
     'N',
     'N',
     'N',
      MAX(ctl.extended_amount),
      MAX(decode(g_minimum_accountable_unit_f, NULL,
        ROUND( ctl.extended_amount * nvl(ct.exchange_rate, 1),
          g_precision_f),
        ROUND((ctl.extended_amount * nvl(ct.exchange_rate, 1))
          / g_minimum_accountable_unit_f) * g_minimum_accountable_unit_f)),
      0,
      0,
      0,
      0,
      MAX(ctl.request_id),
      l_user_id,
      sysdate,
      l_user_id,
      sysdate,
      ct.org_id,
      MAX(il.parent_line_id)
    FROM ra_customer_trx        ct,
         ra_customer_trx_lines  ctl,
         ar_line_conts          lrc,
         ra_interface_lines     il
    WHERE ((p_request_id IS NULL AND p_customer_trx_line_id IS NOT NULL AND
            ctl.customer_trx_line_id = p_customer_trx_line_id) OR
           (p_request_id IS NOT NULL AND ctl.request_id = p_request_id))
    AND   ctl.customer_trx_id = ct.customer_trx_id
    AND   ctl.customer_trx_line_id = lrc.customer_trx_line_id
    AND   ctl.customer_trx_line_id = il.interface_line_id (+)
    AND NOT EXISTS
      (SELECT 'line already inserted'
       FROM   ar_deferred_lines dl
       WHERE  dl.customer_trx_line_id = lrc.customer_trx_line_id)
    GROUP BY ctl.customer_trx_line_id, ct.org_id;
Line: 2448

  debug('deferred lines inserted: ' || SQL%ROWCOUNT);
Line: 2457

     UPDATE ar_deferred_lines dl
     SET    line_collectible_flag = 'Y'
     WHERE  dl.request_id = p_request_id
     AND NOT EXISTS
     (SELECT 'incomplete contingency'
      FROM   ar_line_conts_all lc
      WHERE  request_id = p_request_id
      AND    lc.customer_trx_line_id = dl.customer_trx_line_id
      AND    lc.completed_flag = 'N');
Line: 2468

      update ar_deferred_lines dl
      set    original_collectibility_flag = 'Y'
      WHERE  dl.request_id  = p_request_id
      and dl.customer_trx_id in
          (SELECT ctl.customer_trx_id /* its a pre-billing contingency */
           FROM   ra_customer_trx_lines_all ctl,
           ar_line_conts_all lrc,
           ar_deferral_reasons dr
           WHERE ctl.customer_trx_line_id = dl.customer_trx_line_id
           and ctl.customer_trx_line_id=lrc.customer_trx_line_id
           and trunc(nvl(lrc.expiration_date,sysdate)) - trunc(sysdate) <= 0
           and dr.contingency_id = lrc.contingency_id
           AND dr.REVREC_EVENT_CODE = 'INVOICING');
Line: 2484

     UPDATE ar_deferred_lines dl
     SET    line_collectible_flag = 'Y'
     WHERE  dl.customer_trx_line_id = p_customer_trx_line_id
     AND NOT EXISTS
     (SELECT 'incomplete contingency'
      FROM   ar_line_conts_all lc
      WHERE  customer_trx_line_id = p_customer_trx_line_id
      AND    lc.customer_trx_line_id = dl.customer_trx_line_id
      AND    lc.completed_flag = 'N');
Line: 2495

      update ar_deferred_lines dl
      set    original_collectibility_flag = 'Y'
      WHERE  dl.customer_trx_line_id = p_customer_trx_line_id
      and dl.customer_trx_id in
          (SELECT ctl.customer_trx_id /* its a pre-billing contingency */
           FROM   ra_customer_trx_lines_all ctl,
           ar_line_conts_all lrc,
           ar_deferral_reasons dr
           WHERE ctl.customer_trx_line_id = dl.customer_trx_line_id
           and ctl.customer_trx_line_id=lrc.customer_trx_line_id
           and trunc(nvl(lrc.expiration_date,sysdate)) - trunc(sysdate) <= 0
           and dr.contingency_id = lrc.contingency_id
           AND dr.REVREC_EVENT_CODE = 'INVOICING');
Line: 2510

  debug('deferred lines updated: ' || SQL%ROWCOUNT);
Line: 2512

  debug('insert_deferred_lines()-');
Line: 2516

      debug('NO_DATA_FOUND: insert_deferred_lines');
Line: 2521

      debug('OTHERS: insert_deferred_lines');
Line: 2525

END insert_deferred_lines;
Line: 2545

  INSERT INTO ar_trx_errors_gt
   (
     trx_header_id,
     trx_line_id,
     trx_contingency_id,
     error_message,
     invalid_value
   )
   SELECT
     lgt.trx_header_id,
     lgt.trx_line_id,
     cgt.trx_contingency_id,
     arp_standard.fnd_message('AR_RVMG_INVALID_CONTINGENCY'),
     cgt.contingency_id
   FROM  ar_trx_lines_gt         lgt,
         ar_trx_header_gt        hgt,
         ar_trx_contingencies_gt cgt
   WHERE lgt.trx_header_id = hgt.trx_header_id
   AND   cgt.trx_line_id = lgt.trx_line_id
   AND NOT EXISTS
   (
     SELECT 'valid lookup code'
     FROM   ar_deferral_reasons l
     WHERE  l.contingency_id = cgt.contingency_id
   );
Line: 2572

  debug('contingency validation errors inserted: ' || l_error_count);
Line: 2586

  INSERT INTO ar_trx_errors_gt
   (
     trx_header_id,
     trx_line_id,
     trx_contingency_id,
     error_message,
     invalid_value
   )
   SELECT
     lgt.trx_header_id,
     lgt.trx_line_id,
     cgt.trx_contingency_id,
     arp_standard.fnd_message('AR_RVMG_NO_EXP_DATE'),
     cgt.contingency_id
   FROM  ar_trx_lines_gt         lgt,
         ar_trx_header_gt        hgt,
         ar_trx_contingencies_gt cgt,
         ar_deferral_reasons     dr
   WHERE lgt.trx_header_id = hgt.trx_header_id
   AND   cgt.trx_line_id = lgt.trx_line_id
   AND   cgt.contingency_id = dr.contingency_id
   AND   cgt.expiration_date IS NOT NULL
   AND   dr.expiration_event_code IS NOT NULL
   AND   NVL(cgt.completed_flag, 'N') = 'N';
Line: 2612

  debug('contingency validation errors inserted: ' || l_error_count);
Line: 2650

  INSERT INTO ra_interface_errors
   (
     interface_line_id,
     interface_contingency_id,
     message_text,
     invalid_value,
     org_id
   )
   SELECT
     l.interface_line_id,
     c.interface_contingency_id,
     arp_standard.fnd_message('AR_RVMG_INVALID_CONTINGENCY'),
     c.contingency_id,
     l.org_id
   FROM  ra_interface_lines l,
         ar_interface_conts c
   WHERE l.request_id = p_request_id
   AND   c.interface_line_id = l.interface_line_id
   AND NOT EXISTS
   (
     SELECT 'valid lookup code'
     FROM   ar_deferral_reasons l
     WHERE  l.contingency_id = c.contingency_id
   );
Line: 2676

  debug('validation errors inserted: ' || l_error_count);
Line: 2690

  INSERT INTO ra_interface_errors
   (
     interface_line_id,
     interface_contingency_id,
     message_text,
     invalid_value,
     org_id
   )
   SELECT
     l.interface_line_id,
     c.interface_contingency_id,
     arp_standard.fnd_message('AR_RVMG_NO_EXP_DATE'),
     c.contingency_id,
     l.org_id
   FROM  ra_interface_lines l,
         ar_interface_conts c,
         ar_deferral_reasons dr
   WHERE l.request_id = p_request_id
   AND   c.interface_line_id = l.interface_line_id
   AND   dr.contingency_id = c.contingency_id
   AND   c.expiration_date IS NOT NULL
   AND   dr.expiration_event_code IS NOT NULL
   AND   NVL(c.completed_flag, 'N') = 'N';
Line: 2715

  debug('contingency validation errors inserted: ' || l_error_count);
Line: 2760

    SELECT c.currency_code,
           c.precision,
           c.minimum_accountable_unit
    FROM   ar_system_parameters sysp,
           gl_sets_of_books sob,
           fnd_currencies c
    WHERE  sob.set_of_books_id = sysp.set_of_books_id
    AND    sob.currency_code   = c.currency_code;
Line: 2807

PROCEDURE update_deferred_lines (
  p_customer_trx_id 		NUMBER	  DEFAULT NULL,
  p_customer_trx_line_id 	NUMBER    DEFAULT NULL,
  p_line_status 		NUMBER    DEFAULT NULL,
  p_manual_override 		VARCHAR2  DEFAULT NULL,
  p_amount_recognized  		NUMBER    DEFAULT NULL,
  p_acctd_amount_recognized  	NUMBER    DEFAULT NULL,
  p_amount_pending  		NUMBER    DEFAULT NULL,
  p_acctd_amount_pending  	NUMBER    DEFAULT NULL) IS

  l_sysdate               DATE;
Line: 2818

  l_last_updated_by       NUMBER;
Line: 2819

  l_last_update_login     NUMBER;
Line: 2830

     debug('update_deferred_lines()+');
Line: 2831

     debug('** update_deferred_lines parameters **');
Line: 2838

  l_last_updated_by   := arp_global.user_id;
Line: 2839

  l_last_update_login := arp_global.last_update_login;
Line: 2851

    UPDATE ar_deferred_lines
    SET line_collectible_flag 	  = nvl(l_line_collectible,
                                        line_collectible_flag),
        manual_override_flag   	  = nvl(p_manual_override,
                                        manual_override_flag),
        last_updated_by           = l_last_updated_by,
        last_update_date 	  = l_sysdate,
        last_update_login         = l_last_update_login
    WHERE customer_trx_id 	  = p_customer_trx_id;
Line: 2867

    UPDATE ar_deferred_lines
    SET line_collectible_flag 	  = nvl(l_line_collectible,
                                        line_collectible_flag),
        manual_override_flag   	  = nvl(p_manual_override,
                                        manual_override_flag),
        amount_recognized         = nvl(p_amount_recognized,
                                        amount_recognized),
        acctd_amount_recognized   = nvl(p_acctd_amount_recognized,
                                        acctd_amount_recognized),
        amount_pending      	  = nvl(p_amount_pending, amount_pending),
        acctd_amount_pending      = nvl(p_acctd_amount_pending,
                                        acctd_amount_pending),
        last_updated_by           = l_last_updated_by,
        last_update_date 	  = l_sysdate,
        last_update_login         = l_last_update_login
    WHERE customer_trx_line_id 	  = p_customer_trx_line_id;
Line: 2887

     debug('update_deferred_lines()-');
Line: 2894

       debug('NO_DATA_FOUND: update_deferred_lines');
Line: 2901

       debug('OTHERS: update_deferred_lines');
Line: 2906

END update_deferred_lines;
Line: 2916

    SELECT 1
    FROM   ra_customer_trx rctl
    WHERE  rctl.customer_trx_id = p_customer_trx_id
    AND    invoicing_rule_id IS NOT NULL;
Line: 2972

    SELECT 1
    FROM   ra_cust_trx_line_gl_dist
    WHERE  customer_trx_id = p_customer_trx_id
    AND    account_set_flag = 'N'
    AND    rownum = 1;
Line: 3029

    SELECT 1
    FROM   ar_deferred_lines
    WHERE  customer_trx_id       = p_customer_trx_id
    AND    manual_override_flag  = 'N'
    AND    line_collectible_flag = 'N';
Line: 3121

    update_deferred_lines (
      p_customer_trx_id	=> p_customer_trx_id,
      p_manual_override	=> 'Y');
Line: 3131

    update_deferred_lines (
      p_customer_trx_line_id 	=> p_customer_trx_line_id,
      p_manual_override		=> 'Y');
Line: 3160

PROCEDURE update_for_event (
  p_cust_trx_line_id    IN  NUMBER,
  p_event_date		IN  DATE,
  p_event_code          IN  VARCHAR2) IS

  l_user_id NUMBER;
Line: 3173

    SELECT dr.contingency_id, revrec_event_code, expiration_event_code
    FROM   ar_line_conts lc,
           ar_deferral_reasons dr
    WHERE  lc.contingency_id = dr.contingency_id
    AND    lc.customer_trx_line_id = p_cust_trx_line_id
    AND    (dr.revrec_event_code = p_event_code OR
            dr.expiration_event_code = p_event_code);
Line: 3184

    debug('update_for_event()+');
Line: 3185

    debug('** update_for_event parameters **');
Line: 3223

      UPDATE ar_line_conts
      SET    expiration_date     =
               DECODE(cont_rec.expiration_event_code, p_event_code,
                   NVL(p_event_date + expiration_days,expiration_date),
                   expiration_date),
             expiration_event_date =
               DECODE(cont_rec.expiration_event_code, p_event_code,
                   NVL(p_event_date,
                     NVL(expiration_date - expiration_days,
                        expiration_date))),
             completed_flag      =
               DECODE(cont_rec.revrec_event_code, p_event_code,'Y',
                   completed_flag),
             completed_by        =
               DECODE(cont_rec.revrec_event_code, p_event_code,
                   fnd_global.user_id, completed_by),
             reason_removal_date =
               DECODE(cont_rec.revrec_event_code, p_event_code,
                   sysdate, reason_removal_date),
             last_updated_by     = l_user_id,
             last_update_date    = sysdate,
             last_update_login   = l_user_id
      WHERE customer_trx_line_id = p_cust_trx_line_id
      AND   contingency_id       = cont_rec.contingency_id;
Line: 3251

     debug('update_for_event()-');
Line: 3258

       debug('NO_DATA_FOUND: update_for_event');
Line: 3265

       debug('OTHERS: update_for_event');
Line: 3270

END update_for_event;
Line: 3446

      UPDATE ar_deferred_lines
      SET amount_recognized       = amount_recognized + p_delta_amount -
                                    l_rev_adj_rec.amount +
                                    l_adjustable_amount,
          acctd_amount_recognized = acctd_amount_recognized + p_acctd_delta_amount -
                                    p_acctd_amount +
                                    l_acctd_adjustable_amount
      WHERE customer_trx_line_id  = p_customer_trx_line_id;
Line: 3572

    SELECT party_id
    FROM hz_cust_accounts
    WHERE cust_account_id = p_customer_account_id;
Line: 3578

    SELECT credit_classification
    FROM   hz_customer_profiles
    WHERE  party_id = p_party_id
    AND    cust_account_id = p_account_id
    AND    site_use_id = p_site_use_id;
Line: 3586

    SELECT credit_classification
    FROM   hz_customer_profiles
    WHERE  party_id = p_party_id
    AND    cust_account_id = p_account_id
    AND    site_use_id IS NULL;
Line: 3594

    SELECT credit_classification
    FROM   hz_customer_profiles
    WHERE  party_id = p_party_id
    AND    cust_account_id = -1;
Line: 3601

    SELECT parent_id
    FROM hz_hierarchy_nodes
    WHERE child_id = p_child_id
    AND parent_table_name = 'HZ_PARTIES'
    AND parent_object_type = 'ORGANIZATION'
    AND hierarchy_type = 'CREDIT'
    AND level_number > 0
    AND effective_start_date <= trunc(sysdate)
    AND effective_end_date   >= trunc(sysdate);
Line: 3614

    SELECT credit_classification
    FROM hz_customer_profiles
    WHERE party_id = p_party_id
    AND   cust_account_id = -1
    AND   site_use_id IS NULL;
Line: 3790

    SELECT sum(amount_recognized) + sum(amount_pending)
    FROM   ar_deferred_lines
    WHERE  customer_trx_id = p_customer_trx_id;
Line: 3844

    SELECT sum(acctd_amount_recognized) + sum(acctd_amount_pending)
    FROM   ar_deferred_lines
    WHERE  customer_trx_id = p_customer_trx_id;
Line: 4122

    SELECT applied_customer_trx_id,
           acctd_amount_applied_to,
           tax_applied,
           receivables_charges_applied,
           line_applied,
           freight_applied,
           gl_date
    FROM   ar_receivable_applications
    WHERE receivable_application_id = p_receivable_application_id;
Line: 4136

    SELECT invoice_currency_code,
           exchange_rate
    FROM   ra_customer_trx
    WHERE  customer_trx_id = p_trx_id;
Line: 4238

    SELECT lc.customer_trx_line_id,
           lc.contingency_id,
           lc.expiration_date
    FROM   ar_line_conts lc,
           ar_deferral_reasons dr
    WHERE  lc.customer_trx_line_id = p_customer_trx_line_id
    AND    lc.contingency_id = dr.contingency_id
    AND    lc.completed_flag = 'N'
    AND    lc.expiration_date IS NOT NULL
    AND    trunc(lc.expiration_date) <= trunc(sysdate);
Line: 4253

  l_last_updated_by       NUMBER;
Line: 4254

  l_last_update_login     NUMBER;
Line: 4261

  l_last_updated_by   := fnd_global.user_id;
Line: 4262

  l_last_update_login := fnd_global.user_id;
Line: 4275

    UPDATE ar_line_conts
    SET    completed_flag      = 'Y',
           reason_removal_date = sysdate,
           last_updated_by     = l_last_updated_by,
           last_update_date    = sysdate,
           last_update_login   = l_last_update_login
    WHERE  customer_trx_line_id = l_cust_trx_line_id_tbl(i)
    AND    contingency_id       = l_contingency_id_tbl(i);
Line: 4298

    SELECT 1
    FROM   ar_line_conts lc,
           ar_deferral_reasons dr
    WHERE  lc.contingency_id = dr.contingency_id
    AND    lc.customer_trx_line_id = p_cust_trx_line_id
    AND    lc.completed_flag = 'N'
    AND    dr.revrec_event_code = 'RECEIPT_APPLICATION';
Line: 4308

    SELECT 1
    FROM   ar_line_conts lc,
           ar_deferral_reasons dr
    WHERE  lc.contingency_id = dr.contingency_id
    AND    lc.customer_trx_line_id = p_cust_trx_line_id
    AND    lc.completed_flag = 'N'
    AND    dr.revrec_event_code <> 'RECEIPT_APPLICATION';
Line: 4378

 | PUBLIC PROCEDURE update_line_conts
 |
 | DESCRIPTION
 |   This procedures lets calling programs update contingencies
 |
 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
 |   RAM Wizard
 |
 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
 |   None.
 |
 | PARAMETERS
 |   None.
 |
 | NOTES
 |   None.
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 28-APR-2005           ORASHID           Subroutine Created
 | 29-JUN-2006           MRAYMOND     5201842 - Fixed expiration_event_date
 |                                      to use correct parameter.
 *===========================================================================*/

PROCEDURE update_line_conts (
  p_customer_trx_line_id   NUMBER,
  p_contingency_id         NUMBER,
  p_expiration_date        DATE      DEFAULT NULL,
  p_expiration_event_date  DATE      DEFAULT NULL,
  p_expiration_days        NUMBER    DEFAULT NULL,
  p_completed_flag         VARCHAR2  DEFAULT NULL,
  p_reason_removal_date    DATE      DEFAULT NULL) IS

  l_sysdate               DATE;
Line: 4412

  l_last_updated_by       NUMBER;
Line: 4413

  l_last_update_login     NUMBER;
Line: 4424

     debug('update_line_conts()+');
Line: 4433

  l_last_updated_by   := arp_global.user_id;
Line: 4434

  l_last_update_login := arp_global.last_update_login;
Line: 4436

  UPDATE ar_line_conts
  SET expiration_date = nvl(p_expiration_date, expiration_date),
      expiration_event_date = nvl(p_expiration_event_date, expiration_event_date),
      expiration_days = nvl(p_expiration_days, expiration_days),
      completed_flag  = nvl(p_completed_flag, completed_flag),
      reason_removal_date    = nvl(p_reason_removal_date, reason_removal_date),
      last_updated_by        = l_last_updated_by,
      last_update_date 	     = l_sysdate,
      last_update_login      = l_last_update_login
  WHERE customer_trx_line_id = p_customer_trx_line_id
  AND  contingency_id = p_contingency_id;
Line: 4449

     debug('update_line_conts()-');
Line: 4456

       debug('NO_DATA_FOUND: update_line_conts');
Line: 4463

       debug('OTHERS: update_line_conts');
Line: 4468

END update_line_conts;
Line: 4472

 | PUBLIC PROCEDURE delete_line_conts
 |
 | DESCRIPTION
 |   This procedures lets calling programs delete contingencies
 |
 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
 |   RAM Wizard
 |
 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
 |   None.
 |
 | PARAMETERS
 |   None.
 |
 | NOTES
 |   None.
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 18-MAY-2005           ORASHID           Subroutine Created
 |
 *===========================================================================*/

PROCEDURE delete_line_conts (
  p_customer_trx_line_id   NUMBER,
  p_contingency_id         NUMBER) IS

BEGIN

  -- This procedure simply deletes a row of data in the
  -- ar_deferred_lines table. It will only delete columns
  -- for which data is provided, the rest will retain their
  -- original values.

  IF pg_debug IN ('Y', 'C') THEN
     debug('delete_line_conts()+');
Line: 4508

     debug('** delete_line_conts parameters **');
Line: 4515

  DELETE
  FROM  ar_line_conts
  WHERE customer_trx_line_id = p_customer_trx_line_id
  AND   contingency_id = p_contingency_id;
Line: 4521

     debug('delete_line_conts()-');
Line: 4528

       debug('NO_DATA_FOUND: delete_line_conts');
Line: 4535

       debug('OTHERS: delete_line_conts');
Line: 4540

END delete_line_conts;
Line: 4647

    SELECT line_collectible_flag
    FROM   ar_deferred_lines
    WHERE  customer_trx_id = p_customer_trx_id
    AND    customer_trx_line_id = p_customer_trx_line_id;
Line: 4737

    SELECT 1
    FROM   ar_deferred_lines
    WHERE  customer_trx_id = p_customer_trx_id
    AND    original_collectibility_flag = 'N'
    AND    manual_override_flag = 'N'
    AND    rownum = 1;
Line: 4746

     SELECT 'its a pre-billing contingency'
           FROM   ra_customer_trx_lines_all ctl,
           ar_line_conts_all lrc,
           ar_deferral_reasons dr
           WHERE ctl.customer_trx_id = p_customer_trx_id
           and ctl.customer_trx_line_id=lrc.customer_trx_line_id
           and trunc(nvl(lrc.expiration_date,sysdate)) - trunc(sysdate) <= 0
           and dr.contingency_id = lrc.contingency_id
           AND dr.REVREC_EVENT_CODE = 'INVOICING' ;
Line: 4781

        Update ar_deferred_lines dl
        set    original_collectibility_flag = 'Y'
        WHERE  dl.customer_trx_id = p_customer_trx_id;
Line: 4813

 | PUBLIC PROCEDURE delete_failed_rows
 |
 | DESCRIPTION
 |
 |   This procedure deletes rows from the revenue management tables for
 |   a failed auto invoice run.
 |
 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
 |   Auto Invoice.
 |
 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
 |   None.
 |
 | PARAMETERS
 |   p_request_id
 |
 | NOTES
 |   None.
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 24-SEP-2002           ORASHID           Subroutine Created
 |
 *===========================================================================*/

PROCEDURE delete_failed_rows (p_request_id IN NUMBER) IS

BEGIN

  IF pg_debug IN ('Y', 'C') THEN
     debug('ar_revenue_management_pvt.delete_failed_rows()+');
Line: 4844

     debug('** delete_failed_rows parameters **');
Line: 4848

  DELETE FROM ar_deferred_lines
  WHERE request_id = p_request_id;
Line: 4851

  DELETE FROM ar_line_conts
  WHERE request_id = p_request_id;
Line: 4855

     debug('ar_revenue_management_pvt.delete_failed_rows()-');
Line: 4862

       debug('NO_DATA_FOUND: delete_failed_rows');
Line: 4869

       debug('OTHERS: delete_failed_rows');
Line: 4874

END delete_failed_rows;
Line: 4878

 | PUBLIC PROCEDURE delete_rejected_rows
 |
 | DESCRIPTION
 |
 |   This procedure deletes rows those are rejected by auto invoice
 |   from the revenue management tables.
 |
 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
 |   Auto Invoice.
 |
 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
 |   None.
 |
 | PARAMETERS
 |   p_request_id
 |
 | NOTES
 |   None.
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 23-OCT-2002           ORASHID           Subroutine Created
 | 06-APR-2004           MRAYMOND          Modified sql to remove all
 |                                         rows for a specific transaction
 |                                         when any one is in error.
 *===========================================================================*/

PROCEDURE delete_rejected_rows (p_request_id IN NUMBER) IS

BEGIN

  debug('ar_revenue_management_pvt.delete_rejected_rows()+');
Line: 4910

  debug('** delete_rejected_rows parameters **');
Line: 4924

  DELETE
  FROM    ar_line_conts
  WHERE   customer_trx_line_id IN
  (
    SELECT  customer_trx_line_id
    FROM    ar_deferred_lines
    WHERE   customer_trx_id IN
    (
      SELECT DISTINCT il.customer_trx_id
      FROM   ra_interface_errors ie,
             ra_interface_lines  il
      WHERE  ie.interface_line_id = il.interface_line_id
      AND    il.request_id = p_request_id
    )
  );
Line: 4940

  debug('contingencies deleted : ' || SQL%ROWCOUNT);
Line: 4944

  DELETE
  FROM  ar_deferred_lines
  WHERE customer_trx_id IN
  (
    SELECT DISTINCT il.customer_trx_id
    FROM   ra_interface_errors ie,
           ra_interface_lines  il
    WHERE  ie.interface_line_id = il.interface_line_id
    AND    il.request_id = p_request_id
  );
Line: 4955

  debug('lines deleted : ' || SQL%ROWCOUNT);
Line: 4956

  debug('ar_revenue_management_pvt.delete_rejected_rows()-');
Line: 4961

    debug('NO_DATA_FOUND: delete_rejected_rows');
Line: 4966

    debug('OTHERS: delete_rejected_rows');
Line: 4970

END delete_rejected_rows;
Line: 5012

    SELECT 1
    FROM   ar_deferred_lines  dl,
           ar_line_conts      lc,
           ar_deferral_reasons  dl
    WHERE  dl.customer_trx_line_id = lc.customer_trx_line_id
    AND    lc.contingency_id = dl.contingency_id
    AND    lc.completed_flag = 'N'
    AND    dl.customer_trx_id  = p_customer_trx_id
    AND    dl.customer_trx_line_id = nvl(p_customer_trx_line_id,
                                         dl.customer_trx_line_id)
    AND    dl.revrec_event_code = 'CUSTOMER_ACCEPTANCE';
Line: 5125

    SELECT 1
    FROM   ar_deferred_lines   dl,
           ar_line_conts       lc,
           ar_deferral_reasons dr
    WHERE  dl.customer_trx_line_id = lc.customer_trx_line_id
    AND    lc.contingency_id     = dr.contingency_id
    AND    lc.completed_flag       = 'N'
    AND    dr.revrec_event_code     = 'RECEIPT_APPLICATION'
    AND    dl.customer_trx_id      = p_customer_trx_id;
Line: 5227

    SELECT customer_trx_id,
           amount_due_original,
           acctd_amount_due_original,
      	   amount_recognized,
      	   acctd_amount_recognized,
      	   amount_pending,
      	   acctd_amount_pending
    FROM   ar_deferred_lines
    WHERE  customer_trx_line_id = p_cust_trx_line_id;
Line: 5243

  update_for_event(
    p_cust_trx_line_id => p_cust_trx_line_id,
    p_event_date       => p_event_date,
    p_event_code       => p_event_code);
Line: 5277

    l_rev_adj_rec.line_selection_mode   := 'S';
Line: 5302

    update_deferred_lines (
      p_customer_trx_line_id 	=> p_cust_trx_line_id,
      p_line_status 		=> l_line_status,
      p_amount_recognized	=> l_amount_due_original,
      p_acctd_amount_recognized => l_acctd_amount_due_orig,
      p_amount_pending		=> 0,
      p_acctd_amount_pending	=> 0);
Line: 5331

        l_rev_adj_rec.line_selection_mode   := 'S';
Line: 5354

      update_deferred_lines (
        p_customer_trx_line_id 	  => p_cust_trx_line_id,
        p_line_status 	  	  => l_line_status,
        p_amount_recognized	  => l_amount_pending,
        p_acctd_amount_recognized => l_acctd_amount_pending,
        p_amount_pending	  => 0,
        p_acctd_amount_pending	  => 0);
Line: 5384

 |   update_deferred_lines
 |
 | PARAMETERS
 |   p_mode
 |   p_customer_trx_id
 |   p_customer_trx_line_id
 |   p_gl_date
 |   p_comments
 |   p_ram_desc_flexfield
 |
 | NOTES
 |   This procedure will be called for any RAM adjustments done any where in
 |   the system.  A new field has been added to RAM record structure called
 |   source.  If the source is not this package
 |   (c_source_revenue_management_source) then a call will be placed here
 |   to indicate manual override.
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 26-JUL-2002           ORASHID           Subroutine Created
 | 26-APR-2006           MRAYMOND       5043785 - Added logic to prevent
 |                                        child insert and OM call when
 |                                        acceptance contingency is not
 |                                        sourced from OM
 |
 *=======================================================================*/

PROCEDURE revenue_synchronizer (
  p_mode 			IN  NUMBER,
  p_customer_trx_id 		IN  NUMBER,
  p_customer_trx_line_id 	IN  NUMBER,
  p_gl_date			IN  DATE,
  p_comments			IN  VARCHAR2,
  p_ram_desc_flexfield          IN  desc_flexfield,
  x_scenario 			OUT NOCOPY NUMBER,
  x_first_adjustment_number 	OUT NOCOPY NUMBER,
  x_last_adjustment_number 	OUT NOCOPY NUMBER,
  x_return_status               OUT NOCOPY VARCHAR2,
  x_msg_count                   OUT NOCOPY NUMBER,
  x_msg_data                    OUT NOCOPY VARCHAR2) IS


 /*-----------------------------------------------------------------------+
  | Cursor Declarations                                                   |
  +-----------------------------------------------------------------------*/

  -- This cursor retrieves all the valid rows from the revenue
  -- management tables.

  CURSOR rev_lines IS
    SELECT customer_trx_line_id,
           customer_trx_id,
           amount_due_original,
           acctd_amount_due_original,
      	   amount_recognized,
      	   acctd_amount_recognized,
      	   amount_pending,
      	   acctd_amount_pending
    FROM   ar_reviewed_lines_gt
    WHERE  request_id = nvl(p_customer_trx_line_id, -- 7328069
                        nvl(p_customer_trx_id,
                        request_id));
Line: 5542

        p_mode                 => 'UPDATE');
Line: 5561

      lr_customer_trx_line_id_tbl.delete;
Line: 5562

      lr_customer_trx_id_tbl.delete;
Line: 5563

      lr_amount_due_original_tbl.delete;
Line: 5564

      lr_acctd_amount_due_orig_tbl.delete;
Line: 5565

      lr_amount_recognized_tbl.delete;
Line: 5566

      lr_acctd_amt_recognized_tbl.delete;
Line: 5567

      lr_amount_pending_tbl.delete;
Line: 5568

      lr_acctd_amount_pending_tbl.delete;
Line: 5605

          update_for_event(
            p_cust_trx_line_id => lr_customer_trx_line_id_tbl(i),
            p_event_date       => sysdate,
            p_event_code       => 'CUSTOMER_ACCEPTANCE');
Line: 5634

          l_rev_adj_rec.line_selection_mode   := 'S';
Line: 5661

          update_deferred_lines (
            p_customer_trx_line_id 	=> lr_customer_trx_line_id_tbl(i),
            p_line_status 		=> l_line_status,
            p_amount_recognized		=> lr_amount_due_original_tbl(i),
            p_acctd_amount_recognized 	=> lr_acctd_amount_due_orig_tbl(i),
            p_amount_pending		=> 0,
            p_acctd_amount_pending	=> 0);
Line: 5702

            l_rev_adj_rec.line_selection_mode   := 'S';
Line: 5754

          update_deferred_lines (
            p_customer_trx_line_id 	=> lr_customer_trx_line_id_tbl(i),
            p_line_status 	  	=> l_line_status,
            p_amount_recognized	  	=> lr_amount_pending_tbl(i),
            p_acctd_amount_recognized   => lr_acctd_amount_pending_tbl(i),
            p_amount_pending	        => 0,
            p_acctd_amount_pending	=> 0);
Line: 5884

 |   update_deferred_lines
 |
 | PARAMETERS
 |   None.
 |
 | NOTES
 |   Note that creditworthiness of a customer will be never be checked again.
 |   This function only checks for expiration.
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 26-JUL-2002           ORASHID           Subroutine Created
 |
 | 31-OCT-2005           APANDIT           Enabling this conc program to
 |                                         be run as multi-org
 | 03-FEB-2006  	 JBECKETT  	   Bug 4757939 - Added org_id parameter
 *=======================================================================*/

PROCEDURE periodic_sweeper (
  errbuf   OUT NOCOPY VARCHAR2,
  retcode  OUT NOCOPY VARCHAR2,
  p_org_id IN NUMBER) IS

 /*-----------------------------------------------------------------------+
  | Cursor Declarations                                                   |
  +-----------------------------------------------------------------------*/

  -- This cursor retrieves all the lines which are contingency based
  CURSOR expiring_lines (p_request_id NUMBER) IS
    SELECT customer_trx_line_id,
           MAX(customer_trx_id),
           MAX(amount_due_original),
           MAX(acctd_amount_due_original),
      	   MAX(amount_recognized),
      	   MAX(acctd_amount_recognized),
      	   MAX(amount_pending),
      	   MAX(acctd_amount_pending),
           MAX(expiration_date)
    FROM   ar_reviewed_lines_gt
    WHERE  request_id = p_request_id
    GROUP  BY customer_trx_line_id;
Line: 5928

  SELECT org_id FROM ar_system_parameters
  WHERE  org_id = NVL(p_org_id,org_id);
Line: 5980

     Delete the data in the global temporary tables */
  delete from ar_rdr_parameters_gt;
Line: 5982

  delete from ar_trx_errors_gt;
Line: 5983

  delete from ar_trx_header_gt;
Line: 5984

  delete from ar_trx_lines_gt;
Line: 5985

  delete from ar_reviewed_lines_gt;
Line: 5986

  delete from fun_rule_bulk_result_gt;
Line: 5987

  delete from ar_trx_contingencies_gt;
Line: 6010

    lr_customer_trx_line_id_tbl.delete;
Line: 6011

    lr_customer_trx_id_tbl.delete;
Line: 6012

    lr_amount_due_original_tbl.delete;
Line: 6013

    lr_acctd_amount_due_orig_tbl.delete;
Line: 6014

    lr_amount_recognized_tbl.delete;
Line: 6015

    lr_acctd_amt_recognized_tbl.delete;
Line: 6016

    lr_amount_pending_tbl.delete;
Line: 6017

    lr_acctd_amount_pending_tbl.delete;
Line: 6018

    lr_expiration_date_tbl.delete;
Line: 6066

      l_rev_adj_rec.line_selection_mode   := 'S';
Line: 6123

		   select trx_number
		   into   l_trx_number
		   from   ra_customer_trx
		   where  customer_trx_id = lr_customer_trx_id_tbl(i);
Line: 6186

		   select trx_number
		   into   l_trx_number
		   from   ra_customer_trx
		   where  customer_trx_id = lr_customer_trx_id_tbl(i);
Line: 6204

      debug('update rvmg table');
Line: 6206

      update_deferred_lines (
        p_customer_trx_line_id 	  => lr_customer_trx_line_id_tbl(i),
        p_line_status   	  => l_line_status,
        p_amount_recognized  	  => lr_amount_recognized_tbl(i),
        p_acctd_amount_recognized => lr_acctd_amt_recognized_tbl(i),
        p_amount_pending  	  => lr_amount_pending_tbl(i),
        p_acctd_amount_pending    => lr_acctd_amount_pending_tbl(i));
Line: 6296

 |   update_deferred_lines
 |   adjust_revenue
 |
 | PARAMETERS
 |
 |   p_mode
 |   p_customer_trx_id
 |   p_acctd_amount_applied
 |   p_exchange_rate
 |   p_invoice_currency_code
 |   p_tax_applied
 |   p_charges_applied
 |   p_freight_applied
 |   p_line_applied
 |   p_receivable_application_id
 |
 | KNOWN ISSUES
 |   Enter business functionality which was de-scoped as part of the
 |   implementation. Ideally this should never be used.
 |
 | NOTES
 |   The receipt analyzer does a variety of things depending on what
 |   is the scenation it is handling.  Below, I give a matrix of what
 |   it does for future use.
 |
 |    SCENARIO		  	ACTION
 |
 |    Cash Based         	Recognize Up To The Receipt Amount
 |    Combination               Put In The Pending Column Up to The
 |                              Receipt Amount
 |    Contingency Based         No action, it will be recognized by the
 |                              Peridioc Sweeper.
 |    Recognize                 Recognize Fully.
 |
 |    Let me try to give the functional reasoning behind each one of the
 |    scenario above.  The first case is where only problem is a credit
 |    problem and/or payment term problem.  In both cases, the we are
 |    doubtfult that we may not collect money for it.  So, when money
 |    arrives, we can immediately recognize it.
 |
 |    In the second scneario, it is the very similar to the first one
 |    however, there may be a non-standard refund clause so we can not
 |    recognize any revenue until that has expired.  At the same time,
 |    we do not lose track of this receipt. So, we put in pending, and
 |    as soon as the expiration happens this pending amount will be
 |    recognized.
 |
 |    Third scenario is the simplest, we do not do anything.  Simply because
 |    when all expire the periodic sweeper is smart enough to recognize the
 |    entire amount.
 |
 |    The fourth scenario happens when intially there was a non-standard
 |    refund policy for this line. And just before this receipt arrived,
 |    this expired, so now we should do the periodc sweeper's job and
 |    recognize all revenue.
 |
 |
 | MODIFICATION HISTORY
 | Date                  Author            Description of Changes
 | 26-JUL-2002           ORASHID           Subroutine Created
 |
 *=======================================================================*/

PROCEDURE receipt_analyzer (
  p_mode 			IN  VARCHAR2 DEFAULT NULL,
  p_customer_trx_id 		IN  NUMBER   DEFAULT NULL,
  p_acctd_amount_applied        IN  NUMBER   DEFAULT NULL,
  p_exchange_rate		IN  NUMBER   DEFAULT NULL,
  p_invoice_currency_code       IN  VARCHAR2 DEFAULT NULL,
  p_tax_applied			IN  NUMBER   DEFAULT NULL,
  p_charges_applied		IN  NUMBER   DEFAULT NULL,
  p_freight_applied		IN  NUMBER   DEFAULT NULL,
  p_line_applied 		IN  NUMBER   DEFAULT NULL,
  p_receivable_application_id   IN  NUMBER   DEFAULT NULL,
  p_gl_date                     IN  DATE     DEFAULT NULL) IS

 /*-----------------------------------------------------------------------+
  | Cursor Declarations                                                   |
  +-----------------------------------------------------------------------*/

  -- This cursor retrieves all the deferred lines
  /* 9320279 - added CM amounts to cursor */
  CURSOR rev_lines (p_trx_id NUMBER) IS
    SELECT adl.customer_trx_line_id,
           adl.customer_trx_id,
           adl.line_collectible_flag,
           adl.amount_due_original,
           adl.acctd_amount_due_original,
      	   adl.amount_recognized,
      	   adl.acctd_amount_recognized,
      	   adl.amount_pending,
      	   adl.acctd_amount_pending,
           SUM(NVL(gld.amount,0)), SUM(NVL(gld.acctd_amount,0)),
           SUM(decode(ctrl.customer_trx_id, NULL, 0, 1))
    FROM   ar_deferred_lines adl,
           ra_customer_trx_lines ctrl,
           ra_cust_trx_line_gl_dist gld
    WHERE  adl.customer_trx_id = p_trx_id
    AND    adl.customer_trx_id = ctrl.previous_customer_trx_id (+)
    AND    adl.customer_trx_line_id = ctrl.previous_customer_trx_line_id (+)
    AND    ctrl.customer_trx_line_id = gld.customer_trx_line_id (+)
    GROUP BY adl.customer_trx_line_id, adl.customer_trx_id,
             adl.line_collectible_flag, adl.amount_due_original,
             adl.acctd_amount_due_original, adl.amount_recognized,
             adl.acctd_amount_recognized, adl.amount_pending,
             adl.acctd_amount_pending;
Line: 6406

    SELECT sum(amount_due_original),
           sum(acctd_amount_due_original)
    FROM   ar_deferred_lines
    WHERE  customer_trx_id = p_trx_id;
Line: 6413

    SELECT sum(nvl(amount,0)), sum(nvl(acctd_amount,0))
    FROM   ra_cust_trx_line_gl_dist gld,
           ra_customer_trx ctrx
    WHERE  ctrx.previous_customer_trx_id = p_trx_id
    AND    ctrx.customer_trx_id = gld.customer_trx_id
    AND    account_class in ('REV','UNEARN');
Line: 6423

    SELECT nvl(allow_overapplication_flag,'N')
    FROM   ra_cust_trx_types rtt, ra_customer_trx trx
    WHERE  customer_trx_id = p_trx_id
    AND    trx.cust_trx_type_id = rtt.cust_trx_type_id;
Line: 6678

    lr_customer_trx_line_id_tbl.delete;
Line: 6679

    lr_customer_trx_id_tbl.delete;
Line: 6680

    lr_line_collectible_tbl.delete;
Line: 6681

    lr_amount_due_original_tbl.delete;
Line: 6682

    lr_acctd_amount_due_orig_tbl.delete;
Line: 6683

    lr_amount_recognized_tbl.delete;
Line: 6684

    lr_acctd_amt_recognized_tbl.delete;
Line: 6685

    lr_amount_pending_tbl.delete;
Line: 6686

    lr_acctd_amount_pending_tbl.delete;
Line: 6687

    lr_cm_amount_tbl.delete;
Line: 6688

    lr_cm_acctd_amount_tbl.delete;
Line: 6689

    lr_cm_exists_tbl.delete;
Line: 6849

      l_rev_adj_rec.line_selection_mode := 'S';
Line: 6867

        update_deferred_lines (
          p_customer_trx_line_id    => lr_customer_trx_line_id_tbl(i),
          p_line_status 	    => l_line_status,
          p_amount_recognized       => l_amount_adjusted,
          p_acctd_amount_recognized => l_acctd_amount_adjusted,
          p_amount_pending	    => 0,
          p_acctd_amount_pending    => 0);
Line: 6932

        update_deferred_lines (
          p_customer_trx_line_id    => lr_customer_trx_line_id_tbl(i),
          p_line_status  	    => l_line_status,
          p_amount_recognized       => l_amount_adjusted,
          p_acctd_amount_recognized => l_acctd_amount_adjusted,
          p_amount_pending	    => 0,
          p_acctd_amount_pending    => 0);
Line: 7028

        update_deferred_lines (
          p_customer_trx_line_id    => lr_customer_trx_line_id_tbl(i),
          p_line_status 	    => l_line_status,
          p_amount_recognized       => l_amount_adjusted,
          p_acctd_amount_recognized => l_acctd_amount_adjusted);
Line: 7083

        update_deferred_lines (
          p_customer_trx_line_id    => lr_customer_trx_line_id_tbl(i),
          p_amount_pending          => l_amount_adjusted,
          p_acctd_amount_pending    => l_acctd_amount_adjusted);
Line: 7119

        update_deferred_lines (
          p_customer_trx_line_id    => lr_customer_trx_line_id_tbl(i),
          p_amount_pending          => l_amount_adjusted,
          p_acctd_amount_pending    => l_acctd_amount_adjusted);
Line: 7201

    SELECT ara.rowid,
           ara.applied_customer_trx_id,
           ara.acctd_amount_applied_to,
           ara.tax_applied,
           ara.receivables_charges_applied,
           ara.line_applied,
           ara.freight_applied,
           rct.invoice_currency_code,
           rct.exchange_rate,
           ara.gl_date
    FROM   ar_receivable_applications ara,
           ra_customer_trx rct
    WHERE  ara.request_id = p_request_id
    AND    ara.applied_customer_trx_id = rct.customer_trx_id;
Line: 7241

    l_rowid_tbl.delete;
Line: 7428

    SELECT  ctl.customer_trx_line_id,
            decode(lrs.line_collectible_flag, NULL, 1, 'Y', 1, 'N', 0) verdict
    FROM    ra_customer_trx_lines ctl,
            ar_deferred_lines lrs
    WHERE   ((p_request_id IS NULL AND
              p_customer_trx_line_id IS NOT NULL AND
              ctl.customer_trx_line_id = p_customer_trx_line_id) OR
             (p_request_id IS NOT NULL AND
              ctl.request_id = p_request_id))
    AND     ctl.line_type = 'LINE'
    AND     ctl.customer_trx_line_id = lrs.customer_trx_line_id (+)
    ORDER BY ctl.customer_trx_line_id;
Line: 7467

       insert_contingencies_from_gt(p_request_id => p_request_id);
Line: 7469

       insert_contingencies_from_itf(p_request_id => p_request_id);
Line: 7474

     debug('contingency rows inserted: ' || SQL%ROWCOUNT);
Line: 7480

  delete_unwanted_contingencies (p_request_id => p_request_id
				,p_customer_trx_line_id => p_customer_trx_line_id);
Line: 7486

  insert_deferred_lines (p_request_id => p_request_id
			,p_customer_trx_line_id => p_customer_trx_line_id);
Line: 7489

  debug('deferred rows inserted: ' || SQL%ROWCOUNT);