DBA Data[Home] [Help]

APPS.AP_ACCTG_PAY_DIST_PKG SQL Statements

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

Line: 34

PROCEDURE Update_Gain_Loss_Ind
     (P_XLA_Event_Rec      IN   ap_accounting_pay_pkg.r_xla_event_info
     ,P_Pay_Hist_Rec       IN   ap_accounting_pay_pkg.r_pay_hist_info
     ,P_Calling_Sequence   IN   VARCHAR2
     ) IS

  l_curr_calling_sequence    VARCHAR2(2000);
Line: 45

  l_procedure_name CONSTANT VARCHAR2(30) := 'Update_Gain_Loss_Ind';
Line: 49

      SELECT SUM( NVL( aphd.paid_base_amount, 0 ) ) inv_pay_amt
           , SUM( NVL( aphd.invoice_dist_base_amount, 0 ) ) inv_amt
           , SUM( NVL( aphd.cleared_base_amount, 0 ) ) inv_clr_amt
           , SUM( NVL( aphd.matured_base_amount, 0 ) ) inv_mat_amt
           , aid.invoice_id
        FROM ap_invoice_distributions_all aid
           , ap_payment_hist_dists aphd
       WHERE aid.invoice_distribution_id    = aphd.invoice_distribution_id
         AND aphd.payment_history_id        = p_payment_history_id
         AND aphd.accounting_event_id       = p_accounting_event_id
         AND aphd.pay_dist_lookup_code NOT IN( 'FINAL CASH ROUNDING'
                                             , 'FINAL PAYMENT ROUNDING'
                                             , 'BANK CHARGE'
                                             , 'BANK ERROR'
                                             , 'EXCHANGE RATE VARIANCE'
                                             , 'TAX EXCHANGE RATE VARIANCE' ) -- Bug 13783723
    GROUP BY aid.invoice_id ;
Line: 71

    l_curr_calling_sequence := 'AP_Acctg_Pay_Dist_Pkg.Update_Gain_Loss_Ind<- '||
                                      p_calling_sequence;
Line: 106

           UPDATE AP_PAYMENT_HIST_DISTS APHD
              SET APHD.GAIN_LOSS_INDICATOR      =
                             DECODE(SIGN( GAIN_LOSS_TBL(I).INV_AMT-GAIN_LOSS_TBL(I).INV_PAY_AMT)--BUG 8276839
                                    ,  1, 'G'
                                    , -1, 'L'
                                    , NULL)
            WHERE APHD.ACCOUNTING_EVENT_ID      =P_XLA_EVENT_REC.EVENT_ID
              AND APHD.INVOICE_DISTRIBUTION_ID  IN
                     (SELECT INVOICE_DISTRIBUTION_ID
                        FROM AP_INVOICE_DISTRIBUTIONS_ALL AID
                       WHERE AID.INVOICE_ID=GAIN_LOSS_TBL(I).INVOICE_ID) ;
Line: 129

      UPDATE AP_PAYMENT_HIST_DISTS APHD
         SET APHD.GAIN_LOSS_INDICATOR           =
                            DECODE(SIGN( GAIN_LOSS_TBL(I).INV_PAY_AMT-GAIN_LOSS_TBL(I).INV_MAT_AMT) --BUG 8276839
                                , 1, 'G'
                                ,-1, 'L'
                                , NULL)
       WHERE APHD.ACCOUNTING_EVENT_ID           =P_XLA_EVENT_REC.EVENT_ID
         AND APHD.INVOICE_DISTRIBUTION_ID IN
                    (SELECT INVOICE_DISTRIBUTION_ID
                       FROM AP_INVOICE_DISTRIBUTIONS_ALL AID
                      WHERE AID.INVOICE_ID=GAIN_LOSS_TBL(I).INVOICE_ID) ;
Line: 151

          SELECT COUNT( * )
            INTO l_pay_mat_count
            FROM AP_Payment_History_All APH
               , AP_Payment_History_All APH1
           WHERE APH.Payment_History_Id = p_pay_hist_rec.payment_history_id
             AND APH.Check_ID           = APH1.Check_ID
             AND APH.Transaction_Type  IN( 'PAYMENT CLEARING', 'PAYMENT CLEARING ADJUSTED' )
             AND APH1.Transaction_Type  = 'PAYMENT MATURITY';
Line: 160

              SELECT ASP.when_to_account_gain_loss
                INTO l_when_to_account_gain_loss
                FROM ap_system_parameters_all ASP
                   , AP_Payment_History_All APH
               WHERE APH.org_id             = ASP.org_id
                 AND APH.Payment_History_Id = p_pay_hist_rec.payment_history_id;
Line: 176

          UPDATE AP_PAYMENT_HIST_DISTS APHD
             SET APHD.GAIN_LOSS_INDICATOR       =
                                DECODE(SIGN( GAIN_LOSS_TBL(I).INV_MAT_AMT-GAIN_LOSS_TBL(I).INV_CLR_AMT)--BUG 8276839
                                    ,1, 'G'
                                    ,-1, 'L'
                                    , NULL)
           WHERE APHD.ACCOUNTING_EVENT_ID      =P_XLA_EVENT_REC.EVENT_ID
             AND APHD.INVOICE_DISTRIBUTION_ID IN
               (SELECT INVOICE_DISTRIBUTION_ID
                 FROM AP_INVOICE_DISTRIBUTIONS_ALL AID
                WHERE AID.INVOICE_ID=GAIN_LOSS_TBL(I).INVOICE_ID
                ) ;
Line: 199

/*              SELECT ASP.when_to_account_gain_loss
                INTO l_when_to_account_gain_loss
                FROM ap_system_parameters_all ASP
                   , AP_Payment_History_All APH
               WHERE APH.org_id             = ASP.org_id
                 AND APH.Payment_History_Id = p_pay_hist_rec.payment_history_id;
Line: 211

                l_log_msg := 'Update Gain/Loss between invoice and clearing for gain/loss at clear only';
Line: 216

                UPDATE AP_PAYMENT_HIST_DISTS APHD
                   SET APHD.GAIN_LOSS_INDICATOR     =
                                        DECODE(SIGN( GAIN_LOSS_TBL(I).INV_AMT-GAIN_LOSS_TBL(I).INV_CLR_AMT) --BUG 8276839
                                            ,1, 'G'
                                            , -1,'L'
                                            , NULL)
                 WHERE APHD.ACCOUNTING_EVENT_ID=P_XLA_EVENT_REC.EVENT_ID
                   AND APHD.INVOICE_DISTRIBUTION_ID IN
                      (SELECT INVOICE_DISTRIBUTION_ID
                        FROM AP_INVOICE_DISTRIBUTIONS_ALL AID
                       WHERE AID.INVOICE_ID=GAIN_LOSS_TBL(I).INVOICE_ID) ;
Line: 231

                l_log_msg := 'Update Gain/Loss between payment and clearing for gain/loss at always';
Line: 236

              UPDATE AP_PAYMENT_HIST_DISTS APHD
                 SET APHD.GAIN_LOSS_INDICATOR       =
                                    DECODE(SIGN( GAIN_LOSS_TBL(I).INV_PAY_AMT-GAIN_LOSS_TBL(I).INV_CLR_AMT)--BUG 8276839
                                        ,1 ,'G'
                                        ,-1,'L'
                                        , NULL)
               WHERE APHD.ACCOUNTING_EVENT_ID       =P_XLA_EVENT_REC.EVENT_ID
                 AND APHD.INVOICE_DISTRIBUTION_ID IN
                       (SELECT INVOICE_DISTRIBUTION_ID
                          FROM AP_INVOICE_DISTRIBUTIONS_ALL AID
                         WHERE AID.INVOICE_ID=GAIN_LOSS_TBL(I).INVOICE_ID) ;
Line: 256

              l_log_msg := 'Update Gain/Loss for Payment Cancellation';
Line: 260

           UPDATE AP_PAYMENT_HIST_DISTS APHD
              SET APHD.GAIN_LOSS_INDICATOR      =
                             DECODE(SIGN( GAIN_LOSS_TBL(I).INV_PAY_AMT-GAIN_LOSS_TBL(I).INV_AMT)--BUG 8276839
                                    ,  1, 'G'
                                    , -1, 'L'
                                    , NULL)
            WHERE APHD.ACCOUNTING_EVENT_ID      =P_XLA_EVENT_REC.EVENT_ID
              AND APHD.INVOICE_DISTRIBUTION_ID  IN
                     (SELECT INVOICE_DISTRIBUTION_ID
                        FROM AP_INVOICE_DISTRIBUTIONS_ALL AID
                       WHERE AID.INVOICE_ID=GAIN_LOSS_TBL(I).INVOICE_ID);
Line: 292

END Update_Gain_Loss_Ind;
Line: 350

  SELECT SUM(amount), count(1)
    FROM ap_invoice_distributions_all aid,
         xla_events evnt,
         ap_system_parameters_all asp
   WHERE aid.accounting_event_id = p_acct_event_id
     AND aid.accounting_event_id = evnt.event_id
     AND evnt.event_type_code in ('INVOICE ADJUSTED', 'CREDIT MEMO ADJUSTED',
                                  'DEBIT MEMO ADJUSTED','PREPAYMENT ADJUSTED')  --7630203 12731687
     AND aid.org_id = asp.org_id
     AND automatic_offsets_flag = 'N'
     AND aid.historical_flag = 'Y'
	 AND evnt.application_id=200;  --7623562
Line: 411

      SELECT APH.Payment_History_ID,
             APH.Pmt_To_Base_XRate_Type,
             APH.Pmt_To_Base_XRate_Date,
             APH.Pmt_To_Base_XRate
      INTO   l_pay_history_id,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate_type,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate_date,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate
      FROM   AP_Payment_History_All APH
      WHERE  APH.Payment_History_ID =
                        (SELECT MAX(APH1.Payment_History_ID)
                         FROM   AP_Payment_History_All APH1
                         WHERE  APH1.Check_ID = p_xla_event_rec.source_id_int_1
                         AND    APH1.Transaction_Type IN ('PAYMENT CREATED', 'REFUND RECORDED'));
Line: 471

      SELECT APH.Payment_History_ID,
             APH.Pmt_To_Base_XRate_Type,
             APH.Pmt_To_Base_XRate_Date,
             APH.Pmt_To_Base_XRate
      INTO   l_pay_history_id,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate_type,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate_date,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate
      FROM   AP_Payment_History_All APH
      WHERE  APH.Payment_History_ID =
                        (SELECT MAX(APH1.Payment_History_ID)
                         FROM   AP_Payment_History_All APH1
                         WHERE  APH1.Check_ID = p_xla_event_rec.source_id_int_1
                         AND    APH1.Transaction_Type IN ('PAYMENT CREATED', 'REFUND RECORDED'));
Line: 494

      SELECT MAX(APH.Payment_History_ID)
      INTO   l_mat_history_id
      FROM   AP_Payment_History_All APH
      WHERE  APH.Check_ID = p_xla_event_rec.source_id_int_1
      AND    APH.Transaction_Type IN ('PAYMENT MATURITY');
Line: 503

         SELECT APH.Pmt_To_Base_XRate_Type,
                APH.Pmt_To_Base_XRate_Date,
                APH.Pmt_To_Base_XRate
         INTO   ap_accounting_pay_pkg.g_mat_to_base_xrate_type,
                ap_accounting_pay_pkg.g_mat_to_base_xrate_date,
                ap_accounting_pay_pkg.g_mat_to_base_xrate
         FROM   AP_Payment_History_All APH
         WHERE  APH.Payment_History_ID = l_mat_history_id;
Line: 770

	      SELECT 'N'
              INTO l_exec_final_pay
              FROM dual
              WHERE EXISTS(
                    SELECT 'Unreversed clearing txns with different xrates'
                    FROM ap_payment_history_all aph,
                         ap_invoice_payments_all aip
                    WHERE aip.invoice_id     = l_inv_pay_rec.invoice_id
                    AND aip.check_id         = aph.check_id
                    AND aph.transaction_type = 'PAYMENT CLEARING'
                    AND EXISTS(
                        SELECT 'Unreversed clearing txn with different xrate'
                        FROM ap_payment_history_all aph_sub,
                             ap_invoice_payments_all aip_sub
                        WHERE aip_sub.invoice_id                 = aip.invoice_id
                        AND aip_sub.check_id                     = aph_sub.check_id
                        AND aph_sub.check_id                    <> aph.check_id
                        AND aph_sub.transaction_type             = 'PAYMENT CLEARING'
                        AND (NVL(aph_sub.bank_to_base_xrate, -1) <> NVL(aph.bank_to_base_xrate, -1)
                             OR NVL(aph_sub.pmt_to_base_xrate, -1) <> NVL(aph.pmt_to_base_xrate, -1))
                        AND aph_sub.rev_pmt_hist_id             IS NULL
                        AND NOT EXISTS(
                                SELECT 'reversal txn'
                                FROM ap_payment_history_all aph_rev
                                WHERE aph_rev.REV_PMT_HIST_ID = aph_sub.payment_history_id)));
Line: 820

      SELECT SUM(decode(aid.prepay_tax_parent_id, NULL, nvl(aid.amount, 0), 0)),
             SUM(decode(aid.line_type_lookup_code, 'AWT', 0, nvl(aid.amount, 0))),
	     SUM(decode(aid.awt_invoice_payment_id, Null, nvl(aid.amount, 0),0)),
	     SUM(decode(aid.awt_invoice_payment_id, Null, 0,nvl(aid.amount, 0))),
	     SUM(decode(aid.line_type_lookup_code, 'AWT',decode(aid.awt_invoice_payment_id, Null, nvl(aid.amount, 0),0), 0))
        INTO G_Total_Dist_Amount,
	     G_Proration_Divisor,
	     l_inv_time_dist_total,
	     l_curr_pay_awt_tot,
	     l_inv_time_awt_tot
        FROM ap_invoice_distributions_all aid
       WHERE aid.invoice_id = l_inv_pay_rec.invoice_id
         AND aid.line_type_lookup_code <> 'PREPAY'
         AND aid.prepay_distribution_id IS NULL
         AND (aid.awt_invoice_payment_id IS NULL    OR
              aid.awt_invoice_payment_id = l_inv_pay_rec.invoice_payment_id) -- bug fix: 6725866
         AND NOT EXISTS
              (SELECT 1 FROM xla_events
               WHERE event_id = aid.accounting_event_id
               AND application_id = 200
               AND event_type_code IN('INVOICE CANCELLED', 'PREPAYMENT CANCELLED',
                      'CREDIT MEMO CANCELLED', 'DEBIT MEMO CANCELLED'));
Line: 875

        SELECT Sub.Invoice_Distribution_ID
        INTO G_Last_NonExcluded_Dist_ID
        FROM     (SELECT AID.Invoice_Distribution_ID
            FROM   AP_Invoice_Distributions_All AID,
            Financials_System_Params_All FSP,
            AP_Invoices_All AI,
            AP_System_Parameters_All ASP
            WHERE  AID.Invoice_ID = l_inv_rec.Invoice_ID
            AND    AI.Invoice_ID = AID.Invoice_ID
            AND    ASP.Org_ID = AI.Org_ID
            AND    AID.Line_Type_Lookup_Code NOT IN ('PREPAY', 'ERV', 'TERV'
            , 'AWT'  --Pay_Dist_Discount is only called for non-AWT line types
            , decode(AI.Exclude_Freight_From_Discount,'Y', 'FREIGHT', 'DUMMY')
            , decode(NVL(AI.Disc_Is_Inv_Less_Tax_Flag, ASP.Disc_Is_Inv_Less_Tax_Flag)
                    , 'Y', 'TRV', 'DUMMY')
            , decode(NVL(AI.Disc_Is_Inv_Less_Tax_Flag, ASP.Disc_Is_Inv_Less_Tax_Flag)
                    , 'Y', 'TIPV', 'DUMMY')
            , decode(NVL(AI.Disc_Is_Inv_Less_Tax_Flag, ASP.Disc_Is_Inv_Less_Tax_Flag)
                    , 'Y', 'NONREC_TAX', 'DUMMY')
            , decode(NVL(AI.Disc_Is_Inv_Less_Tax_Flag, ASP.Disc_Is_Inv_Less_Tax_Flag)
                    , 'Y', 'REC_TAX', 'DUMMY')
            )
            AND    AID.Prepay_Distribution_ID IS NULL
            AND    AID.Prepay_Tax_Parent_ID IS NULL  -- For tax dists created in R11.5
            AND    AID.Org_ID = FSP.Org_ID
            AND NOT EXISTS (SELECT 1
                FROM   xla_events
                WHERE  event_id = AID.accounting_event_id
                AND    application_id = 200 --bug 7308385
                AND    event_type_code IN ('INVOICE CANCELLED', 'PREPAYMENT CANCELLED',
                'CREDIT MEMO CANCELLED',
                'DEBIT MEMO CANCELLED'))
            AND  ((NVL(FSP.Purch_Encumbrance_Flag,'N') = 'N'
                    AND AID.Match_Status_Flag IN ('T','A'))
                OR
                ((NVL(FSP.Purch_Encumbrance_Flag,'N') = 'Y'
                AND AID.Match_Status_Flag = 'A')))
            ORDER  BY abs(AID.Amount) desc, AID.Invoice_Distribution_ID desc) Sub
        WHERE rownum = 1;
Line: 1121

      l_log_msg := 'Calling procedure Update_Gain_Loss_Ind for payments';
Line: 1127

     Update_Gain_Loss_Ind
        (p_xla_event_rec,
         l_pay_hist_rec,
         l_curr_calling_sequence);
Line: 1134

      l_log_msg := 'Procedure Update_Gain_Loss_Ind executed';
Line: 1326

      SELECT SUM(decode(aid.prepay_tax_parent_id, NULL, nvl(aid.amount, 0), 0)),
             SUM(decode(aid.line_type_lookup_code, 'AWT', 0, nvl(aid.amount, 0))),
	     SUM(decode(aid.awt_invoice_payment_id, Null, nvl(aid.amount, 0),0)),
	     SUM(decode(aid.awt_invoice_payment_id, Null, 0,nvl(aid.amount, 0))),
	     SUM(decode(aid.line_type_lookup_code, 'AWT',decode(aid.awt_invoice_payment_id, Null, nvl(aid.amount, 0),0), 0))
        INTO G_Total_Dist_Amount,
	     G_Proration_Divisor,
	     l_inv_time_dist_total,
 	     l_curr_pay_awt_tot,
	     l_inv_time_awt_tot
        FROM ap_invoice_distributions_all aid
       WHERE aid.invoice_id = l_inv_pay_rec.invoice_id
         AND aid.line_type_lookup_code <> 'PREPAY'
         AND aid.prepay_distribution_id IS NULL
         AND (aid.awt_invoice_payment_id IS NULL    OR
              aid.awt_invoice_payment_id = l_inv_pay_rec.invoice_payment_id) -- bug fix: 6725866
         AND NOT EXISTS
              (SELECT 1 FROM xla_events
               WHERE event_id = aid.accounting_event_id
               AND application_id = 200
               AND event_type_code IN('INVOICE CANCELLED', 'PREPAYMENT CANCELLED',
                      'CREDIT MEMO CANCELLED', 'DEBIT MEMO CANCELLED'));
Line: 1501

      l_log_msg := 'Calling procedure Update_Gain_Loss_Ind for payments';
Line: 1507

     Update_Gain_Loss_Ind
        (p_xla_event_rec,
         l_pay_hist_rec,
         l_curr_calling_sequence);
Line: 1514

      l_log_msg := 'Procedure Update_Gain_Loss_Ind executed';
Line: 1615

      l_log_msg := 'Calling procedure Update_Gain_Loss_Ind for payments';
Line: 1619

  Update_Gain_Loss_Ind
        (p_xla_event_rec,
         l_pay_hist_rec,
         l_curr_calling_sequence);
Line: 1625

      l_log_msg := 'Procedure Update_Gain_Loss_Ind executed';
Line: 1694

  SELECT Distinct AID.Invoice_Distribution_ID,
         AID.Line_Type_Lookup_Code,
         AID.Amount,
         AID.Base_Amount,
         AID.PO_Distribution_ID,
         AID.RCV_Transaction_ID,
         NVL(AID.Reversal_Flag,'N'),
         AID.Parent_Reversal_ID,
         AID.AWT_Related_ID,
         AID.AWT_Invoice_Payment_ID,
         AID.Quantity_Variance,
         AID.Base_Quantity_Variance,
         AID.Amount_Variance,
         AID.Base_Amount_Variance,
         AID.historical_flag,   -- bug fix 6674279
         AID.accounting_event_id  -- bug fix 6674279
  FROM   AP_Invoice_Distributions_All AID,
         AP_Payment_History_All APH,
         AP_Payment_Hist_Dists APHD
  WHERE  AID.Invoice_ID = P_Invoice_ID
  AND    NVL(AID.Reversal_Flag,'N') <> 'Y'
  AND    AID.Invoice_Distribution_ID = APHD.Invoice_Distribution_ID
  AND    APH.Payment_History_ID = APHD.Payment_History_ID
  AND    APH.Related_Event_ID = P_Related_Event_ID
  AND    NVL(AID.Accounting_Event_ID,-99) <> P_Event_ID
  AND    APHD.Pay_Dist_Lookup_Code IN ('CASH', 'AWT')
  ORDER  BY DECODE(AID.Line_Type_Lookup_Code, 'AWT', 1, 2),
  abs(AID.Amount), AID.Invoice_Distribution_ID;
Line: 1727

  SELECT AIP.Invoice_ID,
         AIP.Invoice_Payment_ID,
         AIP.Amount,
         AIP.Discount_Taken,
         AIP.Payment_Base_Amount,
         AIP.Invoice_Base_Amount,
         AIP.Exchange_Rate_Type,
         AIP.Exchange_Date,
         AIP.Exchange_Rate,
         NVL(AIP.Reversal_Flag,'N'),
         AIP.Reversal_Inv_Pmt_ID
  FROM   AP_Invoice_Payments_All AIP
  WHERE  AIP.Check_ID = P_Check_ID
  AND    AIP.Invoice_ID = P_Invoice_ID
  AND    AIP.REVERSAL_INV_PMT_ID IS NULL;  --bug 9005225
Line: 1782

      SELECT MAX(APH.Payment_History_ID)
      INTO   l_pay_history_id
      FROM   AP_Payment_History_All APH
      WHERE  APH.Check_ID = p_xla_event_rec.source_id_int_1
      AND    APH.Transaction_Type IN ('PAYMENT CREATED', 'REFUND RECORDED');
Line: 1788

      SELECT APH.Pmt_To_Base_XRate_Type,
             APH.Pmt_To_Base_XRate_Date,
             APH.Pmt_To_Base_XRate
      INTO   ap_accounting_pay_pkg.g_pmt_to_base_xrate_type,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate_date,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate
      FROM   AP_Payment_History_All APH
      WHERE  APH.Payment_History_ID = l_pay_history_id;
Line: 1822

      SELECT MAX(APH.Payment_History_ID)
      INTO   l_pay_history_id
      FROM   AP_Payment_History_All APH
      WHERE  APH.Check_ID = p_xla_event_rec.source_id_int_1
      AND    APH.Transaction_Type IN ('PAYMENT CREATED', 'REFUND RECORDED');
Line: 1828

      SELECT APH.Pmt_To_Base_XRate_Type,
             APH.Pmt_To_Base_XRate_Date,
             APH.Pmt_To_Base_XRate
      INTO   ap_accounting_pay_pkg.g_pmt_to_base_xrate_type,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate_date,
             ap_accounting_pay_pkg.g_pmt_to_base_xrate
      FROM   AP_Payment_History_All APH
      WHERE  APH.Payment_History_ID = l_pay_history_id;
Line: 1837

      SELECT MAX(APH.Payment_History_ID)
      INTO   l_mat_history_id
      FROM   AP_Payment_History_All APH
      WHERE  APH.Check_ID = p_xla_event_rec.source_id_int_1
      AND    APH.Transaction_Type IN ('PAYMENT MATURITY');
Line: 1846

         SELECT APH.Pmt_To_Base_XRate_Type,
                APH.Pmt_To_Base_XRate_Date,
                APH.Pmt_To_Base_XRate
         INTO   ap_accounting_pay_pkg.g_mat_to_base_xrate_type,
                ap_accounting_pay_pkg.g_mat_to_base_xrate_date,
                ap_accounting_pay_pkg.g_mat_to_base_xrate
         FROM   AP_Payment_History_All APH
         WHERE  APH.Payment_History_ID = l_mat_history_id;
Line: 1905

     SELECT AID.Invoice_ID
     INTO   l_invoice_id
     FROM   AP_Invoice_Distributions_All AID
     WHERE  AID.Accounting_Event_ID = l_pay_hist_rec.invoice_adjustment_event_id
     AND    Rownum = 1;
Line: 1943

      SELECT SUM(decode(aid.prepay_tax_parent_id, NULL, nvl(aid.amount, 0), 0)),
             SUM(decode(aid.line_type_lookup_code, 'AWT', 0, nvl(aid.amount, 0))),
 	     SUM(decode(aid.awt_invoice_payment_id, Null, nvl(aid.amount, 0),0)),
	     SUM(decode(aid.awt_invoice_payment_id, Null, 0,nvl(aid.amount, 0))),
	     SUM(decode(aid.line_type_lookup_code, 'AWT',decode(aid.awt_invoice_payment_id, Null, nvl(aid.amount, 0),0), 0))
        INTO G_Total_Dist_Amount,
	     G_Proration_Divisor,
	     l_inv_time_dist_total,
             l_curr_pay_awt_tot,
	     l_inv_time_awt_tot
        FROM ap_invoice_distributions_all aid
       WHERE aid.invoice_id = l_inv_pay_rec.invoice_id
         AND aid.line_type_lookup_code <> 'PREPAY'
         AND aid.prepay_distribution_id IS NULL
         AND (aid.awt_invoice_payment_id IS NULL    OR
              aid.awt_invoice_payment_id = l_inv_pay_rec.invoice_payment_id) -- bug fix: 6725866
         AND NOT EXISTS
              (SELECT 1 FROM xla_events
               WHERE event_id = aid.accounting_event_id
               AND application_id = 200
               AND event_type_code IN('INVOICE CANCELLED', 'PREPAYMENT CANCELLED',
                      'CREDIT MEMO CANCELLED', 'DEBIT MEMO CANCELLED'));
Line: 2019

       SELECT SUM(AID.Amount)
       INTO   l_inv_adj_amount
       FROM   AP_Invoice_Distributions_All AID
       WHERE  AID.Accounting_Event_ID = l_pay_hist_rec.invoice_adjustment_event_id;
Line: 2048

               SELECT count(*)
               INTO   l_pay_dist_cnt
               FROM   ap_payment_hist_dists
               WHERE  invoice_distribution_id = l_inv_dist_rec.parent_reversal_id;
Line: 2133

   Due to commenting the below code, it is inserting the data
   in payment hist dist only for the adjusted distributions and not for all
   the distributions. But it should do for all the distributions */

 --/*  commented the code for bug 7147610
 -- For the Payment Adjustments we are populating the
 -- Payment Hists Dists in the cursor loop Invoice_Dists
 -- This Inv_Adj_Dists is not required.
       IF l_inv_adj_amount <> 0 THEN

          OPEN Inv_Adj_Dists(l_pay_hist_rec.invoice_adjustment_event_id,
                             l_inv_rec.invoice_id,
                             l_pay_hist_rec.related_event_id);
Line: 2201

    SELECT max(aph2.payment_history_id) into l_do_round
      FROM ap_payment_history_all aph1,
           ap_payment_history_all aph2
     WHERE aph1.payment_history_id = l_pay_hist_rec.payment_history_id
       AND aph2.check_id = aph1.check_id
       AND aph2.posted_flag <> 'Y'
	   AND aph1.posted_flag <> 'Y'
       AND aph1.transaction_type = aph2.transaction_type
       AND l_invoice_id = (SELECT invoice_id
                           FROM ap_invoice_distributions_all d
                           WHERE d.accounting_event_id = aph2.invoice_adjustment_event_id
                           AND rownum = 1);
Line: 2217

       SELECT SUM(DECODE(APHD.Pay_Dist_Lookup_Code, 'CASH', APHD.Amount, 0)),
              SUM(DECODE(APHD.Pay_Dist_Lookup_Code, 'DISCOUNT', APHD.Amount, 0)),
              SUM(DECODE(APHD.Pay_Dist_Lookup_Code, 'BANK ERROR', APHD.Amount, 0)),
              SUM(DECODE(APHD.Pay_Dist_Lookup_Code, 'BANK CHARGE', APHD.Amount, 0))
       INTO   l_sum_paid_amount,
              l_sum_disc_amount,
              l_sum_error_amount,
              l_sum_charge_amount
       FROM   AP_Payment_Hist_Dists APHD,
              AP_Invoice_Distributions_All AID,
              AP_Payment_History_All APH
       WHERE  APH.Related_Event_ID = l_pay_hist_rec.related_event_id
       AND    APHD.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
       AND    APH.Payment_History_ID = APHD.Payment_History_ID
       AND    APHD.Invoice_Distribution_ID = AID.Invoice_Distribution_ID
       AND    AID.Invoice_ID = l_invoice_id;
Line: 2247

             UPDATE AP_Payment_Hist_Dists APD
             SET   APD.Amount = APD.amount + l_tech_disc_rnd_amt,
                   APD.bank_curr_amount = APD.bank_curr_amount + l_tech_disc_rnd_amt,
                   APD.Cleared_Base_Amount = Decode(l_pay_hist_rec.bank_currency_code,
                                                    ap_accounting_pay_pkg.g_base_currency_code,
                                                    APD.Cleared_Base_Amount + l_tech_disc_rnd_amt,
                                                    APD.Cleared_Base_Amount),
                   APD.Paid_Base_Amount = Decode(l_pay_hist_rec.bank_currency_code,
                                                 ap_accounting_pay_pkg.g_base_currency_code,
                                                 APD.Paid_Base_Amount + l_tech_disc_rnd_amt,
                                                 APD.Paid_Base_Amount),
                   APD.Matured_Base_Amount = Decode(l_pay_hist_rec.bank_currency_code,
                                                    ap_accounting_pay_pkg.g_base_currency_code,
                                                    APD.Matured_Base_Amount + l_tech_disc_rnd_amt,
                                                    APD.Matured_Base_Amount),
                   APD.Invoice_Dist_Base_Amount = Decode(l_pay_hist_rec.bank_currency_code,
                                                       ap_accounting_pay_pkg.g_base_currency_code,
                                                     Decode(l_pay_hist_rec.bank_currency_code,
                                                        l_inv_rec.invoice_currency_code,
                                                        APD.Invoice_Dist_Base_Amount + l_tech_disc_rnd_amt,
                                                        APD.Invoice_Dist_Base_Amount),
                                                     APD.Invoice_Dist_Base_Amount),
                   APD.Invoice_Dist_Amount = Decode(l_pay_hist_rec.bank_currency_code,
                                                    l_inv_rec.invoice_currency_code,
                                                    APD.Invoice_Dist_Amount + l_tech_disc_rnd_amt,
                                                    APD.Invoice_Dist_Amount)
             WHERE  APD.Invoice_Distribution_ID =
                    (SELECT MAX(APD1.Invoice_Distribution_ID)
                     FROM   AP_Payment_Hist_Dists APD1
                     WHERE  APD1.Accounting_Event_ID = p_xla_event_rec.event_id
                     AND    APD1.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
                     AND    APD1.Pay_Dist_Lookup_Code = 'DISCOUNT'
                     AND    ABS(APD1.Amount) =
                           (SELECT MAX(APD2.Amount)
                            FROM   AP_Payment_Hist_Dists APD2
                            WHERE  APD2.Accounting_Event_ID = p_xla_event_rec.event_id
                            AND    APD2.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
                            AND    APD2.Pay_Dist_Lookup_Code = 'DISCOUNT'))
             AND    APD.Pay_Dist_Lookup_Code = 'DISCOUNT'
             AND    APD.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
             AND    APD.Payment_History_ID = l_pay_hist_rec.payment_history_id
             AND    APD.Accounting_Event_ID = p_xla_event_rec.event_id;
Line: 2292

          /*This selection and update statemen massage last big distribution of discount distribution */

              SELECT SUM (DECODE (APHD.Pay_Dist_Lookup_Code, 'DISCOUNT', APHD.Amount, 0))
                   , SUM (DECODE (APHD.Pay_Dist_Lookup_Code, 'DISCOUNT', APHD.invoice_dist_amount, 0))
                   , SUM (DECODE (APHD.Pay_Dist_Lookup_Code, 'DISCOUNT', APHD.bank_curr_amount, 0))
                   , SUM (DECODE (APHD.Pay_Dist_Lookup_Code, 'DISCOUNT', APHD.invoice_dist_base_amount, 0))
                   , SUM (DECODE (APHD.Pay_Dist_Lookup_Code, 'DISCOUNT', APHD.paid_base_amount, 0))
                   , SUM (DECODE (APHD.Pay_Dist_Lookup_Code, 'DISCOUNT', APHD.cleared_base_amount, 0))
                INTO l_sum_disc_amount
                   , l_sum_disc_dist_amount
                   , l_sum_disc_bank_curr_amount
                   , l_sum_disc_dist_base_amount
                   , l_sum_disc_paid_base_amount
                   , l_sum_disc_clr_base_amount
                FROM AP_Payment_Hist_Dists APHD
               WHERE APHD.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
                 AND APHD.Payment_History_ID = l_pay_hist_rec.Payment_History_ID;
Line: 2311

              SELECT MAX (APD1.Invoice_Distribution_ID)
                INTO l_max_disc_dist_id
                FROM AP_Payment_Hist_Dists APD1
               WHERE APD1.Accounting_Event_ID  = p_xla_event_rec.event_id
                 AND APD1.Invoice_Payment_ID   = l_inv_pay_rec.invoice_payment_id
                 AND APD1.Pay_Dist_Lookup_Code = 'DISCOUNT'
                 AND ABS (APD1.Amount)         =
                     (SELECT ABS (MAX (APD2.Amount))
                         FROM AP_Payment_Hist_Dists APD2
                        WHERE APD2.Accounting_Event_ID  = p_xla_event_rec.event_id
                          AND APD2.Invoice_Payment_ID   = l_inv_pay_rec.invoice_payment_id
                          AND APD2.Pay_Dist_Lookup_Code = 'DISCOUNT') ;
Line: 2324

              UPDATE AP_Payment_Hist_Dists APD
                 SET APD.Amount                   = APD.Amount - l_sum_disc_amount
                   , APD.Invoice_Dist_Amount      = APD.Invoice_Dist_Amount - l_sum_disc_dist_amount
                   , APD.bank_curr_amount         = APD.bank_curr_amount - l_sum_disc_bank_curr_amount
                   , APD.Invoice_Dist_Base_Amount = APD.Invoice_Dist_Base_Amount - l_sum_disc_dist_base_amount
                   , APD.Paid_Base_Amount         = APD.Paid_Base_Amount - l_sum_disc_paid_base_amount
                   , apd.cleared_base_amount      = apd.cleared_base_amount - l_sum_disc_clr_base_amount
               WHERE APD.Invoice_Distribution_ID  = l_max_disc_dist_id
                 AND APD.Pay_Dist_Lookup_Code     = 'DISCOUNT'
                 AND APD.Invoice_Payment_ID       = l_inv_pay_rec.invoice_payment_id
                 AND APD.Payment_History_ID       = l_pay_hist_rec.payment_history_id
                 AND APD.Accounting_Event_ID      = p_xla_event_rec.event_id;
Line: 2337

             /*This update statement massage last big distribution of CASH distribution
             because when this code reaches here, pay_dist_proc call is already over as above update adjusted
             discount amount after all technical rounding so the same amount for same distribution id we are
             adjusting here. */

              UPDATE AP_Payment_Hist_Dists APD
                 SET APD.Amount                   = APD.Amount + l_sum_disc_amount
                   , APD.Invoice_Dist_Amount      = APD.Invoice_Dist_Amount + l_sum_disc_dist_amount
                   , APD.bank_curr_amount         = APD.bank_curr_amount + l_sum_disc_bank_curr_amount
                   , APD.Invoice_Dist_Base_Amount = APD.Invoice_Dist_Base_Amount + l_sum_disc_dist_base_amount
                   , APD.Paid_Base_Amount         = APD.Paid_Base_Amount + l_sum_disc_paid_base_amount
                   , apd.cleared_base_amount      = apd.cleared_base_amount + l_sum_disc_clr_base_amount
               WHERE APD.Invoice_Distribution_ID  = l_max_disc_dist_id
                 AND APD.Pay_Dist_Lookup_Code     = 'CASH'
                 AND APD.Invoice_Payment_ID       = l_inv_pay_rec.invoice_payment_id
                 AND APD.Payment_History_ID       = l_pay_hist_rec.payment_history_id
                 AND APD.Accounting_Event_ID      = p_xla_event_rec.event_id;
Line: 2368

           UPDATE AP_Payment_Hist_Dists APD
           SET    APD.Amount = APD.Amount -  NVL(l_sum_error_amount,0)
                                     + l_pay_hist_rec.errors_bank_amount
           WHERE  APD.Invoice_Distribution_ID =
                 (SELECT MAX(APD1.Invoice_Distribution_ID)
                  FROM   AP_Payment_Hist_Dists APD1
                  WHERE  APD1.Accounting_Event_ID = p_xla_event_rec.event_id
                  AND    APD1.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
                  AND    APD1.Pay_Dist_Lookup_Code = 'BANK ERROR'
                  AND    ABS(APD1.Amount) =
                        (SELECT MAX(APD2.Amount)
                         FROM   AP_Payment_Hist_Dists APD2
                         WHERE  APD2.Accounting_Event_ID = p_xla_event_rec.event_id
                         AND    APD2.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
                         AND    APD2.Pay_Dist_Lookup_Code = 'BANK ERROR'))
          AND    APD.Pay_Dist_Lookup_Code = 'BANK ERROR'
          AND    APD.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
          AND    APD.Payment_History_ID = l_pay_hist_rec.payment_history_id
          AND    APD.Accounting_Event_ID = p_xla_event_rec.event_id;
Line: 2399

           UPDATE AP_Payment_Hist_Dists APD
           SET    APD.Amount = APD.Amount -  NVL(l_sum_charge_amount,0)
                                     + l_pay_hist_rec.charges_bank_amount
           WHERE  APD.Invoice_Distribution_ID =
                 (SELECT MAX(APD1.Invoice_Distribution_ID)
                  FROM   AP_Payment_Hist_Dists APD1
                  WHERE  APD1.Accounting_Event_ID = p_xla_event_rec.event_id
                  AND    APD1.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
                  AND    APD1.Pay_Dist_Lookup_Code = 'BANK CHARGE'
                  AND    ABS(APD1.Amount) =
                        (SELECT MAX(APD2.Amount)
                         FROM   AP_Payment_Hist_Dists APD2
                         WHERE  APD2.Accounting_Event_ID = p_xla_event_rec.event_id
                         AND    APD2.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
                         AND    APD2.Pay_Dist_Lookup_Code = 'BANK CHARGE'))
          AND    APD.Pay_Dist_Lookup_Code = 'BANK CHARGE'
          AND    APD.Invoice_Payment_ID = l_inv_pay_rec.invoice_payment_id
          AND    APD.Payment_History_ID = l_pay_hist_rec.payment_history_id
          AND    APD.Accounting_Event_ID = p_xla_event_rec.event_id;
Line: 2495

      l_log_msg := 'Calling procedure Update_Gain_Loss_Ind for payments';
Line: 2501

     Update_Gain_Loss_Ind
        (p_xla_event_rec,
         l_pay_hist_rec,
         l_curr_calling_sequence);
Line: 2508

      l_log_msg := 'Procedure Update_Gain_Loss_Ind executed';
Line: 3193

                     SELECT
                            (p_inv_dist_rec.amount
                              / g_proration_divisor
                              * ( l_pay_amount_inv_curr
                                   - g_pay_awt_total_amt
                                 )
                             + nvl
                                 (
                                  (SELECT sum(amount)
                                   FROM ap_invoice_distributions_all aid
                                   WHERE aid.invoice_id                 =p_inv_pay_rec.invoice_id
                                   AND aid.awt_invoice_payment_id     =p_inv_pay_rec.invoice_payment_id
                                   AND aid.line_type_lookup_code      ='AWT'
                                   AND aid.awt_related_id             =p_inv_dist_rec.invoice_distribution_id
                                  )
                                   ,0
                                 )
                             + nvl
                                 (
                                  (SELECT  sum(amount) / g_proration_divisor *  (l_pay_amount_inv_curr - g_pay_awt_total_amt)
                                   FROM ap_invoice_distributions_all aid
                                   WHERE aid.invoice_id                 =p_inv_pay_rec.invoice_id
                                   AND aid.line_type_lookup_code      ='AWT'
                                   AND awt_invoice_payment_id         is null
                                   AND awt_related_id                 =p_inv_dist_rec.invoice_distribution_id
                                  )
                                   ,0
                                 )
                            )
                     INTO l_inv_dist_amount
                     FROM sys.dual;
Line: 3287

            SELECT -NVL(SUM(aphd.amount), 0)       ,
                   -NVL(SUM(aphd.invoice_dist_amount), 0),
                   -NVL(SUM(aphd.bank_curr_amount), 0)
            INTO l_prorated_amount,
                 l_inv_dist_amount  ,
                 l_bank_curr_amount
            FROM ap_payment_hist_dists aphd
            WHERE aphd.invoice_distribution_id IN
                 (SELECT invoice_distribution_id
                  FROM ap_invoice_distributions_all aid
                  WHERE aid.invoice_id = p_inv_rec.invoice_id
                 )
            AND aphd.payment_history_id IN
                (SELECT aph.payment_history_id
                 FROM ap_payment_history_all aph,
                      ap_invoice_distributions_all aid
                 WHERE aph.check_id                = p_xla_event_rec.source_id_int_1
                 AND aid.invoice_id                  = p_inv_rec.invoice_id
                 AND aph.invoice_adjustment_event_id = aid.accounting_event_id
                 AND aph.transaction_type =
                        (SELECT transaction_type
                         FROM ap_payment_history_all aph_evt
                         WHERE aph_evt.payment_history_id = p_pay_hist_rec.payment_history_id)
                         AND aph.posted_flag                 = 'S');
Line: 3384

                     SELECT
                            (p_inv_dist_rec.amount
                              / g_proration_divisor
                              * ( l_pay_amount_inv_curr
                                   - g_pay_awt_total_amt
                                 )
                             + nvl
                                 (
                                  (SELECT sum(amount)
                                   FROM ap_invoice_distributions_all aid
                                   WHERE aid.invoice_id                 =p_inv_pay_rec.invoice_id
                                   AND aid.awt_invoice_payment_id     =p_inv_pay_rec.invoice_payment_id
                                   AND aid.line_type_lookup_code      ='AWT'
                                   AND aid.awt_related_id             =p_inv_dist_rec.invoice_distribution_id
                                  )
                                   ,0
                                 )
                             + nvl
                                 (
                                  (SELECT  sum(amount) / g_proration_divisor *  (l_pay_amount_inv_curr - g_pay_awt_total_amt)
                                   FROM ap_invoice_distributions_all aid
                                   WHERE aid.invoice_id                 =p_inv_pay_rec.invoice_id
                                   AND aid.line_type_lookup_code      ='AWT'
                                   AND awt_invoice_payment_id         is null
                                   AND awt_related_id                 =p_inv_dist_rec.invoice_distribution_id
                                  )
                                   ,0
                                 )
                            )
                     INTO l_inv_dist_amount
                     FROM sys.dual;
Line: 3486

       l_log_msg := 'Now calling AP_Accounting_Pay_Pkg.Get_Base_Amount before insert';
Line: 3714

      l_log_msg := 'Calling procedure Pay_Dist_Insert';
Line: 3721

  Pay_Dist_Insert
          (l_pd_rec,
           l_curr_calling_sequence);
Line: 3727

      l_log_msg := 'Procedure Pay_Dist_Insert executed';
Line: 3858

  SELECT GL_Currency_API.Convert_Amount(
              p_inv_rec.invoice_currency_code,
              p_inv_rec.payment_currency_code,
              p_inv_rec.payment_cross_rate_date,
              'EMU FIXED',
              SUM(NVL(AID.Amount,0)))
  INTO   l_invoice_amount
  FROM   AP_Invoice_Distributions_All AID
  WHERE  AID.Invoice_ID =  p_inv_pay_rec.Invoice_ID
  AND    AID.Line_Type_Lookup_Code NOT IN ('PREPAY', 'AWT')
  AND    AID.Prepay_Tax_Parent_ID IS NULL -- For tax dists created in R11.5
  AND    AID.Prepay_Distribution_ID IS NULL
  AND    ( l_exclude_tax_from_disc = 'Y' and
           AID.Line_Type_Lookup_Code NOT IN ('REC_TAX', 'NONREC_TAX') or
           nvl(l_exclude_tax_from_disc, 'N') = 'N' )
  AND    AID.Line_Type_Lookup_Code <>
             DECODE(l_exclude_frt_from_disc, 'Y', 'FREIGHT', 'DUMMY')
  GROUP  BY AID.Invoice_ID;
Line: 4207

      l_log_msg := 'Calling procedure Pay_Dist_Insert';
Line: 4212

  Pay_Dist_Insert
          (l_pd_rec,
           l_curr_calling_sequence);
Line: 4223

      l_log_msg := 'Procedure Pay_Dist_Insert executed';
Line: 4282

     SELECT Currency_Conversion_Rate
     INTO   l_po_exchange_rate
     FROM   rcv_transactions
     WHERE  transaction_id = p_inv_dist_rec.rcv_transaction_id;
Line: 4295

     SELECT Rate
     INTO   l_po_exchange_rate
     FROM   PO_Distributions_All
     WHERE  PO_Distribution_ID = p_inv_dist_rec.PO_Distribution_ID;
Line: 4369

      l_log_msg := 'Calling procedure Pay_Dist_Insert';
Line: 4374

      l_log_msg := 'before callining erv/terv insert -' ||
                   'l_pd_rec.invoice_dist_base_amount = ' ||
                   l_pd_rec.invoice_dist_base_amount ||
                   'l_pd_rec.paid_base_amount or cleared_base_amount =' ||
                   l_erv_amount;
Line: 4387

    Pay_Dist_Insert
          (l_pd_rec,
           l_curr_calling_sequence);
Line: 4393

      l_log_msg := 'Procedure Pay_Dist_Insert executed';
Line: 4442

  SELECT Accounting_Event_ID,
         Invoice_Distribution_ID,
         Amount,
         Payment_History_ID,
         Invoice_Payment_ID
  FROM   AP_Payment_Hist_Dists APHD
  WHERE  APHD.Accounting_Event_ID = P_Event_ID
  AND    APHD.Pay_Dist_Lookup_Code = 'CASH'
   AND NOT EXISTS
  (SELECT 1 FROM AP_PAYMENT_HIST_DISTS APHD1
  WHERE APHD1.ACCOUNTING_EVENT_ID=P_Event_ID
  AND APHD1.INVOICE_DISTRIBUTION_ID = APHD.INVOICE_DISTRIBUTION_ID
  AND APHD1.PAY_DIST_LOOKUP_CODE ='BANK CHARGE')
  ORDER  BY Amount; /* Bug13385106 */
Line: 4509

  SELECT SUM(Amount)
  INTO   l_total_pay_amt
  FROM   AP_Payment_Hist_Dists
  WHERE  accounting_event_id = nvl(p_pay_hist_rec.related_event_id,P_XLA_Event_Rec.event_id)/* Bug13385106 */
  AND    Pay_Dist_Lookup_Code = 'CASH';
Line: 4612

          l_log_msg := 'Calling procedure Pay_Dist_Insert';
Line: 4617

      Pay_Dist_Insert
              (l_pd_rec,
               l_curr_calling_sequence);
Line: 4622

          l_log_msg := 'Procedure Pay_Dist_Insert executed';
Line: 4697

     INSERT INTO ap_payment_hist_dists
           (Payment_Hist_Dist_ID,
            Accounting_Event_ID,
            Amount,
            Pay_Dist_Lookup_Code,
            Payment_History_ID,
            Invoice_Distribution_ID,
            Invoice_Payment_ID,
            Bank_Curr_Amount,
            Cleared_Base_Amount,
            Invoice_Dist_Amount,
            Invoice_Dist_Base_Amount,
            Invoice_Adjustment_Event_ID,
            Matured_Base_Amount,
            Paid_Base_Amount,
            Reversal_Flag,
            Reversed_Pay_Hist_Dist_ID,
            AWT_Related_ID,
            PA_Addition_Flag,
            Quantity_Variance,
            Invoice_Base_Qty_Variance,
            Amount_Variance,
            Invoice_Base_Amt_Variance,
            Created_By,
            Creation_Date,
            Last_Update_Date,
            Last_Updated_By,
            Last_Update_Login,
            Program_Application_ID,
            Program_ID,
            Program_Login_ID,
            Program_Update_Date,
            Request_ID
           )
     SELECT AP_Payment_Hist_Dists_S.nextval,
            p_xla_event_rec.event_id,
            -1 * APHD.Amount,
            APHD.Pay_Dist_Lookup_Code,
            p_pay_hist_rec.Payment_History_ID,
            APHD.Invoice_Distribution_ID,
            p_inv_pay_rec.invoice_payment_id,
            -1 * APHD.Bank_Curr_Amount,
            -1 * APHD.Cleared_Base_Amount,
            -1 * APHD.Invoice_Dist_Amount,
            -1 * APHD.Invoice_Dist_Base_Amount,
            APHD.Invoice_Adjustment_Event_ID,
            -1 * APHD.Matured_Base_Amount,
            -1 * APHD.Paid_Base_Amount,
            'Y',
            APHD.Payment_Hist_Dist_ID,
            APHD.AWT_Related_ID,
            'N',
            APHD.Quantity_Variance,
            APHD.Invoice_Base_Qty_Variance,
            APHD.Amount_Variance,
            APHD.Invoice_Base_Amt_Variance,
            FND_GLOBAL.User_ID,
            SYSDATE,
            SYSDATE,
            FND_GLOBAL.User_ID,
            FND_GLOBAL.User_ID,
            FND_GLOBAL.Prog_Appl_ID,
            FND_GLOBAL.Conc_Program_ID,
            NULL,
            SYSDATE,
            FND_GLOBAL.Conc_Request_ID
     FROM   AP_Payment_Hist_Dists APHD,
            AP_Invoice_Payments_All AIP,
            AP_Invoice_Distributions_All AID
     WHERE  AIP.Invoice_Payment_ID = p_reversal_inv_pmt_id
     AND    AIP.Accounting_Event_ID = APHD.Accounting_Event_ID
     AND    AIP.Invoice_ID = AID.Invoice_ID
     AND    AID.Invoice_Distribution_ID = APHD.Invoice_Distribution_ID;
Line: 4786

        INSERT INTO ap_payment_hist_dists
              (Payment_Hist_Dist_ID,
               Accounting_Event_ID,
               Amount,
               Pay_Dist_Lookup_Code,
               Payment_History_ID,
               Invoice_Distribution_ID,
               Invoice_Payment_ID,
               Bank_Curr_Amount,
               Cleared_Base_Amount,
               Invoice_Dist_Amount,
               Invoice_Dist_Base_Amount,
               Invoice_Adjustment_Event_ID,
               Matured_Base_Amount,
               Paid_Base_Amount,
               Reversal_Flag,
               Reversed_Pay_Hist_Dist_ID,
               AWT_Related_ID,
               PA_Addition_Flag,
               Quantity_Variance,
               Invoice_Base_Qty_Variance,
               Amount_Variance,
               Invoice_Base_Amt_Variance,
               Created_By,
               Creation_Date,
               Last_Update_Date,
               Last_Updated_By,
               Last_Update_Login,
               Program_Application_ID,
               Program_ID,
               Program_Login_ID,
               Program_Update_Date,
               Request_ID,
               Gain_Loss_Indicator --11681786
              )
        SELECT AP_Payment_Hist_Dists_S.nextval,
               p_xla_event_rec.event_id,
               -1 * APHD.Amount,
               APHD.Pay_Dist_Lookup_Code,
               p_pay_hist_rec.Payment_History_ID,
               APHD.Invoice_Distribution_ID,
               AIP.Invoice_Payment_ID,
               -1 * APHD.Bank_Curr_Amount,
               -1 * APHD.Cleared_Base_Amount,
               -1 * APHD.Invoice_Dist_Amount,
               -1 * APHD.Invoice_Dist_Base_Amount,
               APHD.Invoice_Adjustment_Event_ID,
               -1 * APHD.Matured_Base_Amount,
               -1 * APHD.Paid_Base_Amount,
               'Y',
               APHD.Payment_Hist_Dist_ID,
               APHD.AWT_Related_ID,
               'N',
               APHD.Quantity_Variance,
               APHD.Invoice_Base_Qty_Variance,
               APHD.Amount_Variance,
               APHD.Invoice_Base_Amt_Variance,
               FND_GLOBAL.User_ID,
               SYSDATE,
               SYSDATE,
               FND_GLOBAL.User_ID,
               FND_GLOBAL.User_ID,
               FND_GLOBAL.Prog_Appl_ID,
               FND_GLOBAL.Conc_Program_ID,
               NULL,
               SYSDATE,
               FND_GLOBAL.Conc_Request_ID,
               APHD.Gain_Loss_Indicator --11681786
        FROM   AP_Payment_Hist_Dists APHD,
               AP_Payment_History_All APH,
               AP_Invoice_Payments_All AIP,
               AP_Invoice_Distributions_All AID   -- 6804379
        WHERE  nvl(APH.Related_Event_ID, APH.Accounting_Event_ID) = p_related_event_id
        AND    APHD.Payment_History_ID = APH.Payment_History_ID
        AND    NVL(APHD.Reversal_Flag,'N') <> 'Y'
        AND    AID.Invoice_Distribution_ID = APHD.Invoice_Distribution_ID
	AND    AIP.Reversal_inv_pmt_id = APHD.invoice_payment_id --Bug 6881085
        AND    AIP.Accounting_Event_ID = p_xla_event_rec.event_id
        AND    AIP.Check_ID = APH.Check_ID -- Bug 6856694
        AND    AIP.Invoice_ID = AID.Invoice_ID
        AND    NOT EXISTS (SELECT 'Reversal Payment Dists'
                           FROM   AP_Payment_Hist_Dists APHD1,
                                  AP_Invoice_Distributions_ALL AID1 --Bug11681786
                           WHERE  APHD1.Reversed_Pay_Hist_Dist_ID  = APHD.Payment_Hist_Dist_ID     -- Bug 6856694
                           AND    APHD1.Invoice_Distribution_ID  IN (AID1.Invoice_Distribution_id, APHD.Invoice_Distribution_ID)
                           AND    AID1.Parent_Reversal_ID (+) = APHD.Invoice_Distribution_ID );
Line: 4874

        INSERT INTO ap_payment_hist_dists
              (Payment_Hist_Dist_ID,
               Accounting_Event_ID,
               Amount,
               Pay_Dist_Lookup_Code,
               Payment_History_ID,
               Invoice_Distribution_ID,
               Invoice_Payment_ID,
               Bank_Curr_Amount,
               Cleared_Base_Amount,
               Invoice_Dist_Amount,
               Invoice_Dist_Base_Amount,
               Invoice_Adjustment_Event_ID,
               Matured_Base_Amount,
               Paid_Base_Amount,
               Reversal_Flag,
               Reversed_Pay_Hist_Dist_ID,
               AWT_Related_ID,
               PA_Addition_Flag,
               Quantity_Variance,
               Invoice_Base_Qty_Variance,
               Amount_Variance,
               Invoice_Base_Amt_Variance,
               Created_By,
               Creation_Date,
               Last_Update_Date,
               Last_Updated_By,
               Last_Update_Login,
               Program_Application_ID,
               Program_ID,
               Program_Login_ID,
               Program_Update_Date,
               Request_ID
              )
        SELECT AP_Payment_Hist_Dists_S.nextval,
               p_xla_event_rec.event_id,
               -1 * APHD.Amount,
               APHD.Pay_Dist_Lookup_Code,
               p_pay_hist_rec.Payment_History_ID,
               APHD.Invoice_Distribution_ID,
               APHD.Invoice_Payment_ID,
               -1 * APHD.Bank_Curr_Amount,
               -1 * APHD.Cleared_Base_Amount,
               -1 * APHD.Invoice_Dist_Amount,
               -1 * APHD.Invoice_Dist_Base_Amount,
               APHD.Invoice_Adjustment_Event_ID,
               -1 * APHD.Matured_Base_Amount,
               -1 * APHD.Paid_Base_Amount,
               'Y',
               APHD.Payment_Hist_Dist_ID,
               APHD.AWT_Related_ID,
               'N',
               APHD.Quantity_Variance,
               APHD.Invoice_Base_Qty_Variance,
               APHD.Amount_Variance,
               APHD.Invoice_Base_Amt_Variance,
               FND_GLOBAL.User_ID,
               SYSDATE,
               SYSDATE,
               FND_GLOBAL.User_ID,
               FND_GLOBAL.User_ID,
               FND_GLOBAL.Prog_Appl_ID,
               FND_GLOBAL.Conc_Program_ID,
               NULL,
               SYSDATE,
               FND_GLOBAL.Conc_Request_ID
        FROM   AP_Payment_Hist_Dists APHD,
               AP_Payment_History_All APH -- 6804379
        WHERE  APH.Check_ID = p_xla_event_rec.Source_ID_Int_1 -- Bug 6856694
        AND    NVL(APH.Related_Event_ID, APH.Accounting_Event_ID) = p_related_event_id
        AND    APHD.Payment_History_ID = APH.Payment_History_ID
        AND    NVL(APHD.Reversal_Flag,'N') <> 'Y'
        AND    NOT EXISTS (SELECT 'Reversal Payment Dists'
                           FROM   AP_Payment_Hist_Dists APHD1,
                                  AP_Invoice_Distributions_ALL AID1  --Bug11681786
                           WHERE  APHD1.Reversed_Pay_Hist_Dist_ID  = APHD.Payment_Hist_Dist_ID     -- Bug 6856694
                           AND    APHD1.Invoice_Distribution_ID  IN (AID1.Invoice_Distribution_id, APHD.Invoice_Distribution_ID)
                           AND    AID1.Parent_Reversal_ID (+) = APHD.Invoice_Distribution_ID );
Line: 4963

     INSERT INTO ap_payment_hist_dists
           (Payment_Hist_Dist_ID,
            Accounting_Event_ID,
            Amount,
            Pay_Dist_Lookup_Code,
            Payment_History_ID,
            Invoice_Distribution_ID,
            Invoice_Payment_ID,
            Bank_Curr_Amount,
            Cleared_Base_Amount,
            Invoice_Dist_Amount,
            Invoice_Dist_Base_Amount,
            Invoice_Adjustment_Event_ID,
            Matured_Base_Amount,
            Paid_Base_Amount,
            Reversal_Flag,
            Reversed_Pay_Hist_Dist_ID,
            AWT_Related_ID,
            PA_Addition_Flag,
            Quantity_Variance,
            Invoice_Base_Qty_Variance,
            Amount_Variance,
            Invoice_Base_Amt_Variance,
            Created_By,
            Creation_Date,
            Last_Update_Date,
            Last_Updated_By,
            Last_Update_Login,
            Program_Application_ID,
            Program_ID,
            Program_Login_ID,
            Program_Update_Date,
            Request_ID
           )
     SELECT AP_Payment_Hist_Dists_S.nextval,
            p_xla_event_rec.event_id,
            -1 * APHD.Amount,
            APHD.Pay_Dist_Lookup_Code,
            p_pay_hist_rec.Payment_History_ID,
            p_inv_dist_rec.Invoice_Distribution_ID, -- Bug 6887295
            APHD.Invoice_Payment_ID,
            -1 * APHD.Bank_Curr_Amount,
            -1 * APHD.Cleared_Base_Amount,
            -1 * APHD.Invoice_Dist_Amount,
            -1 * APHD.Invoice_Dist_Base_Amount,
            p_pay_hist_rec.Invoice_Adjustment_Event_ID,
            -1 * APHD.Matured_Base_Amount,
            -1 * APHD.Paid_Base_Amount,
            'Y',
            APHD.Payment_Hist_Dist_ID,
            APHD.AWT_Related_ID,
            'N',
            APHD.Quantity_Variance,
            APHD.Invoice_Base_Qty_Variance,
            APHD.Amount_Variance,
            APHD.Invoice_Base_Amt_Variance,
            FND_GLOBAL.User_ID,
            SYSDATE,
            SYSDATE,
            FND_GLOBAL.User_ID,
            FND_GLOBAL.User_ID,
            FND_GLOBAL.Prog_Appl_ID,
            FND_GLOBAL.Conc_Program_ID,
            NULL,
            SYSDATE,
            FND_GLOBAL.Conc_Request_ID
     FROM   AP_Payment_Hist_Dists APHD,
            AP_Payment_History_All APH
     WHERE  APHD.Invoice_Distribution_ID = p_invoice_dist_id
     AND    APHD.Payment_History_ID = APH.Payment_History_ID
     AND    APH.Check_ID = p_xla_event_rec.source_id_int_1 -- Bug 6887295
     AND    APH.Related_Event_ID = p_pay_hist_rec.related_event_id
     AND    APHD.invoice_payment_id = p_inv_pay_rec.invoice_payment_id ; -- Bug 13107915
Line: 5065

         SELECT Payment_History_ID,
                Accounting_Event_ID,
                NVL(Historical_Flag, 'N') Historical_Flag,
                XAH.upg_batch_id
           FROM ap_payment_history_all APH,
                xla_ae_headers XAH,
                ap_system_parameters_all ASP
          WHERE  APH.Check_ID = p_xla_event_rec.source_id_int_1
            -- AND    APH.rev_pmt_hist_id is null   bug9448974
            AND    APH.Posted_Flag = 'Y'
            AND    XAH.application_id = 200
            AND    XAH.event_id = APH.accounting_event_id
            AND    ASP.org_id = APH.org_id
            AND    ASP.set_of_books_id = XAH.ledger_id)
       LOOP

       IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
           l_log_msg := 'Inside loop for upgrading dist links for '||
	                'PAYMENT CANCELLED,REFUND CANCELLED ';
Line: 5091

             l_log_msg := 'Calling Upg_Dist_Links_Insert for payment_history_id '||
	                   aph_events.payment_history_id;
Line: 5104

             SELECT 'Y'
               INTO l_reversed_in_R12
               FROM dual
              WHERE EXISTS
                    (SELECT 'reversed in R12'
                       FROM ap_payment_history_all aph,
                            xla_ae_headers xah,
                            ap_system_parameters_all asp
                      WHERE aph.rev_pmt_hist_id = aph_events.payment_history_id
                        AND xah.application_id = 200
                        AND aph.accounting_event_id = xah.event_id
                        AND aph.posted_flag = 'Y'
                        AND xah.accounting_entry_status_code = 'F'
                        AND xah.ledger_id = asp.set_of_books_id
                        AND aph.org_id = asp.org_id --bug13814470
                        AND (xah.upg_batch_id IS NULL OR
                             xah.upg_batch_id = -9999));
Line: 5135

   	     Upg_Dist_Links_Insert
                    (p_xla_event_rec,
                     aph_events.payment_history_id,
                     aph_events.accounting_event_id,
                     l_curr_calling_sequence);
Line: 5143

               l_log_msg := 'Procedure Upg_Dist_Link_Insert complete';
Line: 5171

         SELECT Payment_History_ID,
                Accounting_Event_ID,
                NVL(Historical_Flag, 'N'),
                XAH.upg_batch_id
           INTO l_payment_history_id,
                l_accounting_event_id,
                l_historical_flag,
                l_upg_batch_id
           FROM ap_payment_history_all APH,
                xla_ae_headers XAH,
                ap_system_parameters_all ASP
          WHERE APH.Check_ID = p_xla_event_rec.source_id_int_1
            AND APH.Transaction_Type = l_transaction_type
            AND APH.payment_history_id =
                        DECODE(l_transaction_type,
                               'PAYMENT CLEARING', p_pay_hist_rec.rev_pmt_hist_id,
                               'PAYMENT MATURITY', p_pay_hist_rec.rev_pmt_hist_id,
                                APH.payment_history_id)
            AND APH.Posted_Flag = 'Y'
            AND XAH.application_id = 200
            AND XAH.event_id = APH.accounting_event_id
            AND ASP.org_id = APH.org_id
            AND ASP.set_of_books_id = XAH.ledger_id;
Line: 5212

               l_log_msg := 'Calling procedure Upg_Dist_Link_Insert';
Line: 5216

           Upg_Dist_Links_Insert
                    (p_xla_event_rec,
                     l_payment_history_id,
                     l_accounting_event_id,
                     l_curr_calling_sequence);
Line: 5222

               l_log_msg := 'Procedure Upg_Dist_Link_Insert complete';
Line: 5263

PROCEDURE Pay_Dist_Insert
     (P_PD_Rec            IN     AP_PAYMENT_HIST_DISTS%ROWTYPE
     ,P_Calling_Sequence  IN     VARCHAR2
     ) IS

  l_curr_calling_sequence      VARCHAR2(2000);
Line: 5271

  l_procedure_name CONSTANT VARCHAR2(30) := 'Pay_Dist_Insert';
Line: 5277

  l_curr_calling_sequence := 'AP_ACCTG_PAY_DIST_PKG.Pay_Dist_Insert<- ' ||
                                     P_Calling_Sequence;
Line: 5288

  INSERT INTO AP_Payment_Hist_Dists
        (Payment_Hist_Dist_ID,
         Accounting_Event_ID,
         Amount,
         Pay_Dist_Lookup_Code,
         Payment_History_ID,
         Invoice_Distribution_ID,
         Invoice_Payment_ID,
         Bank_Curr_Amount,
         Cleared_Base_Amount,
         Invoice_Dist_Amount,
         Invoice_Dist_Base_Amount,
         Invoice_Adjustment_Event_ID,
         Matured_Base_Amount,
         Paid_Base_Amount,
         Reversal_Flag,
         Reversed_Pay_Hist_Dist_ID,
         AWT_Related_ID,
         PA_Addition_Flag,
         Quantity_Variance,
         Invoice_Base_Qty_Variance,
         Amount_Variance,
         Invoice_Base_Amt_Variance,
         Created_By,
         Creation_Date,
         Last_Update_Date,
         Last_Updated_By,
         Last_Update_Login,
         Program_Application_ID,
         Program_ID,
         Program_Login_ID,
         Program_Update_Date,
         Request_ID
         )
  VALUES (AP_Payment_Hist_Dists_S.nextval,
         P_PD_Rec.Accounting_Event_ID,
         P_PD_Rec.Amount,
         P_PD_Rec.Pay_Dist_Lookup_Code,
         P_PD_Rec.Payment_History_ID,
         P_PD_Rec.Invoice_Distribution_ID,
         P_PD_Rec.Invoice_Payment_ID,
         P_PD_Rec.Bank_Curr_Amount,
         P_PD_Rec.Cleared_Base_Amount,
         P_PD_Rec.Invoice_Dist_Amount,
         P_PD_Rec.Invoice_Dist_Base_Amount,
         P_PD_Rec.Invoice_Adjustment_Event_ID,
         P_PD_Rec.Matured_Base_Amount,
         P_PD_Rec.Paid_Base_Amount,
         P_PD_Rec.Reversal_Flag,
         P_PD_Rec.Reversed_Pay_Hist_Dist_ID,
         P_PD_Rec.AWT_Related_ID,
         'N',
         P_PD_Rec.Quantity_Variance,
         P_PD_Rec.Invoice_Base_Qty_Variance,
         P_PD_Rec.Amount_Variance,
         P_PD_Rec.Invoice_Base_Amt_Variance,
         FND_GLOBAL.User_ID,
         SYSDATE,
         SYSDATE,
         FND_GLOBAL.User_ID,
         FND_GLOBAL.User_ID,
         FND_GLOBAL.Prog_Appl_ID,
         FND_GLOBAL.Conc_Program_ID,
         NULL,
         SYSDATE,
         FND_GLOBAL.Conc_Request_ID
         );
Line: 5372

END Pay_Dist_Insert;
Line: 5386

PROCEDURE Upg_Dist_Links_Insert
           (p_xla_event_rec       IN  ap_accounting_pay_pkg.r_xla_event_info
           ,p_payment_history_id  IN  NUMBER
           ,p_accounting_event_id IN  NUMBER
           ,p_calling_sequence    IN  VARCHAR2
           ) IS

  l_curr_calling_sequence      VARCHAR2(2000);
Line: 5396

  l_procedure_name CONSTANT VARCHAR2(30) := 'Upg_Dist_Links_Insert';
Line: 5402

  l_curr_calling_sequence := 'AP_ACCTG_PAY_DIST_PKG.Upg_Dist_Links_Insert<- ' ||
                                     P_Calling_Sequence;
Line: 5418

  DELETE FROM xla_distribution_links
  WHERE  application_id = 200
  AND    ae_header_id IN
              (SELECT ae_header_id
               FROM   xla_ae_headers aeh,
                      ap_payment_history_all aph
               WHERE  aeh.event_id = aph.accounting_event_id
               AND    aph.accounting_event_id = p_accounting_event_id
               AND    aph.check_id = p_xla_event_rec.source_id_int_1
               AND    aph.historical_flag = 'Y'
               AND    aeh.upg_batch_id IS NOT NULL)
  AND    upg_batch_id IS NOT NULL;
Line: 5433

      l_log_msg := 'Inserting xla_distribution_links for event '||
                               p_accounting_event_id;
Line: 5443

  INSERT INTO XLA_Distribution_Links t1
        (APPLICATION_ID,
         EVENT_ID,
         AE_HEADER_ID,
         AE_LINE_NUM,
         SOURCE_DISTRIBUTION_TYPE,
         SOURCE_DISTRIBUTION_ID_NUM_1,
         UNROUNDED_ENTERED_CR,
         UNROUNDED_ENTERED_DR,
         UNROUNDED_ACCOUNTED_CR,
         UNROUNDED_ACCOUNTED_DR,
         REF_AE_HEADER_ID,
         ACCOUNTING_LINE_CODE,
         ACCOUNTING_LINE_TYPE_CODE,
         MERGE_DUPLICATE_CODE,
         TEMP_LINE_NUM,
         REF_EVENT_ID,
         UPG_BATCH_ID,
         LINE_DEFINITION_OWNER_CODE,
         LINE_DEFINITION_CODE,
         EVENT_CLASS_CODE,
         EVENT_TYPE_CODE,
	 --- changed for bug#7293021 start
	 APPLIED_TO_APPLICATION_ID,
         APPLIED_TO_ENTITY_ID,
         APPLIED_TO_DIST_ID_NUM_1,
         APPLIED_TO_DISTRIBUTION_TYPE
	 --- changed for bug#7293021 end
	 )
  SELECT 200,
         Accounting_Event_ID,
         AE_Header_ID,
         AE_Line_Num,
         'AP_PMT_DIST',
         Source_Distribution_ID_Num_1,
         --Bug 12619564 start
         (
         CASE
         WHEN (Line_Entered_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) <> -1)
              or (Line_Entered_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) =-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt ))
         ELSE NULL
         END )
         ,(
         CASE
         WHEN (Line_Entered_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) <> -1)
              or (Line_Entered_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) =-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt ))
         ELSE NULL
         END )
         ,(
         CASE
         WHEN (Line_Accounted_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))<> -1)
              or (Line_Accounted_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))=-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))
         ELSE NULL
         END )
         ,(
         CASE
         WHEN (Line_Accounted_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))<> -1)
              or (Line_Accounted_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))=-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))
         ELSE NULL
         END ),
         --Bug 12619564 end
         Ref_AE_Header_ID,
        (CASE
             WHEN Payment_Type_Flag = 'R' THEN
                  DECODE(Accounting_Class_Code,
                         'CASH_CLEARING', 'AP_CASH_CLEAR_REF', 'CASH', 'AP_CASH_REF',
                         'ACCRUAL', 'AP_ACCRUAL_REF', 'DISCOUNT', 'AP_DISCOUNT_ACCR_REF',
                         'EXCHANGE_RATE_VARIANCE', 'AP_EX_RATE_VAR_REF',
                         'ROUNDING', 'AP_FINAL_PMT_ROUNDING_REF',
                         'GAIN', 'AP_GAIN_REF', 'FREIGHT', 'AP_FREIGHT_EXPENSE_REF',
                         'IPV', 'AP_INV_PRICE_VAR_REF', 'ITEM EXPENSE', 'AP_ITEM_EXPENSE_REF',
                         'LOSS', 'AP_LOSS_REF', 'LIABILITY', 'AP_LIAB_REF',
                         'NRTAX', 'AP_NON_RECOV_TAX_REF',
                         'PREPAID_EXPENSE', 'AP_PREPAID_EXP_REF', 'RTAX','AP_RECOV_TAX_REF',
                         'AWT', 'AP_WITHHOLD_TAX_ACCR_REF')
             WHEN Transaction_Type = 'PAYMENT MATURITY' THEN
                  DECODE(Accounting_Class_Code, 'FUTURE_DATED_PMT', 'AP_FUTURE_DATED_PMT_MAT',
                         'CASH_CLEARING', 'AP_CASH_CLEAR_PMT_MAT',
                         'CASH', 'AP_CASH_PMT_MAT', 'GAIN', 'AP_GAIN_PMT_MAT',
                         'LOSS', 'AP_LOSS_PMT_MAT', 'ROUNDING', 'AP_FUTURE_PMT_ROUNDING_MAT')
             WHEN Transaction_Type IN ('PAYMENT CREATED', 'PAYMENT CANCELLED') THEN
                  DECODE(Accounting_Class_Code, 'FUTURE_DATED_PMT', 'AP_FUTURE_DATED_PMT',
                         'CASH_CLEARING', 'AP_CASH_CLEAR_PMT', 'CASH', 'AP_CASH_PMT',
                         'ACCRUAL', 'AP_ACCRUAL_PMT', 'DISCOUNT', 'AP_DISCOUNT_ACCR_PMT',
                         'EXCHANGE_RATE_VARIANCE', 'AP_EX_RATE_VAR_PMT',
                         'ROUNDING', 'AP_FINAL_PMT_ROUNDING_PMT',
                         'GAIN', 'AP_GAIN_PMT', 'FREIGHT', 'AP_FREIGHT_EXPENSE_PMT',
                         'IPV', 'AP_INV_PRICE_VAR_PMT', 'ITEM EXPENSE', 'AP_ITEM_EXPENSE_PMT',
                         'LOSS', 'AP_LOSS_PMT', 'LIABILITY', 'AP_LIAB_PMT',
                         'NRTAX', 'AP_NON_RECOV_TAX_PMT',
                         'PREPAID_EXPENSE', 'AP_PREPAID_EXP_PMT', 'RTAX','AP_RECOV_TAX_PMT',
                         'AWT', 'AP_WITHHOLD_TAX_ACCR_PMT')
             WHEN Transaction_Type IN ('PAYMENT CLEARING', 'PAYMENT UNCLEARING') THEN
                  DECODE(Accounting_Class_Code, 'BANK_CHG', 'AP_BANK_CHARGES_CLEAR',
                         'CASH_CLEARING', 'AP_CASH_CLEAR_CLEAR', 'CASH', 'AP_CASH_CLEAR',
                         'ACCRUAL', 'AP_ACCRUAL_CLEAR', 'DISCOUNT', 'AP_DISCOUNT_ACCR_CLEAR',
                         'EXCHANGE_RATE_VARIANCE', 'AP_EX_RATE_VAR_CLEAR',
                         'BANK_ERROR', 'AP_BANK_ERROR_CLEAR',
                         'ROUNDING', 'AP_FINAL_PMT_ROUNDING_CLEAR',
                         'GAIN', 'AP_GAIN_PMT_CLEAR', 'FREIGHT', 'AP_FREIGHT_EXPENSE_CLEAR',
                         'IPV', 'AP_INV_PRICE_VAR_CLEAR', 'ITEM EXPENSE', 'AP_ITEM_EXPENSE_CLEAR',
                         'LOSS', 'AP_LOSS_PMT_CLEAR', 'LIABILITY', 'AP_LIAB_CLEAR',
                         'NRTAX', 'AP_NON_RECOV_TAX_CLEAR', 'RTAX','AP_RECOV_TAX_CLEAR',
                         'AWT', 'AP_WITHHOLD_TAX_ACCR_CLEAR')
         END),
         'S',
         'A',  --changed by abhsaxen for bug#9073033
         Row_Number() OVER (PARTITION BY AE_Header_ID
                      ORDER BY AE_Line_Num,
                               Invoice_Distribution_ID,
                               Invoice_Payment_ID,
                               Payment_History_ID) Temp_Line_Num,
         Accounting_Event_ID,
         Upg_Batch_ID,
         'S',
         'ACCRUAL_PAYMENTS_ALL',
         'PAYMENTS',
         'PAYMENTS_ALL',
         -- changed for bug#7293021 start
         DECODE(Accounting_Class_Code, 'LIABILITY' ,200, null),
         DECODE(Accounting_Class_Code, 'LIABILITY' ,aid_Entity_id, null),
         DECODE(Accounting_Class_Code, 'LIABILITY' ,Invoice_Distribution_ID, null),
         'AP_INV_DIST'
         -- changed for bug#7293021 end
  FROM (
  SELECT Accounting_Event_ID,
         AE_Header_ID,
         AE_Line_Num,
         Line_Entered_Cr,
         Line_Entered_Dr,
         Line_Accounted_Cr,
         Line_Accounted_Dr,
         Invoice_Distribution_ID,
         Invoice_Payment_ID,
         Payment_History_ID,
         Upg_Batch_ID,
         Base_Currency_Code,
         Source_Distribution_ID_Num_1,
         Line_Entered_Amt,
         Line_Accounted_Amt,
         DECODE(FC.Minimum_Accountable_Unit, NULL,
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                  / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt)),
              FC.Precision),
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                  / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt))
              /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit) Accounted_Amt,
         DECODE(FC.Minimum_Accountable_Unit, NULL,
            ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Ent_Amt, 0 ,1, PDivisor_Ent_Amt)), FC.Precision),
            ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Acct_Amt, 0 ,1, PDivisor_Ent_Amt))
              /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit) Entered_Amt,
         Dist_Count,
         Rank_Num,
         SUM(DECODE(FC.Minimum_Accountable_Unit, NULL,
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                   / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt)),
                   FC.Precision),
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                   / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt))
              /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit))
            OVER (PARTITION BY Check_ID, Part_Key1, Part_Key2, AE_Line_Num)
                 Sum_Accounted_Amt,
         SUM(DECODE(FC.Minimum_Accountable_Unit, NULL,
              ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Ent_Amt, 0 ,1, PDivisor_Ent_Amt)), FC.Precision),
              ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Ent_Amt, 0 ,1, PDivisor_Ent_Amt))
               /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit))
            OVER (PARTITION BY Check_ID, Part_Key1, Part_Key2, AE_Line_Num) Sum_Entered_Amt,
         Ref_AE_Header_ID,
         Payment_Type_Flag,
         Transaction_Type,
         Accounting_Class_Code,
        aid_Entity_id  -- changed for bug#7293021
  FROM (
  SELECT AC.Check_ID Check_ID,
         AEH.Event_ID Accounting_Event_ID,
         AEH.AE_Header_ID AE_Header_ID,
         AEL.AE_Line_Num AE_Line_Num,
         AEL.Entered_Cr Line_Entered_Cr,
         AEL.Entered_Dr Line_Entered_Dr,
         AEL.Accounted_Cr Line_Accounted_Cr,
         AEL.Accounted_Dr Line_Accounted_Dr,
         APHD.Invoice_Distribution_ID Invoice_Distribution_ID,
         APHD.Invoice_Payment_ID Invoice_Payment_ID,
         APHD.Payment_History_ID Payment_History_ID,
         AEL.Upg_Batch_ID Upg_Batch_ID,
         ASP.Base_Currency_Code Base_Currency_Code,
         APHD.Payment_Hist_Dist_ID Source_Distribution_ID_Num_1,
         NVL(AEL.Entered_Cr, AEL.Entered_Dr) Line_Entered_Amt,
         NVL(AEL.Accounted_Cr, AEL.Accounted_Dr) Line_Accounted_Amt,
         AID.Amount Dist_Amount,
         NVL(AID.Base_Amount, AID.Amount) Dist_Base_Amount,
         COUNT(*) OVER (PARTITION BY AI.Invoice_ID, AID1.Invoice_Distribution_ID,
                                     AEL.AE_Line_Num) Dist_Count,
         RANK() OVER (PARTITION BY AI.Invoice_ID, AID1.Invoice_Distribution_ID,
                                   AEL.AE_Line_Num
                        ORDER BY AID.Amount,
                                 APHD.Invoice_Payment_Id,    --bug9307438
                                 AID.Invoice_distribution_id --bug8774970
                                           /*AID.Distribution_Line_Number*/) Rank_Num,
         AID1.Amount PDivisor_Ent_Amt,
         NVL(AID1.Base_Amount, AID1.Amount) PDivisor_Acct_Amt,
         AI.Invoice_ID Part_Key1,
         AID1.Invoice_Distribution_ID Part_Key2,
         AEH.AE_Header_ID Ref_AE_Header_ID,
         AC.Payment_Type_Flag Payment_Type_Flag,
         APH.Transaction_Type Transaction_Type,
         AEL.Accounting_Class_Code Accounting_Class_Code,
	 xte_inv.entity_id aid_Entity_id
  FROM   AP_Checks_All AC,
         AP_System_Parameters_All ASP,
         XLA_Transaction_Entities_Upg XTE,
         XLA_Events XLE,
         AP_Payment_History_All APH,
         XLA_AE_Headers AEH,
         XLA_AE_Lines AEL,
         AP_Inv_Dists_Source AID1,
         AP_Invoices_All AI,
         AP_Invoice_Distributions_All AID,
         AP_Payment_Hist_Dists APHD,
         XLA_Transaction_Entities_Upg XTE_INV --Bug7169843 Bug11071399
  WHERE  AC.Check_ID = p_xla_event_rec.source_id_int_1
  AND    AC.Org_ID = ASP.Org_ID
  AND    XLE.Event_ID = p_accounting_event_id
  AND    ASP.Set_Of_Books_ID = XTE.Ledger_ID
  AND    AEH.ledger_id       = ASP.Set_Of_Books_ID -- Bug#8708433
  AND    XTE.Entity_Code = 'AP_PAYMENTS'
  AND    AC.Check_ID = nvl(XTE.Source_ID_Int_1,-99)
  AND    XTE.Application_ID = 200
  AND    XTE.Entity_ID = XLE.Entity_ID
  AND    XLE.Application_ID = 200
  AND    XLE.Event_ID = AEH.Event_ID
  AND    XLE.Upg_Batch_ID IS NOT NULL
  AND    AEH.Application_ID = 200
  AND    AEL.AE_Header_ID = AEH.AE_Header_ID
  AND    AEL.Application_ID = 200
  AND    XLE.Event_ID = APH.Accounting_Event_ID
  AND    APH.Check_ID = AC.Check_ID
  AND    APH.Payment_History_ID = p_payment_history_id
  AND    APH.Payment_History_ID = APHD.Payment_History_ID
  AND    APHD.Invoice_Payment_ID = DECODE(AEL.Source_Table, 'AP_INVOICE_PAYMENTS',
                                            AEL.Source_ID, APHD.Invoice_Payment_ID)
  -- begin 8774970
  AND    NVL(AID.Old_Distribution_Id, AID.Invoice_Distribution_Id) =
              DECODE(AEL.Source_Table, 'AP_INVOICE_DISTRIBUTIONS',
                     AEL.Source_ID, NVL(AID.Old_Distribution_Id,APHD.Invoice_Distribution_Id))
  AND    AID.Invoice_Id = DECODE(AEL.Source_Table, 'AP_INVOICES',
                                 AEL.Source_ID, AID.Invoice_Id)
  AND    APH.Check_Id = DECODE(AEL.Source_Table, 'AP_CHECKS',
                               AEL.Source_ID, APH.Check_Id)
  -- end 8774970
  AND    APHD.Invoice_Distribution_ID = AID.Invoice_Distribution_ID
  AND    AEL.Account_Overlay_Source_ID = AID1.Invoice_Distribution_ID
  AND    AID1.Invoice_ID = AI.Invoice_ID
  AND    AID1.Invoice_Distribution_ID = AID.Old_Distribution_ID
  AND    XTE_INV.ledger_id = AID.Set_Of_Books_id -- Bug11071399 start
  AND    XTE_INV.Entity_Code = 'AP_INVOICES'
  AND    XTE_INV.Application_id = 200
  AND    NVL(XTE_INV.Source_id_int_1, -99) = AID.invoice_id -- Bug11071399 end
  --Bug 12619564 start
  /* AND DECODE(ael.accounting_class_code,'AWT','AWT','DISCOUNT','DISCOUNT',
	      aphd.pay_dist_lookup_code) = aphd.pay_dist_lookup_code
   Commented by Bug 12619564
  */
  AND decode(AEL.source_table, 'AP_CHECKS', AEL.Accounting_Class_Code, APHD.Pay_Dist_Lookup_Code)
           = decode(AEL.source_table, 'AP_CHECKS'
               ,decode(APHD.Pay_Dist_Lookup_Code,'AWT','AWT','DISCOUNT','DISCOUNT',
                    AEL.Accounting_Class_Code) ,APHD.Pay_Dist_Lookup_Code)
  AND ael.accounting_class_code =
                decode(aphd.pay_dist_lookup_code
                        , 'AWT', DECODE(ael.accounting_class_code
                                        ,'LIABILITY',ael.accounting_class_code
                                        ,aphd.pay_dist_lookup_code)
                        , 'DISCOUNT', aphd.pay_dist_lookup_code
                        , 'BANK_CHG', aphd.pay_dist_lookup_code
                        , 'BANK_ERROR', aphd.pay_dist_lookup_code
                        ,  DECODE(ael.accounting_class_code
                                 ,'BANK_CHG',aphd.pay_dist_lookup_code
                                 ,'BANK_ERROR',aphd.pay_dist_lookup_code
                                 ,'AWT',aphd.pay_dist_lookup_code
                                 ,'DISCOUNT',aphd.pay_dist_lookup_code
                                 ,ael.accounting_class_code)
                        ) --Bug 13533030
  UNION ALL
  SELECT AC.Check_ID Check_ID,
         AEH.Event_ID Accounting_Event_ID,
         AEH.AE_Header_ID AE_Header_ID,
         AEL.AE_Line_Num AE_Line_Num,
         AEL.Entered_Cr Line_Entered_Cr,
         AEL.Entered_Dr Line_Entered_Dr,
         AEL.Accounted_Cr Line_Accounted_Cr,
         AEL.Accounted_Dr Line_Accounted_Dr,
         APHD.Invoice_Distribution_ID Invoice_Distribution_ID,
         APHD.Invoice_Payment_ID Invoice_Payment_ID,
         APHD.Payment_History_ID Payment_History_ID,
         AEL.Upg_Batch_ID Upg_Batch_ID,
         ASP.Base_Currency_Code Base_Currency_Code,
         APHD.Payment_Hist_Dist_ID Source_Distribution_ID_Num_1,
         NVL(AEL.Entered_Cr, AEL.Entered_Dr) Line_Entered_Amt,
         NVL(AEL.Accounted_Cr, AEL.Accounted_Dr) Line_Accounted_Amt,
         AID.Amount Dist_Amount,
         NVL(AID.Base_Amount, AID.Amount) Dist_Base_Amount,
         COUNT(*) OVER (PARTITION BY AC.Check_ID,
                          DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID),
		          AEL.AE_Line_Num) Dist_Count,
         RANK() OVER (PARTITION BY AC.Check_ID, aeh.ae_header_id, -- bug 8638413
                          DECODE(AEL.Source_Table, 'AP_CHECKS', AC.Check_ID, AI.Invoice_ID),
		          AEL.AE_Line_Num
                      ORDER BY AID.Amount,
                               APHD.Invoice_Payment_Id,    --bug9307438
                               AID.Invoice_distribution_id --bug8774970
                                           /*AID.Distribution_Line_Number*/) Rank_Num,
         SUM(AID.Amount)
                OVER (PARTITION BY AC.Check_ID, aeh.ae_header_id, -- bug 8638413
                          DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID),
		          AEL.AE_Line_Num) PDivisor_Ent_Amt,
         SUM(NVL(AID.Base_Amount, AID.Amount))
                OVER (PARTITION BY AC.Check_ID, aeh.ae_header_id, -- bug 8638413
                          DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID),
		          AEL.AE_Line_Num) PDivisor_Acct_Amt,
         DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID) Part_Key1,
         1 Part_Key2,
         AEH.AE_Header_ID Ref_AE_Header_ID,
         AC.Payment_Type_Flag Payment_Type_Flag,
         APH.Transaction_Type Transaction_Type,
         AEL.Accounting_Class_Code Accounting_Class_Code,
	 xte_inv.entity_id aid_Entity_id --- changed for bug#7293021
  FROM   AP_Checks_All AC,
         AP_System_Parameters_All ASP,
         XLA_Transaction_Entities_Upg XTE,
         XLA_Events XLE,
         AP_Payment_History_All APH,
         XLA_AE_Headers AEH,
         XLA_AE_Lines AEL,
         AP_Payment_Hist_Dists APHD,
         AP_Invoice_Distributions_All AID,
         AP_Invoices_All AI,
         XLA_Transaction_Entities_Upg XTE_INV --Bug7169843 Bug11071399
  WHERE  AC.Check_ID = p_xla_event_rec.source_id_int_1
  AND    AC.Org_ID = ASP.Org_ID
  AND    XLE.Event_ID = p_accounting_event_id
  AND    ASP.Set_Of_Books_ID = XTE.Ledger_ID
  AND    AEH.ledger_id       = ASP.Set_Of_Books_ID -- Bug#8708433
  AND    XTE.Entity_Code = 'AP_PAYMENTS'
  AND    AC.Check_ID = nvl(XTE.Source_ID_Int_1,-99)
  AND    XTE.Application_ID = 200
  AND    XTE.Entity_ID = XLE.Entity_ID
  AND    XLE.Application_ID = 200
  AND    XLE.Event_ID = AEH.Event_ID
  AND    XLE.Upg_Batch_ID IS NOT NULL
  AND    AEH.Application_ID = 200
  AND    AEL.AE_Header_ID = AEH.AE_Header_ID
  AND    AEL.Application_ID = 200
  AND    XLE.Event_ID = APH.Accounting_Event_ID
  AND    APH.Check_ID = AC.Check_ID
  AND    APH.Payment_History_ID = p_payment_history_id
  AND    APH.Payment_History_ID = APHD.Payment_History_ID
  AND    APHD.Invoice_Payment_ID = DECODE(AEL.Source_Table, 'AP_INVOICE_PAYMENTS',
                                            AEL.Source_ID, APHD.Invoice_Payment_ID)
  -- begin 8774970
  AND    NVL(AID.Old_Distribution_Id, AID.Invoice_Distribution_Id) =
              DECODE(AEL.Source_Table, 'AP_INVOICE_DISTRIBUTIONS',
                     AEL.Source_ID, NVL(AID.Old_Distribution_Id,APHD.Invoice_Distribution_Id))
  AND    AID.Invoice_Id = DECODE(AEL.Source_Table, 'AP_INVOICES',
                                 AEL.Source_ID, AID.Invoice_Id)
  AND    APH.Check_Id = DECODE(AEL.Source_Table, 'AP_CHECKS',
                               AEL.Source_ID, APH.Check_Id)
  -- end 8774970
  AND    AEL.Account_Overlay_Source_ID IS NULL
  AND    APHD.Invoice_Distribution_ID = AID.Invoice_Distribution_ID
  AND    AI.Invoice_ID = AID.Invoice_ID
  AND    XTE_INV.ledger_id = AID.Set_Of_Books_id -- Bug11071399 start
  AND    XTE_INV.Entity_Code = 'AP_INVOICES'
  AND    XTE_INV.Application_id = 200
  AND    NVL(XTE_INV.Source_id_int_1, -99) = AID.invoice_id
  /* AND DECODE(ael.accounting_class_code,'AWT','AWT','DISCOUNT','DISCOUNT', aphd.pay_dist_lookup_code)
  = aphd.pay_dist_lookup_code --8293590
  Commented by Bug 12619564
  */
  AND decode(AEL.source_table, 'AP_CHECKS', AEL.Accounting_Class_Code, APHD.Pay_Dist_Lookup_Code)
         = decode(AEL.source_table, 'AP_CHECKS'
               ,decode(APHD.Pay_Dist_Lookup_Code,'AWT','AWT','DISCOUNT','DISCOUNT',
                    AEL.Accounting_Class_Code) ,APHD.Pay_Dist_Lookup_Code) --8293590
  AND ael.accounting_class_code =
                decode(aphd.pay_dist_lookup_code
                        , 'AWT', DECODE(ael.accounting_class_code
                                        ,'LIABILITY',ael.accounting_class_code
                                        ,aphd.pay_dist_lookup_code)
                        , 'DISCOUNT', aphd.pay_dist_lookup_code
                        , 'BANK_CHG', aphd.pay_dist_lookup_code
                        , 'BANK_ERROR', aphd.pay_dist_lookup_code
                        ,  DECODE(ael.accounting_class_code
                                 ,'BANK_CHG',aphd.pay_dist_lookup_code
                                 ,'BANK_ERROR',aphd.pay_dist_lookup_code
                                 ,'AWT',aphd.pay_dist_lookup_code
                                 ,'DISCOUNT',aphd.pay_dist_lookup_code
                                 ,ael.accounting_class_code)
                        ) --Bug 13533030
  ) ADL,
  FND_Currencies FC
  WHERE  FC.Currency_Code = ADL.Base_Currency_Code);
Line: 5862

      l_log_msg := 'Done inserting into xla_distribution_links for primary ledger';
Line: 5875

  INSERT INTO XLA_Distribution_Links t1
        (APPLICATION_ID,
         EVENT_ID,
         AE_HEADER_ID,
         AE_LINE_NUM,
         SOURCE_DISTRIBUTION_TYPE,
         SOURCE_DISTRIBUTION_ID_NUM_1,
         UNROUNDED_ENTERED_CR,
         UNROUNDED_ENTERED_DR,
         UNROUNDED_ACCOUNTED_CR,
         UNROUNDED_ACCOUNTED_DR,
         REF_AE_HEADER_ID,
         ACCOUNTING_LINE_CODE,
         ACCOUNTING_LINE_TYPE_CODE,
         MERGE_DUPLICATE_CODE,
         TEMP_LINE_NUM,
         REF_EVENT_ID,
         UPG_BATCH_ID,
         LINE_DEFINITION_OWNER_CODE,
         LINE_DEFINITION_CODE,
         EVENT_CLASS_CODE,
         EVENT_TYPE_CODE,
	 --- changed for bug#7293021 start
	 APPLIED_TO_APPLICATION_ID,
         APPLIED_TO_ENTITY_ID,
         APPLIED_TO_DIST_ID_NUM_1,
         APPLIED_TO_DISTRIBUTION_TYPE
	 --- changed for bug#7293021 end
	 )
 SELECT 200,
        Accounting_Event_ID,
        AE_Header_ID,
        AE_Line_Num,
        'AP_PMT_DIST',
        Source_Distribution_ID_Num_1,
        --Bug 12619564 start
         (
         CASE
         WHEN (Line_Entered_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) <> -1)
              or (Line_Entered_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) =-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt ))
         ELSE NULL
         END )
         ,(
         CASE
         WHEN (Line_Entered_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) <> -1)
               or (Line_Entered_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt )) =-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Entered_Amt - Sum_Entered_Amt ) + Entered_Amt, Entered_Amt ))
         ELSE NULL
         END )
         ,(
         CASE
         WHEN (Line_Accounted_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))<> -1)
              or (Line_Accounted_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))=-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))
         ELSE NULL
         END )
         ,(
         CASE
         WHEN (Line_Accounted_dr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))<> -1)
              or (Line_Accounted_cr is not null
                  and sign(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))=-1)
         THEN abs(DECODE( Rank_Num, Dist_Count,( Line_Accounted_Amt - Sum_Accounted_Amt ) + Accounted_Amt, Accounted_Amt ))
         ELSE NULL
         END ),
         --Bug 12619564 end
        Ref_AE_Header_ID,
       (CASE
            WHEN Payment_Type_Flag = 'R' THEN
                 DECODE(Accounting_Class_Code,
                        'CASH_CLEARING', 'AP_CASH_CLEAR_REF', 'CASH', 'AP_CASH_REF',
                        'ACCRUAL', 'AP_ACCRUAL_REF', 'DISCOUNT', 'AP_DISCOUNT_ACCR_REF',
                        'EXCHANGE_RATE_VARIANCE', 'AP_EX_RATE_VAR_REF',
                        'ROUNDING', 'AP_FINAL_PMT_ROUNDING_REF',
                        'GAIN', 'AP_GAIN_REF', 'FREIGHT', 'AP_FREIGHT_EXPENSE_REF',
                        'IPV', 'AP_INV_PRICE_VAR_REF', 'ITEM EXPENSE', 'AP_ITEM_EXPENSE_REF',
                        'LOSS', 'AP_LOSS_REF', 'LIABILITY', 'AP_LIAB_REF',
                        'NRTAX', 'AP_NON_RECOV_TAX_REF',
                        'PREPAID_EXPENSE', 'AP_PREPAID_EXP_REF', 'RTAX','AP_RECOV_TAX_REF',
                        'AWT', 'AP_WITHHOLD_TAX_ACCR_REF')
            WHEN Transaction_Type = 'PAYMENT MATURITY' THEN
                 DECODE(Accounting_Class_Code, 'FUTURE_DATED_PMT', 'AP_FUTURE_DATED_PMT_MAT',
                        'CASH_CLEARING', 'AP_CASH_CLEAR_PMT_MAT',
                        'CASH', 'AP_CASH_PMT_MAT', 'GAIN', 'AP_GAIN_PMT_MAT',
                        'LOSS', 'AP_LOSS_PMT_MAT', 'ROUNDING', 'AP_FUTURE_PMT_ROUNDING_MAT')
            WHEN Transaction_Type IN ('PAYMENT CREATED', 'PAYMENT CANCELLED') THEN
                 DECODE(Accounting_Class_Code, 'FUTURE_DATED_PMT', 'AP_FUTURE_DATED_PMT',
                        'CASH_CLEARING', 'AP_CASH_CLEAR_PMT', 'CASH', 'AP_CASH_PMT',
                        'ACCRUAL', 'AP_ACCRUAL_PMT', 'DISCOUNT', 'AP_DISCOUNT_ACCR_PMT',
                        'EXCHANGE_RATE_VARIANCE', 'AP_EX_RATE_VAR_PMT',
                        'ROUNDING', 'AP_FINAL_PMT_ROUNDING_PMT',
                        'GAIN', 'AP_GAIN_PMT', 'FREIGHT', 'AP_FREIGHT_EXPENSE_PMT',
                        'IPV', 'AP_INV_PRICE_VAR_PMT', 'ITEM EXPENSE', 'AP_ITEM_EXPENSE_PMT',
                        'LOSS', 'AP_LOSS_PMT', 'LIABILITY', 'AP_LIAB_PMT',
                        'NRTAX', 'AP_NON_RECOV_TAX_PMT',
                        'PREPAID_EXPENSE', 'AP_PREPAID_EXP_PMT', 'RTAX','AP_RECOV_TAX_PMT',
                        'AWT', 'AP_WITHHOLD_TAX_ACCR_PMT')
            WHEN Transaction_Type IN ('PAYMENT CLEARING', 'PAYMENT UNCLEARING') THEN
                 DECODE(Accounting_Class_Code, 'BANK_CHG', 'AP_BANK_CHARGES_CLEAR',
                        'CASH_CLEARING', 'AP_CASH_CLEAR_CLEAR', 'CASH', 'AP_CASH_CLEAR',
                        'ACCRUAL', 'AP_ACCRUAL_CLEAR', 'DISCOUNT', 'AP_DISCOUNT_ACCR_CLEAR',
                        'EXCHANGE_RATE_VARIANCE', 'AP_EX_RATE_VAR_CLEAR',
                        'BANK_ERROR', 'AP_BANK_ERROR_CLEAR',
                        'ROUNDING', 'AP_FINAL_PMT_ROUNDING_CLEAR',
                        'GAIN', 'AP_GAIN_PMT_CLEAR', 'FREIGHT', 'AP_FREIGHT_EXPENSE_CLEAR',
                        'IPV', 'AP_INV_PRICE_VAR_CLEAR', 'ITEM EXPENSE', 'AP_ITEM_EXPENSE_CLEAR',
                        'LOSS', 'AP_LOSS_PMT_CLEAR', 'LIABILITY', 'AP_LIAB_CLEAR',
                        'NRTAX', 'AP_NON_RECOV_TAX_CLEAR', 'RTAX','AP_RECOV_TAX_CLEAR',
                        'AWT', 'AP_WITHHOLD_TAX_ACCR_CLEAR')
        END),
        'S',
         'A',  --changed by abhsaxen for bug#9073033
        Row_Number() OVER (PARTITION BY AE_Header_ID
                     ORDER BY AE_Line_Num,
                              Invoice_Distribution_ID,
                              Invoice_Payment_ID,
                              Payment_History_ID) Temp_Line_Num,
        Accounting_Event_ID,
        Upg_Batch_ID,
        'S',
        'ACCRUAL_PAYMENTS_ALL',
        'PAYMENTS',
        'PAYMENTS_ALL',
        -- changed for bug#7293021 start
        DECODE(Accounting_Class_Code, 'LIABILITY' ,200, null),
        DECODE(Accounting_Class_Code, 'LIABILITY' ,aid_Entity_id, null),
        DECODE(Accounting_Class_Code, 'LIABILITY' ,Invoice_Distribution_ID, null),
        'AP_INV_DIST'
FROM
  (
  SELECT Accounting_Event_ID,
         AE_Header_ID,
         AE_Line_Num,
         Line_Entered_Cr,
         Line_Entered_Dr,
         Line_Accounted_Cr,
         Line_Accounted_Dr,
         Invoice_Distribution_ID,
         Invoice_Payment_ID,
         Payment_History_ID,
         Upg_Batch_ID,
         Base_Currency_Code,
         Source_Distribution_ID_Num_1,
         Line_Entered_Amt,
         Line_Accounted_Amt,
         DECODE(FC.Minimum_Accountable_Unit, NULL,
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                  / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt)),
              FC.Precision),
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                  / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt))
              /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit) Accounted_Amt,
         DECODE(FC.Minimum_Accountable_Unit, NULL,
            ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Ent_Amt, 0 ,1, PDivisor_Ent_Amt)), FC.Precision),
            ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Acct_Amt, 0 ,1, PDivisor_Ent_Amt))
              /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit) Entered_Amt,
         Dist_Count,
         Rank_Num,
         SUM(DECODE(FC.Minimum_Accountable_Unit, NULL,
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                   / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt)),
                   FC.Precision),
            ROUND((Line_Accounted_Amt * Dist_Base_Amount
                   / DECODE(PDivisor_Acct_Amt, 0, 1, PDivisor_Acct_Amt))
              /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit))
            OVER (PARTITION BY Check_ID, Part_Key1, Part_Key2, AE_Line_Num)
                 Sum_Accounted_Amt,
         SUM(DECODE(FC.Minimum_Accountable_Unit, NULL,
              ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Ent_Amt, 0 ,1, PDivisor_Ent_Amt)), FC.Precision),
              ROUND((Line_Entered_Amt * Dist_Amount
                  / DECODE(PDivisor_Ent_Amt, 0 ,1, PDivisor_Ent_Amt))
               /FC.Minimum_Accountable_Unit) * FC.Minimum_Accountable_Unit))
            OVER (PARTITION BY Check_ID, Part_Key1, Part_Key2, AE_Line_Num) Sum_Entered_Amt,
         Ref_AE_Header_ID,
         Payment_Type_Flag,
         Transaction_Type,
         Accounting_Class_Code,
        aid_Entity_id
FROM
(
  SELECT AC.Check_ID Check_ID,--13520870 added the select query
         AEH.Event_ID Accounting_Event_ID,
         AEH.AE_Header_ID AE_Header_ID,
         AEL.AE_Line_Num AE_Line_Num,
         AEL.Entered_Cr Line_Entered_Cr,
         AEL.Entered_Dr Line_Entered_Dr,
         AEL.Accounted_Cr Line_Accounted_Cr,
         AEL.Accounted_Dr Line_Accounted_Dr,
         APHD.Invoice_Distribution_ID Invoice_Distribution_ID,
         APHD.Invoice_Payment_ID Invoice_Payment_ID,
         APHD.Payment_History_ID Payment_History_ID,
         AEL.Upg_Batch_ID Upg_Batch_ID,
         ASP.Base_Currency_Code Base_Currency_Code,
         APHD.Payment_Hist_Dist_ID Source_Distribution_ID_Num_1,
         NVL(AEL.Entered_Cr, AEL.Entered_Dr) Line_Entered_Amt,
         NVL(AEL.Accounted_Cr, AEL.Accounted_Dr) Line_Accounted_Amt,
         COALESCE(AID_MC.Amount, AID.Amount) Dist_Amount,
         COALESCE(AID_MC.Base_Amount, AID_MC.Amount, AID.Base_Amount, AID.Amount) Dist_Base_Amount,
         COUNT(*) OVER (PARTITION BY AI.Invoice_ID, AID1.Invoice_Distribution_ID,
                                     AEL.AE_Line_Num) Dist_Count,
         RANK() OVER (PARTITION BY AI.Invoice_ID, AID1.Invoice_Distribution_ID,
                                   AEL.AE_Line_Num
                        ORDER BY AID.Amount,
                                 APHD.Invoice_Payment_Id,    --bug9307438
                                 AID.Invoice_distribution_id --bug8774970
                                           /*AID.Distribution_Line_Number*/) Rank_Num,
         COALESCE(AID_MC.Amount, AID.Amount) PDivisor_Ent_Amt,
         COALESCE(AID_MC.Base_Amount, AID_MC.Amount, AID.Base_Amount, AID.Amount) PDivisor_Acct_Amt,
         AI.Invoice_ID Part_Key1,
         AID1.Invoice_Distribution_ID Part_Key2,
         AEH.AE_Header_ID Ref_AE_Header_ID,
         AC.Payment_Type_Flag Payment_Type_Flag,
         APH.Transaction_Type Transaction_Type,
         AEL.Accounting_Class_Code Accounting_Class_Code,
	     xte_inv.entity_id aid_Entity_id
  FROM   AP_Checks_All AC,
         AP_System_Parameters_All ASP,
         XLA_Transaction_Entities_Upg XTE,
         XLA_Events XLE,
         AP_Payment_History_All APH,
         XLA_AE_Headers AEH,
         XLA_AE_Lines AEL,
         AP_Inv_Dists_Source AID1,
         AP_Invoices_All AI,
         AP_Invoice_Distributions_All AID,
         AP_Payment_Hist_Dists APHD,
         XLA_Transaction_Entities_Upg XTE_INV, --Bug7169843 Bug11071399
         AP_MC_Invoice_Dists AID_MC
  WHERE  AC.Check_ID = p_xla_event_rec.source_id_int_1
  AND    AC.Org_ID = ASP.Org_ID
  AND    XLE.Event_ID = p_accounting_event_id
  AND    ASP.Set_Of_Books_ID = XTE.Ledger_ID
  AND    AEH.ledger_id <> ASP.Set_Of_Books_ID -- Bug#8708433
  AND    XTE.Entity_Code = 'AP_PAYMENTS'
  AND    AC.Check_ID = nvl(XTE.Source_ID_Int_1,-99)
  AND    XTE.Application_ID = 200
  AND    XTE.Entity_ID = XLE.Entity_ID
  AND    XLE.Application_ID = 200
  AND    XLE.Event_ID = AEH.Event_ID
  AND    XLE.Upg_Batch_ID IS NOT NULL
  AND    AEH.Application_ID = 200
  AND    AEL.AE_Header_ID = AEH.AE_Header_ID
  AND    AEL.Application_ID = 200
  AND    XLE.Event_ID = APH.Accounting_Event_ID
  AND    APH.Check_ID = AC.Check_ID
  AND    APH.Payment_History_ID = p_payment_history_id
  AND    APH.Payment_History_ID = APHD.Payment_History_ID
  AND    APHD.Invoice_Payment_ID = DECODE(AEL.Source_Table, 'AP_INVOICE_PAYMENTS',
                                            AEL.Source_ID, APHD.Invoice_Payment_ID)
  -- begin 8774970
  AND    NVL(AID.Old_Distribution_Id, AID.Invoice_Distribution_Id) =
              DECODE(AEL.Source_Table, 'AP_INVOICE_DISTRIBUTIONS',
                     AEL.Source_ID, NVL(AID.Old_Distribution_Id,APHD.Invoice_Distribution_Id))
  AND    AID.Invoice_Id = DECODE(AEL.Source_Table, 'AP_INVOICES',
                                 AEL.Source_ID, AID.Invoice_Id)
  AND    APH.Check_Id = DECODE(AEL.Source_Table, 'AP_CHECKS',
                               AEL.Source_ID, APH.Check_Id)
  -- end 8774970
  AND    APHD.Invoice_Distribution_ID = AID.Invoice_Distribution_ID
  AND    AEL.Account_Overlay_Source_ID = AID1.Invoice_Distribution_ID
  AND    AID.Invoice_ID = AI.Invoice_ID
  AND    AID1.Invoice_ID = AID.Invoice_ID
  AND    AID1.Invoice_Distribution_ID = AID.Old_Distribution_ID
  AND    XTE_INV.ledger_id = AID.Set_Of_Books_id -- Bug11071399 start
  AND    XTE_INV.Entity_Code = 'AP_INVOICES'
  AND    XTE_INV.Application_id = 200
  AND    NVL(XTE_INV.Source_id_int_1, -99) = AID.invoice_id -- Bug11071399 end
  AND    AID1.Invoice_Distribution_ID = AID_MC.Invoice_Distribution_ID(+)
  AND    AID1.Invoice_id = AID_MC.Invoice_id(+)
  AND    AEH.ledger_id = NVL(AID_MC.Set_Of_Books_ID,AEH.ledger_id)
  UNION ALL
  SELECT AC.Check_ID Check_ID,
         AEH.Event_ID Accounting_Event_ID,
         AEH.AE_Header_ID AE_Header_ID,
         AEL.AE_Line_Num AE_Line_Num,
         AEL.Entered_Cr Line_Entered_Cr,
         AEL.Entered_Dr Line_Entered_Dr,
         AEL.Accounted_Cr Line_Accounted_Cr,
         AEL.Accounted_Dr Line_Accounted_Dr,
         APHD.Invoice_Distribution_ID Invoice_Distribution_ID,
         APHD.Invoice_Payment_ID Invoice_Payment_ID,
         APHD.Payment_History_ID Payment_History_ID,
         AEL.Upg_Batch_ID Upg_Batch_ID,
         ASP.Base_Currency_Code Base_Currency_Code,
         APHD.Payment_Hist_Dist_ID Source_Distribution_ID_Num_1,
         NVL(AEL.Entered_Cr, AEL.Entered_Dr) Line_Entered_Amt,
         NVL(AEL.Accounted_Cr, AEL.Accounted_Dr) Line_Accounted_Amt,
         COALESCE(AID_MC.Amount, AID.Amount) Dist_Amount ,--13520870
         COALESCE(AID_MC.Base_Amount, AID_MC.Amount, AID.Base_Amount, AID.Amount) Dist_Base_Amount,--13520870
         COUNT(*) OVER (PARTITION BY AC.Check_ID,
                          DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID),
		          AEL.AE_Line_Num) Dist_Count,
         RANK() OVER (PARTITION BY AC.Check_ID, aeh.ae_header_id, -- bug 8638413
                          DECODE(AEL.Source_Table, 'AP_CHECKS', AC.Check_ID, AI.Invoice_ID),
		          AEL.AE_Line_Num
                      ORDER BY AID.Amount, --13520870
                               APHD.Invoice_Payment_Id,   --bug9307438
                               AID.Invoice_distribution_id) Rank_Num,--13520870
         SUM(COALESCE(AID_MC.Amount, AID.Amount))  --13520870
                OVER (PARTITION BY AC.Check_ID, aeh.ae_header_id, -- bug 8638413
                          DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID),
		          AEL.AE_Line_Num) PDivisor_Ent_Amt,
         SUM(COALESCE(AID_MC.Base_Amount, AID_MC.Amount, AID.Base_Amount, AID.Amount)) --13520870
                OVER (PARTITION BY AC.Check_ID, aeh.ae_header_id, -- bug 8638413
                          DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID),
		          AEL.AE_Line_Num) PDivisor_Acct_Amt,
         DECODE(AEL.Source_Table, 'AP_CHECKS', 1, AI.Invoice_ID) Part_Key1,
         1 Part_Key2,
         AEH.AE_Header_ID Ref_AE_Header_ID,
         AC.Payment_Type_Flag Payment_Type_Flag,
         APH.Transaction_Type Transaction_Type,
         AEL.Accounting_Class_Code Accounting_Class_Code,
	 xte_inv.entity_id AID_Entity_id --- changed for bug#7293021
  FROM   AP_Checks_All AC,
         AP_System_Parameters_All ASP,
         XLA_Transaction_Entities_Upg XTE,
         XLA_Events XLE,
         AP_Payment_History_All APH,
         XLA_AE_Headers AEH,
         XLA_AE_Lines AEL,
         AP_Payment_Hist_Dists APHD,
         ap_mc_invoice_dists AID_MC,
         AP_Invoices_All AI,
         XLA_Transaction_Entities_Upg XTE_INV, --Bug7169843 Bug11071399
	     AP_Invoice_Distributions_All AID,
		 AP_Inv_Dists_Source AID1 --13520870
  WHERE  AC.Check_ID = p_xla_event_rec.source_id_int_1
  AND    AC.Org_ID = ASP.Org_ID
  AND    XLE.Event_ID = p_accounting_event_id
  AND    ASP.Set_Of_Books_ID = XTE.Ledger_ID
  AND    AEH.ledger_id <> ASP.Set_Of_Books_ID
  AND    XTE.Entity_Code = 'AP_PAYMENTS'
  AND    AC.Check_ID = nvl(XTE.Source_ID_Int_1,-99)
  AND    XTE.Application_ID = 200
  AND    XTE.Entity_ID = XLE.Entity_ID
  AND    XLE.Application_ID = 200
  AND    XLE.Event_ID = AEH.Event_ID
  AND    XLE.Upg_Batch_ID IS NOT NULL
  AND    AEH.Application_ID = 200
  AND    AEL.AE_Header_ID = AEH.AE_Header_ID
  AND    AEL.Application_ID = 200
  AND    XLE.Event_ID = APH.Accounting_Event_ID
  AND    APH.Check_ID = AC.Check_ID
  AND    APH.Payment_History_ID = p_payment_history_id
  AND    APH.Payment_History_ID = APHD.Payment_History_ID
  AND    APHD.Invoice_Payment_ID = DECODE(AEL.Source_Table, 'AP_INVOICE_PAYMENTS',
                                            AEL.Source_ID, APHD.Invoice_Payment_ID)
  -- begin 8774970
  AND    NVL(AID.Old_Distribution_Id, AID.Invoice_Distribution_Id) =
              DECODE(AEL.Source_Table, 'AP_INVOICE_DISTRIBUTIONS',
                     AEL.Source_ID, NVL(AID.Old_Distribution_Id,APHD.Invoice_Distribution_Id))
  AND    AID.Invoice_Id = DECODE(AEL.Source_Table, 'AP_INVOICES',
                                 AEL.Source_ID, AID.Invoice_Id)
  AND    APH.Check_Id = DECODE(AEL.Source_Table, 'AP_CHECKS',
                               AEL.Source_ID, APH.Check_Id)
  -- end 8774970
  AND    AEL.Account_Overlay_Source_ID IS NULL
  AND    APHD.Invoice_Distribution_ID = AID.invoice_distribution_id   --13520870
  AND    AID1.Invoice_ID = AID.Invoice_ID  --13520870
  AND    AID1.Invoice_Distribution_ID = AID.Old_Distribution_ID --13520870
  AND    AID1.Invoice_Distribution_ID = AID_MC.Invoice_Distribution_ID(+) --13520870
  AND    AID1.Invoice_ID = AID_MC.Invoice_ID(+) --13520870
  AND    AEH.ledger_id = NVL(AID_MC.set_of_books_id, AEH.ledger_id)  --13520870
  AND    AI.Invoice_ID = AID.Invoice_ID   --13520870
  AND    XTE_INV.ledger_id = AID.Set_Of_Books_id -- Bug11071399 start
  AND    XTE_INV.Entity_Code = 'AP_INVOICES'
  AND    XTE_INV.Application_id = 200
  AND    NVL(XTE_INV.Source_id_int_1, -99) = AID.invoice_id -- Bug11071399 end
--  AND    AID.invoice_distribution_id = AID_MC.Invoice_Distribution_ID --13520870
  /*  AND DECODE(ael.accounting_class_code,'AWT','AWT','DISCOUNT','DISCOUNT',
	      aphd.pay_dist_lookup_code) = aphd.pay_dist_lookup_code --8293590
  Commented by Bug 12619564
  */
  AND decode(AEL.source_table, 'AP_CHECKS', AEL.Accounting_Class_Code, APHD.Pay_Dist_Lookup_Code)
         = decode(AEL.source_table, 'AP_CHECKS'
               ,decode(APHD.Pay_Dist_Lookup_Code,'AWT','AWT','DISCOUNT','DISCOUNT',
                    AEL.Accounting_Class_Code) ,APHD.Pay_Dist_Lookup_Code)
  AND DECODE(ael.accounting_class_code,'AWT','AWT','DISCOUNT','DISCOUNT','True')
         =DECODE(aphd.pay_dist_lookup_code,'AWT','AWT','DISCOUNT','DISCOUNT','True') -- Bug 12619564

) ADL,
  FND_Currencies FC
WHERE  FC.Currency_Code = ADL.Base_Currency_Code );
Line: 6270

      l_log_msg := 'Done inserting into xla_distribution_links for non-primary ledgers';
Line: 6279

     /* Added MERGE inplace of update statement for bug13437260 */

      MERGE
       INTO ap_payment_hist_dists aphd
      USING ( SELECT aphd.payment_hist_dist_id,
                     aphd.invoice_dist_base_amount,
                NVL(xdl.unrounded_accounted_cr,0) - NVL(xdl.unrounded_accounted_dr,0) xdl_acctd_amt,
                     aphd.invoice_dist_amount ,
                NVL(xdl.unrounded_entered_cr,0) - NVL(xdl.unrounded_entered_dr,0) xdl_ent_amt
               FROM ap_payment_hist_dists aphd,
                    ap_payment_history_all aph,
                    xla_ae_headers xh,
                    ap_system_parameters_all asp,
                    xla_distribution_links xdl
              WHERE aphd.payment_history_id        = aph.payment_history_id
                AND aph.related_event_id             = xh.event_id
                AND xh.application_id                = 200
                AND aphd.accounting_event_id         = p_xla_event_rec.event_id --event_id of cancellation_event
                AND aph.org_id                       = asp.org_id
                AND xh.ledger_id                     = asp.set_of_books_id
                AND xh.upg_batch_id                  > 0
                AND xh.ae_header_id                  = xdl.ae_header_id
                AND xdl.application_id               = xh.application_id
                AND xdl.event_id                     = xh.event_id
                AND xdl.source_distribution_type     = 'AP_PMT_DIST'
                AND xdl.SOURCE_DISTRIBUTION_ID_NUM_1 = aphd.REVERSED_PAY_HIST_DIST_ID
                AND (xdl.accounting_line_code LIKE 'AP%LIAB%' or xdl.accounting_line_code LIKE 'AP%ITEM%EXP%')
                AND (aphd.invoice_dist_base_amount IS NULL or aphd.invoice_dist_amount IS NULL)) src
       ON (aphd.payment_hist_dist_id = src.payment_hist_dist_id)
      WHEN MATCHED
      THEN
       UPDATE
       SET aphd.invoice_dist_base_amount = src.xdl_acctd_amt,
           aphd.invoice_dist_amount = src.xdl_ent_amt ;
Line: 6326

  END IF; --Update End 11721100
Line: 6345

END Upg_Dist_Links_Insert;