DBA Data[Home] [Help]

APPS.AR_IREC_APPLY_CREDITS SQL Statements

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

Line: 14

PROCEDURE select_credit_to_apply( p_currency_code         IN VARCHAR2,
                                  x_return_status      OUT NOCOPY VARCHAR2,
                                  x_credit_ps_id       OUT NOCOPY NUMBER,
                                  x_debit_ps_id        OUT NOCOPY NUMBER);
Line: 75

  SELECT
        CUSTOMER_ID,
        CUSTOMER_SITE_USE_ID,
        ACCOUNT_NUMBER,
        CUSTOMER_TRX_ID,
        TRX_NUMBER,TRX_DATE,
        TRX_CLASS,
        DUE_DATE,
        PAYMENT_SCHEDULE_ID,
        STATUS,
        PAYMENT_TERMS,
        NUMBER_OF_INSTALLMENTS,
        TERMS_SEQUENCE_NUMBER,
        LINE_AMOUNT,
        TAX_AMOUNT ,
        FREIGHT_AMOUNT,
        FINANCE_CHARGES,
        CURRENCY_CODE ,
        AMOUNT_DUE_ORIGINAL,
        AMOUNT_DUE_REMAINING,
        PAYMENT_AMT ,
        SERVICE_CHARGE,
        DISCOUNT_AMOUNT,
        RECEIPT_DATE,
        RECEIPT_NUMBER,
        PO_NUMBER,
        SO_NUMBER,
        PRINTING_OPTION ,
        ATTRIBUTE_CATEGORY ,
        ATTRIBUTE1,
        ATTRIBUTE2,
        ATTRIBUTE3,
        ATTRIBUTE4,
        ATTRIBUTE5,
        ATTRIBUTE6,
        ATTRIBUTE7,
        ATTRIBUTE8,
        ATTRIBUTE9,
        ATTRIBUTE10,
        ATTRIBUTE11,
        ATTRIBUTE12,
        ATTRIBUTE13,
        ATTRIBUTE14,
        ATTRIBUTE15,
        INTERFACE_HEADER_CONTEXT,
        INTERFACE_HEADER_ATTRIBUTE1,
        INTERFACE_HEADER_ATTRIBUTE2,
        INTERFACE_HEADER_ATTRIBUTE3,
        INTERFACE_HEADER_ATTRIBUTE4,
        INTERFACE_HEADER_ATTRIBUTE5,
        INTERFACE_HEADER_ATTRIBUTE6,
        INTERFACE_HEADER_ATTRIBUTE7,
        INTERFACE_HEADER_ATTRIBUTE8,
        INTERFACE_HEADER_ATTRIBUTE9,
        INTERFACE_HEADER_ATTRIBUTE10,
        INTERFACE_HEADER_ATTRIBUTE11,
        INTERFACE_HEADER_ATTRIBUTE12,
        INTERFACE_HEADER_ATTRIBUTE13,
        INTERFACE_HEADER_ATTRIBUTE14,
        INTERFACE_HEADER_ATTRIBUTE15,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        CREATION_DATE,
        CREATED_BY,
        LAST_UPDATE_LOGIN,
        CASH_RECEIPT_ID,
	PAY_FOR_CUSTOMER_ID,
	PAY_FOR_CUSTOMER_SITE_ID
   FROM ar_irec_payment_list_gt
   WHERE CUSTOMER_ID = p_customer_id
   AND CUSTOMER_SITE_USE_ID = nvl(p_customer_site_use_id,CUSTOMER_SITE_USE_ID)
   AND CURRENCY_CODE = p_currency_code;
Line: 172

        INSERT INTO ar_irec_apply_credit_gt
        (
            CUSTOMER_ID,
            CUSTOMER_SITE_USE_ID,
            ACCOUNT_NUMBER,
            CUSTOMER_TRX_ID,
            TRX_NUMBER,TRX_DATE,
            TRX_CLASS,
            DUE_DATE,
            PAYMENT_SCHEDULE_ID,
            STATUS,
            PAYMENT_TERMS,
            NUMBER_OF_INSTALLMENTS,
            TERMS_SEQUENCE_NUMBER,
            LINE_AMOUNT,
            TAX_AMOUNT ,
            FREIGHT_AMOUNT,
            FINANCE_CHARGES,
            CURRENCY_CODE ,
            AMOUNT_DUE_ORIGINAL,
            AMOUNT_DUE_REMAINING,
            PAYMENT_AMT ,
            SERVICE_CHARGE,
            DISCOUNT_AMOUNT,
            RECEIPT_DATE,
            RECEIPT_NUMBER,
            PO_NUMBER,
            SO_NUMBER,
            PRINTING_OPTION ,
            ATTRIBUTE_CATEGORY ,
            ATTRIBUTE1,
            ATTRIBUTE2,
            ATTRIBUTE3,
            ATTRIBUTE4,
            ATTRIBUTE5,
            ATTRIBUTE6,
            ATTRIBUTE7,
            ATTRIBUTE8,
            ATTRIBUTE9,
            ATTRIBUTE10,
            ATTRIBUTE11,
            ATTRIBUTE12,
            ATTRIBUTE13,
            ATTRIBUTE14,
            ATTRIBUTE15,
            INTERFACE_HEADER_CONTEXT,
            INTERFACE_HEADER_ATTRIBUTE1,
            INTERFACE_HEADER_ATTRIBUTE2,
            INTERFACE_HEADER_ATTRIBUTE3,
            INTERFACE_HEADER_ATTRIBUTE4,
            INTERFACE_HEADER_ATTRIBUTE5,
            INTERFACE_HEADER_ATTRIBUTE6,
            INTERFACE_HEADER_ATTRIBUTE7,
            INTERFACE_HEADER_ATTRIBUTE8,
            INTERFACE_HEADER_ATTRIBUTE9,
            INTERFACE_HEADER_ATTRIBUTE10,
            INTERFACE_HEADER_ATTRIBUTE11,
            INTERFACE_HEADER_ATTRIBUTE12,
            INTERFACE_HEADER_ATTRIBUTE13,
            INTERFACE_HEADER_ATTRIBUTE14,
            INTERFACE_HEADER_ATTRIBUTE15,
            LAST_UPDATE_DATE,
            LAST_UPDATED_BY,
            CREATION_DATE,
            CREATED_BY,
            LAST_UPDATE_LOGIN,
            APPLICATION_AMOUNT,
            CASH_RECEIPT_ID,
	    PAY_FOR_CUSTOMER_ID,
	    PAY_FOR_CUSTOMER_SITE_ID )
        VALUES
        (
		-- In create transaction list record of arirpmtb, the actual customer id of the transaction is stored in pay_for_customer_id
		-- and the customer id is the login customer id.
            trx.PAY_FOR_CUSTOMER_ID,
            trx.PAY_FOR_CUSTOMER_SITE_ID,
            trx.ACCOUNT_NUMBER,
            trx.CUSTOMER_TRX_ID,
            trx.TRX_NUMBER,
            trx.TRX_DATE,
            trx.TRX_CLASS,
            trx.DUE_DATE,
            trx.PAYMENT_SCHEDULE_ID,
            trx.STATUS,
            trx.PAYMENT_TERMS,
            trx.NUMBER_OF_INSTALLMENTS,
            trx.TERMS_SEQUENCE_NUMBER,
            trx.LINE_AMOUNT,
            trx.TAX_AMOUNT ,
            trx.FREIGHT_AMOUNT,
            trx.FINANCE_CHARGES,
            trx.CURRENCY_CODE ,
            trx.AMOUNT_DUE_ORIGINAL,
            trx.AMOUNT_DUE_REMAINING,
            trx.PAYMENT_AMT ,
            trx.SERVICE_CHARGE,
            trx.DISCOUNT_AMOUNT,
            trx.RECEIPT_DATE,
            trx.RECEIPT_NUMBER,
            trx.PO_NUMBER,
            trx.SO_NUMBER,
            trx.PRINTING_OPTION ,
            trx.ATTRIBUTE_CATEGORY ,
            trx.ATTRIBUTE1,
            trx.ATTRIBUTE2,
            trx.ATTRIBUTE3,
            trx.ATTRIBUTE4,
            trx.ATTRIBUTE5,
            trx.ATTRIBUTE6,
            trx.ATTRIBUTE7,
            trx.ATTRIBUTE8,
            trx.ATTRIBUTE9,
            trx.ATTRIBUTE10,
            trx.ATTRIBUTE11,
            trx.ATTRIBUTE12,
            trx.ATTRIBUTE13,
            trx.ATTRIBUTE14,
            trx.ATTRIBUTE15,
            trx.INTERFACE_HEADER_CONTEXT,
            trx.INTERFACE_HEADER_ATTRIBUTE1,
            trx.INTERFACE_HEADER_ATTRIBUTE2,
            trx.INTERFACE_HEADER_ATTRIBUTE3,
            trx.INTERFACE_HEADER_ATTRIBUTE4,
            trx.INTERFACE_HEADER_ATTRIBUTE5,
            trx.INTERFACE_HEADER_ATTRIBUTE6,
            trx.INTERFACE_HEADER_ATTRIBUTE7,
            trx.INTERFACE_HEADER_ATTRIBUTE8,
            trx.INTERFACE_HEADER_ATTRIBUTE9,
            trx.INTERFACE_HEADER_ATTRIBUTE10,
            trx.INTERFACE_HEADER_ATTRIBUTE11,
            trx.INTERFACE_HEADER_ATTRIBUTE12,
            trx.INTERFACE_HEADER_ATTRIBUTE13,
            trx.INTERFACE_HEADER_ATTRIBUTE14,
            trx.INTERFACE_HEADER_ATTRIBUTE15,
            trx.LAST_UPDATE_DATE,
            trx.LAST_UPDATED_BY,
            trx.CREATION_DATE,
            trx.CREATED_BY,
            trx.LAST_UPDATE_LOGIN,
            trx.PAYMENT_AMT,
            trx.CASH_RECEIPT_ID,
	    trx.PAY_FOR_CUSTOMER_ID,
	    trx.PAY_FOR_CUSTOMER_SITE_ID
        );
Line: 471

    select class, amount_due_remaining, cash_receipt_id, ct.PAYING_CUSTOMER_ID, ct.PAYING_SITE_USE_ID, ps.CUSTOMER_ID, ps.CUSTOMER_SITE_USE_ID
    into l_trx_class, l_amount_due_remaining, l_cash_receipt_id, l_pay_for_cust_id, l_pay_for_cust_site_id, l_customer_id, l_customer_site_use_id
    from ar_payment_schedules ps, ra_customer_trx ct
    where ps.CUSTOMER_TRX_ID = ct.CUSTOMER_TRX_ID(+)
    and ps.payment_schedule_id = p_payment_schedule_id;
Line: 479

         select -sum(app.amount_applied)
         into  l_amount_due_remaining
 	     from ar_receivable_applications app
	     where nvl( app.confirmed_flag, 'Y' ) = 'Y'
         AND app.status = 'UNAPP'
         AND app.cash_receipt_id = l_cash_receipt_id;
Line: 511

    INSERT INTO ar_irec_apply_credit_gt
        (
            CUSTOMER_ID,
            CUSTOMER_SITE_USE_ID,
            ACCOUNT_NUMBER,
            CUSTOMER_TRX_ID,
            TRX_NUMBER,TRX_DATE,
            TRX_CLASS,
            DUE_DATE,
            PAYMENT_SCHEDULE_ID,
            STATUS,
            PAYMENT_TERMS,
            NUMBER_OF_INSTALLMENTS,
            TERMS_SEQUENCE_NUMBER,
            LINE_AMOUNT,
            TAX_AMOUNT ,
            FREIGHT_AMOUNT,
            FINANCE_CHARGES,
            CURRENCY_CODE ,
            AMOUNT_DUE_ORIGINAL,
            AMOUNT_DUE_REMAINING,
            PAYMENT_AMT ,
            SERVICE_CHARGE,
            DISCOUNT_AMOUNT,
            RECEIPT_DATE,
            PO_NUMBER,
            SO_NUMBER,
            PRINTING_OPTION ,
            ATTRIBUTE_CATEGORY ,
            ATTRIBUTE1,
            ATTRIBUTE2,
            ATTRIBUTE3,
            ATTRIBUTE4,
            ATTRIBUTE5,
            ATTRIBUTE6,
            ATTRIBUTE7,
            ATTRIBUTE8,
            ATTRIBUTE9,
            ATTRIBUTE10,
            ATTRIBUTE11,
            ATTRIBUTE12,
            ATTRIBUTE13,
            ATTRIBUTE14,
            ATTRIBUTE15,
            INTERFACE_HEADER_CONTEXT,
            INTERFACE_HEADER_ATTRIBUTE1,
            INTERFACE_HEADER_ATTRIBUTE2,
            INTERFACE_HEADER_ATTRIBUTE3,
            INTERFACE_HEADER_ATTRIBUTE4,
            INTERFACE_HEADER_ATTRIBUTE5,
            INTERFACE_HEADER_ATTRIBUTE6,
            INTERFACE_HEADER_ATTRIBUTE7,
            INTERFACE_HEADER_ATTRIBUTE8,
            INTERFACE_HEADER_ATTRIBUTE9,
            INTERFACE_HEADER_ATTRIBUTE10,
            INTERFACE_HEADER_ATTRIBUTE11,
            INTERFACE_HEADER_ATTRIBUTE12,
            INTERFACE_HEADER_ATTRIBUTE13,
            INTERFACE_HEADER_ATTRIBUTE14,
            INTERFACE_HEADER_ATTRIBUTE15,
            APPLICATION_AMOUNT,
            CASH_RECEIPT_ID,
	    PAY_FOR_CUSTOMER_ID,
	    PAY_FOR_CUSTOMER_SITE_ID)
            SELECT l_customer_id,
                DECODE(l_customer_site_use_id,to_number(''),-1,l_customer_site_use_id),
               hca.account_number,
               ps.customer_trx_id,
               ps.trx_number,
               ps.trx_date,
               ps.class,
               ps.due_date,
               ps.payment_schedule_id,
               ps.status,
               rt.name,
               ARPT_SQL_FUNC_UTIL.Get_Number_Of_Due_Dates(ps.term_id) number_of_installments,
               ps.terms_sequence_number,
               ps.amount_line_items_original line_amount,
               ps.tax_original tax_amount,
               ps.freight_original freight_amount,
               ps.receivables_charges_charged finance_charge,
               ps.INVOICE_CURRENCY_CODE,
               ps.AMOUNT_DUE_ORIGINAL,
               l_amount_due_remaining,
               NULL,
               0,
               l_discount_amount,
               sysdate,
               ct.PURCHASE_ORDER,
               NULL,
               ct.printing_option,
               ps.ATTRIBUTE_CATEGORY ,
               ps.ATTRIBUTE1,
               ps.ATTRIBUTE2,
               ps.ATTRIBUTE3,
               ps.ATTRIBUTE4,
               ps.ATTRIBUTE5,
               ps.ATTRIBUTE6,
               ps.ATTRIBUTE7,
               ps.ATTRIBUTE8,
               ps.ATTRIBUTE9,
             ps.ATTRIBUTE10,
             ps.ATTRIBUTE11,
             ps.ATTRIBUTE12,
             ps.ATTRIBUTE13,
             ps.ATTRIBUTE14,
             ps.ATTRIBUTE15,
             ct.INTERFACE_HEADER_CONTEXT,
             ct.INTERFACE_HEADER_ATTRIBUTE1,
             ct.INTERFACE_HEADER_ATTRIBUTE2,
             ct.INTERFACE_HEADER_ATTRIBUTE3,
             ct.INTERFACE_HEADER_ATTRIBUTE4,
             ct.INTERFACE_HEADER_ATTRIBUTE5,
             ct.INTERFACE_HEADER_ATTRIBUTE6,
             ct.INTERFACE_HEADER_ATTRIBUTE7,
             ct.INTERFACE_HEADER_ATTRIBUTE8,
             ct.INTERFACE_HEADER_ATTRIBUTE9,
             ct.INTERFACE_HEADER_ATTRIBUTE10,
             ct.INTERFACE_HEADER_ATTRIBUTE11,
             ct.INTERFACE_HEADER_ATTRIBUTE12,
             ct.INTERFACE_HEADER_ATTRIBUTE13,
             ct.INTERFACE_HEADER_ATTRIBUTE14,
             ct.INTERFACE_HEADER_ATTRIBUTE15,
              ARI_UTILITIES.curr_round_amt(l_amount_due_remaining - l_discount_amount,ps.INVOICE_CURRENCY_CODE),
              l_cash_receipt_id,
	      l_pay_for_cust_id,
	      --Bug 4062938 - Handling of transactions with no site id
              decode(l_pay_for_cust_site_id, null, -1,l_pay_for_cust_site_id) as customer_site_use_id
        FROM ar_payment_schedules ps, hz_cust_accounts hca, ra_terms rt, ra_customer_trx ct
        WHERE ps.payment_schedule_id = p_payment_schedule_id
        AND   ps.customer_id         = hca.cust_account_id
        AND   ps.term_id             = rt.term_id(+)
        AND   ps.customer_trx_id     = ct.customer_trx_id(+);
Line: 664

  | PUBLIC procedure delete_all_debits
  |
  | DESCRIPTION
  |   Deletes all credit transactions for the active customer, site and currency from the
  |   Apply Credits GT
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_customer_id               IN NUMBER
  |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
  |   p_currency_code             IN VARCHAR2
  |
  | KNOWN ISSUES
  |
  |
  |
  | NOTES
  |
  |
  |
  | MODIFICATION HISTORY
  | Date          Author       Description of Changes
  | 13-OCT-2004   vnb          Created
  +============================================================*/

PROCEDURE delete_all_debits(p_customer_id           IN NUMBER,
                            p_customer_site_use_id  IN NUMBER DEFAULT NULL,
                            p_currency_code         IN VARCHAR2
                            ) IS

   l_procedure_name           VARCHAR2(50);
Line: 699

    l_procedure_name           := '.delete_all_debits';
Line: 703

    l_debug_info := 'Delete all debit transactions from Apply Credits GT';
Line: 709

    DELETE FROM ar_irec_apply_credit_gt
    WHERE  customer_id          = p_customer_id
    AND    customer_site_use_id = nvl(p_customer_site_use_id, customer_site_use_id)
    AND    currency_code        = p_currency_code
    AND    ( trx_class          = 'INV' OR
             trx_class          = 'DM' OR
             trx_class          = 'CB' OR
             trx_class          = 'DEP'
	       );
Line: 737

END delete_all_debits;
Line: 740

  | PUBLIC procedure delete_all_credits
  |
  | DESCRIPTION
  |   Deletes all credit transactions for the active customer, site and currency from the
  |   Apply Credits GT
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_customer_id               IN NUMBER
  |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
  |   p_currency_code             IN VARCHAR2
  |
  | KNOWN ISSUES
  |
  |
  |
  | NOTES
  |
  |
  |
  | MODIFICATION HISTORY
  | Date          Author       Description of Changes
  | 13-OCT-2004   vnb          Created
  +============================================================*/

PROCEDURE delete_all_credits(p_customer_id           IN NUMBER,
                             p_customer_site_use_id  IN NUMBER DEFAULT NULL,
                             p_currency_code         IN VARCHAR2
                            ) IS
   l_procedure_name           VARCHAR2(50);
Line: 775

    l_procedure_name           := '.delete_all_credits';
Line: 779

    l_debug_info := 'Delete all credit transactions from Apply Credits GT';
Line: 785

    DELETE FROM ar_irec_apply_credit_gt
    WHERE  customer_id          = p_customer_id
    AND    customer_site_use_id = nvl(p_customer_site_use_id, customer_site_use_id)
    AND    currency_code        = p_currency_code
    AND    ( trx_class          = 'CM' OR
             trx_class          = 'PMT'
	       );
Line: 811

END delete_all_credits;
Line: 814

  | PUBLIC procedure delete_apply_credits_record
  |
  | DESCRIPTION
  |   Deletes a transaction, specified by a Payment Schedule Id, from the Apply Credits GT
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_payment_schedule_id       IN NUMBER
  |
  | KNOWN ISSUES
  |
  |
  |
  | NOTES
  |
  |
  |
  | MODIFICATION HISTORY
  | Date          Author       Description of Changes
  | 13-OCT-2004   vnb          Created
  +============================================================*/

PROCEDURE delete_apply_credits_record( p_payment_schedule_id   IN NUMBER
                                      ) IS

   l_procedure_name           VARCHAR2(50);
Line: 844

    l_procedure_name           := '.delete_apply_credits_record';
Line: 848

    l_debug_info := 'Delete the transaction from Apply Credits GT';
Line: 854

    DELETE FROM ar_irec_apply_credit_gt
    WHERE  payment_schedule_id = p_payment_schedule_id;
Line: 873

END delete_apply_credits_record;
Line: 876

  | PUBLIC procedure delete_all_records
  |
  | DESCRIPTION
  |   Deletes all transactions for the active customer, site and currency from the
  |   Apply Credits GT
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_customer_id               IN NUMBER
  |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
  |   p_currency_code             IN VARCHAR2
  |
  | KNOWN ISSUES
  |
  |
  |
  | NOTES
  |
  |
  |
  | MODIFICATION HISTORY
  | Date          Author       Description of Changes
  | 13-OCT-2004   vnb          Created
  +============================================================*/

PROCEDURE delete_all_records(p_customer_id           IN NUMBER,
                             p_customer_site_use_id  IN NUMBER DEFAULT NULL,
                             p_currency_code         IN VARCHAR2
                            ) IS
   l_procedure_name           VARCHAR2(50);
Line: 911

    l_procedure_name           := '.delete_all_records';
Line: 915

    l_debug_info := 'Delete all transactions from Apply Credits GT';
Line: 922

    DELETE FROM ar_irec_apply_credit_gt;
Line: 941

END delete_all_records;
Line: 947

  |   Applies selected credits against selected debits
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_customer_id               IN NUMBER
  |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
  |   p_currency_code             IN VARCHAR2
  |   p_credit_memos_only         IN VARCHAR2
  |
  | KNOWN ISSUES
  |
  |
  |
  | NOTES
  |
  |
  |
  | MODIFICATION HISTORY
  | Date          Author       Description of Changes
  | 13-OCT-2004   vnb          Created
  | 06-DEC-2004   vnb          Bug 4042557 - Change sign in credit application amount
  | 10-JAN-2005   vnb          Bug 4105891 - Check if invoice will remain open after application
  | 12-Jan-2005   vnb          Bug 4050280 - Added 'ORDER BY' clause in cursors for applying credits
  | 25-Jan-2005   vnb          Bug 4103527 - Display error icons for duplicate application
  +============================================================*/

PROCEDURE apply_credits(p_customer_id           IN NUMBER,
                        p_customer_site_use_id  IN NUMBER DEFAULT NULL,
			      p_driving_customer_id   IN NUMBER,
                        p_currency_code         IN VARCHAR2,
                        p_credit_memos_only     IN VARCHAR2,
                        x_open_invoices_status  OUT NOCOPY VARCHAR2,
                        x_dup_appln_dbt_psid    OUT NOCOPY NUMBER,
                        x_dup_appln_crdt_psid   OUT NOCOPY NUMBER,
                        x_cash_receipt_id       OUT NOCOPY NUMBER,
                        x_msg_count             OUT NOCOPY NUMBER,
                        x_msg_data              OUT NOCOPY VARCHAR2,
                        x_return_status         OUT NOCOPY VARCHAR2
                        ) IS

    l_procedure_name          VARCHAR2(50);
Line: 998

    DELETE FROM ar_irec_apply_credit_gt WHERE PRINTING_OPTION <> 'Y';
Line: 1072

  |   Applies selected credits and selected debits against a selected payment
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_customer_id               IN NUMBER
  |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
  |   p_currency_code             IN VARCHAR2
  |
  | KNOWN ISSUES
  |
  |
  |
  | NOTES
  |
  |
  |
  | MODIFICATION HISTORY
  | Date          Author       Description of Changes
  | 02-FEB-2005   vnb          Created
  +============================================================*/

PROCEDURE apply_credits_on_payment(p_currency_code         IN VARCHAR2,
                                   x_open_invoices_status  OUT NOCOPY VARCHAR2,
                                   x_dup_appln_dbt_psid    OUT NOCOPY NUMBER,
                                   x_dup_appln_crdt_psid   OUT NOCOPY NUMBER,
                                   x_cash_receipt_id       OUT NOCOPY NUMBER,
                                   x_msg_count             OUT NOCOPY NUMBER,
                                   x_msg_data              OUT NOCOPY VARCHAR2,
                                   x_return_status         OUT NOCOPY VARCHAR2
                        ) IS

   CURSOR debit_transactions(p_currency_code VARCHAR2) IS
   SELECT   CUSTOMER_ID,
            CUSTOMER_SITE_USE_ID,
            CUSTOMER_TRX_ID,
            TRX_NUMBER,
            TRX_DATE,
            TRX_CLASS,
            DUE_DATE,
            PAYMENT_SCHEDULE_ID,
            STATUS,
            TERMS_SEQUENCE_NUMBER,
            LINE_AMOUNT,
            TAX_AMOUNT ,
            FREIGHT_AMOUNT,
            FINANCE_CHARGES,
            CURRENCY_CODE ,
            AMOUNT_DUE_ORIGINAL,
            AMOUNT_DUE_REMAINING,
            SERVICE_CHARGE,
            DISCOUNT_AMOUNT,
            APPLICATION_AMOUNT,
            CASH_RECEIPT_ID
   FROM     ar_irec_apply_credit_gt
   WHERE    CURRENCY_CODE        = p_currency_code
   AND      ( TRX_CLASS = 'INV' OR
              TRX_CLASS = 'DM' OR
              TRX_CLASS = 'CB' OR
              TRX_CLASS = 'DEP'
	        )
   ORDER BY AMOUNT_DUE_REMAINING ASC;
Line: 1136

   SELECT   CUSTOMER_ID,
            CUSTOMER_SITE_USE_ID,
            CUSTOMER_TRX_ID,
            TRX_NUMBER,
            TRX_DATE,
            TRX_CLASS,
            DUE_DATE,
            PAYMENT_SCHEDULE_ID,
            STATUS,
            TERMS_SEQUENCE_NUMBER,
            LINE_AMOUNT,
            TAX_AMOUNT ,
            FREIGHT_AMOUNT,
            FINANCE_CHARGES,
            CURRENCY_CODE ,
            AMOUNT_DUE_ORIGINAL,
            AMOUNT_DUE_REMAINING,
            SERVICE_CHARGE,
            DISCOUNT_AMOUNT,
            APPLICATION_AMOUNT,
            CASH_RECEIPT_ID
   FROM     ar_irec_apply_credit_gt
   WHERE    CURRENCY_CODE        = p_currency_code
   AND      ( TRX_CLASS = 'CM' OR
              TRX_CLASS = 'PMT'
	        )
   ORDER BY PAYMENT_SCHEDULE_ID;
Line: 1165

        select cash_receipt_id
        from ar_payment_schedules
        where payment_schedule_id = p_ps_id;
Line: 1206

    select_credit_to_apply( p_currency_code        => p_currency_code,
                            x_return_status        => x_return_status,
                            x_credit_ps_id         => x_dup_appln_crdt_psid,
                            x_debit_ps_id          => x_dup_appln_dbt_psid
                           );
Line: 1260

    l_debug_info := 'Apply credits against the selected payment';
Line: 1297

                l_debug_info := 'Apply credit memo against selected payment';
Line: 1322

                l_debug_info := 'Apply payment against selected payment';
Line: 1364

    l_debug_info := 'Apply invoices against the selected payment';
Line: 1411

         l_debug_info := 'Apply invoice against selected payment';
Line: 1483

  |   Applies selected credits against selected debits
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_customer_id               IN NUMBER
  |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
  |   p_currency_code             IN VARCHAR2
  |
  | KNOWN ISSUES
  |
  |
  |
  | NOTES
  |
  |
  |
  | MODIFICATION HISTORY
  | Date          Author       Description of Changes
  | 02-FEB-2005   vnb          Created
  +============================================================*/

PROCEDURE apply_credits_on_credit_memo(p_currency_code         IN VARCHAR2,
                                       x_open_invoices_status  OUT NOCOPY VARCHAR2,
                                       x_dup_appln_dbt_psid    OUT NOCOPY NUMBER,
                                       x_dup_appln_crdt_psid   OUT NOCOPY NUMBER,
                                       x_msg_count             OUT NOCOPY NUMBER,
                                       x_msg_data              OUT NOCOPY VARCHAR2,
                                       x_return_status         OUT NOCOPY VARCHAR2
                        ) IS

   CURSOR debit_transactions(p_currency_code VARCHAR2) IS
   SELECT   CUSTOMER_ID,
            CUSTOMER_SITE_USE_ID,
            CUSTOMER_TRX_ID,
            TRX_NUMBER,
            TRX_DATE,
            TRX_CLASS,
            DUE_DATE,
            PAYMENT_SCHEDULE_ID,
            STATUS,
            TERMS_SEQUENCE_NUMBER,
            LINE_AMOUNT,
            TAX_AMOUNT ,
            FREIGHT_AMOUNT,
            FINANCE_CHARGES,
            CURRENCY_CODE ,
            AMOUNT_DUE_ORIGINAL,
            AMOUNT_DUE_REMAINING,
            SERVICE_CHARGE,
            DISCOUNT_AMOUNT,
            APPLICATION_AMOUNT,
            CASH_RECEIPT_ID
   FROM     ar_irec_apply_credit_gt
   WHERE    CURRENCY_CODE        = p_currency_code
   AND      ( TRX_CLASS = 'INV' OR
              TRX_CLASS = 'DM' OR
              TRX_CLASS = 'CB' OR
              TRX_CLASS = 'DEP'
	        )
   ORDER BY AMOUNT_DUE_REMAINING ASC;
Line: 1546

   SELECT   CUSTOMER_ID,
            CUSTOMER_SITE_USE_ID,
            CUSTOMER_TRX_ID,
            TRX_NUMBER,
            TRX_DATE,
            TRX_CLASS,
            DUE_DATE,
            PAYMENT_SCHEDULE_ID,
            STATUS,
            TERMS_SEQUENCE_NUMBER,
            LINE_AMOUNT,
            TAX_AMOUNT ,
            FREIGHT_AMOUNT,
            FINANCE_CHARGES,
            CURRENCY_CODE ,
            AMOUNT_DUE_ORIGINAL,
            AMOUNT_DUE_REMAINING,
            SERVICE_CHARGE,
            DISCOUNT_AMOUNT,
            APPLICATION_AMOUNT,
            CASH_RECEIPT_ID
   FROM     ar_irec_apply_credit_gt
   WHERE    CURRENCY_CODE        = p_currency_code
   AND      ( TRX_CLASS = 'CM' OR
              TRX_CLASS = 'PMT'
	        )
   ORDER BY PAYMENT_SCHEDULE_ID;
Line: 1730

            select 'Y'
            into   l_found
            from   ar_receivable_applications rap
            where  rap.payment_schedule_id = credit_trx_record.payment_schedule_id
            and    rap.applied_payment_schedule_id = debit_trx_record.payment_schedule_id
            and    rap.display = 'Y'
            and    rap.status = 'APP';
Line: 1764

            select trunc(gl_date),  trunc(trx_date)
            into   l_gl_date, l_receipt_date
            from ar_payment_schedules
            where payment_schedule_id = credit_trx_record.payment_schedule_id;
Line: 1769

            select trunc(gl_date)
            into   l_inv_date
            from ar_payment_schedules
            where payment_schedule_id = debit_trx_record.payment_schedule_id;
Line: 1970

  SELECT
        CUSTOMER_ID,
        CUSTOMER_SITE_USE_ID,
        TRX_CLASS,
        PAYMENT_SCHEDULE_ID,
        CURRENCY_CODE
   FROM ar_irec_apply_credit_gt
   WHERE PAY_FOR_CUSTOMER_ID = p_customer_id
   AND ( (PAY_FOR_CUSTOMER_SITE_ID IS NULL AND p_customer_site_use_id IS NULL) OR CUSTOMER_SITE_USE_ID = nvl(p_customer_site_use_id,CUSTOMER_SITE_USE_ID))
   AND CURRENCY_CODE = p_currency_code
   AND ( TRX_CLASS = 'INV' OR
         TRX_CLASS = 'DM' OR
         TRX_CLASS = 'CB' OR
         TRX_CLASS = 'DEP'
	   )
   AND (AMOUNT_DUE_REMAINING - (nvl(DISCOUNT_AMOUNT,0) + APPLICATION_AMOUNT) > 0);
Line: 2002

    DELETE FROM AR_IREC_PAYMENT_LIST_GT
    WHERE CUSTOMER_ID = p_customer_id
    AND CUSTOMER_SITE_USE_ID = nvl(p_customer_site_use_id,CUSTOMER_SITE_USE_ID)
    AND CURRENCY_CODE = p_currency_code;
Line: 2047

  | PUBLIC procedure select_credit_to_apply
  |
  | DESCRIPTION
  |   Select credit to apply other transactions against
  |
  | PSEUDO CODE/LOGIC
  |
  | PARAMETERS
  |   p_customer_id               IN NUMBER
  |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
  |   p_currency_code             IN VARCHAR2
  |   x_return_status          OUT VARCHAR2  Returns 'S' if successful; 'E' if duplicate application
Line: 2070

  | 07-SEP-2005 7 rrsaneve Updated the cursors credit_to_apply ,duplicate_application as bug#6311033 fix.
  +============================================================*/
PROCEDURE select_credit_to_apply( p_currency_code         IN VARCHAR2,
                                  x_return_status      OUT NOCOPY VARCHAR2,
                                  x_credit_ps_id       OUT NOCOPY NUMBER,
                                  x_debit_ps_id        OUT NOCOPY NUMBER)
IS
    CURSOR credit_to_apply (p_currency_code VARCHAR2) IS
    select acgt.payment_schedule_id
    from ar_irec_apply_credit_gt acgt
    where acgt.currency_code        = p_currency_code
    and   acgt.trx_class            = 'PMT'
    and (not exists
        (
            select arp.payment_schedule_id
            from ar_receivable_applications arp, ar_irec_apply_credit_gt acgt1
            where acgt1.currency_code        = p_currency_code
            and arp.applied_payment_schedule_id = acgt1.payment_schedule_id
            and arp.payment_schedule_id = acgt.payment_schedule_id
        )
	or ( (
            select sum(amount_applied)
            from ar_receivable_applications arp, ar_irec_apply_credit_gt acgt1
            where acgt1.currency_code        = p_currency_code
            and arp.applied_payment_schedule_id = acgt1.payment_schedule_id
            and arp.payment_schedule_id = acgt.payment_schedule_id) = 0
	    )
	)
    order by acgt.trx_date asc;
Line: 2103

    select acgt.payment_schedule_id, arp.applied_payment_schedule_id
    from ar_irec_apply_credit_gt acgt,ar_receivable_applications_all arp,ar_irec_apply_credit_gt acgt1
    where acgt.currency_code        = p_currency_code
    and   acgt.trx_class            = 'PMT'
    and   acgt.payment_schedule_id   = arp.payment_schedule_id
    and   acgt1.currency_code        = p_currency_code
    and  acgt1.payment_schedule_id = arp.applied_payment_schedule_id;
Line: 2115

    select acgt.payment_schedule_id, arp.applied_payment_schedule_id
    from ar_irec_apply_credit_gt acgt,ar_receivable_applications_all arp,ar_irec_apply_credit_gt acgt1
    where acgt.currency_code        = p_currency_code
    and   acgt.trx_class            = 'PMT'
    and   acgt.payment_schedule_id   = arp.payment_schedule_id
    and   acgt1.currency_code        = p_currency_code
    and  acgt1.payment_schedule_id = arp.applied_payment_schedule_id
    and (
	    select sum(amount_applied)
            from ar_receivable_applications arp, ar_irec_apply_credit_gt acgt1
            where acgt1.currency_code        = p_currency_code
            and arp.applied_payment_schedule_id = acgt1.payment_schedule_id
            and arp.payment_schedule_id = acgt.payment_schedule_id) > 0;
Line: 2141

    l_procedure_name    := '.select_credit_to_apply';
Line: 2144

    l_debug_info := 'Open the cursor to select credit to apply';
Line: 2197

END select_credit_to_apply;