Solved

How to write the case statement

Posted on 2014-01-29
14
515 Views
Last Modified: 2014-01-29
I have a following procedure

APPS.CCL_VAT_TAX_code_fluctuation (
   ERRBUF    OUT VARCHAR2,
   RETCODE   OUT VARCHAR2,
   p_date_type VARCHAR2,
   p_date_from date,
   p_date_to date
   )

i have a select statement

base on the p_date_type
if it is 'INVOICE DATE' then
the filter should be

 (  ct.trx_date between nvl(p__date_from , ct.trx_date )
                       AND nvl(p_date_to , ct.trx_date )

and when the p_date_type= 'RECEIPT DATE'
the the filter should be

then (  cr.receipt_date between nvl(p__date_from , cr.receipt_date )
                       AND nvl(p_date_to , cr.receipt_date )

how to write the case statement
0
Comment
Question by:pardeshirahul
  • 7
  • 4
  • 2
  • +1
14 Comments
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39818784
No need for a case statement.



select ...
where
((p_date_type ='INVOICE DATE' and
(  ct.trx_date between nvl(p__date_from , ct.trx_date )
                       AND nvl(p_date_to , ct.trx_date )
)
or
(p_date_type= 'RECEIPT DATE' and
(  cr.receipt_date between nvl(p__date_from , cr.receipt_date )
                       AND nvl(p_date_to , cr.receipt_date )
))
0
 
LVL 39

Expert Comment

by:Kyle Abrahams
ID: 39818802
You shouldn't use between when doing dates, and a case statement won't work in your scenario because  you're comparing different fields that don't tie to each other.


select * from apps.CLL_VAT_TAX_code_flucation
where
 ( p_date_type = 'INVOICE DATE'  and
   ct.trx_date >= nvl(p__date_from , ct.trx_date )
  AND ct.trx_date < nvl(p_date_to , ct.trx_date
 )
OR
(
 p_date_type= 'RECEIPT DATE' AND
 cr.receipt_date >= nvl(p__date_from , cr.receipt_date )
 AND cr.receipt_date < nvl(p_date_to , cr.receipt_date )
)
0
 

Author Comment

by:pardeshirahul
ID: 39818806
why it is giving missing right parenthesis
0
 

Author Comment

by:pardeshirahul
ID: 39818809
sorry my mistake
0
 

Author Comment

by:pardeshirahul
ID: 39818835
it is giving me ORA-00907: missing right parenthesis
0
 

Author Comment

by:pardeshirahul
ID: 39818854
This is my query

SELECT ct.trx_number,
                       aou.name Operating_Unit,
                       ct.invoice_currency_code Functional_Currency_Code,
                       --ct.type Transaction_Class,
                       (SELECT name
                          FROM ra_cust_trx_types_all TYPE
                         WHERE TYPE.CUST_TRX_TYPE_ID = ct.CUST_TRX_TYPE_ID)
                          Transaction_Class,
                       ct.trx_number Transaction_Number,
                       cl.line_number Line_Number,
                       ct.trx_date Transaction_Date,
                       ps.gl_date GL_Date,
                       SUBSTR (HZ_COMMON_PUB.get_party_name (b.party_id),
                               1,
                               240)
                          Bill_To_Customer_Name,
                       SUBSTR (
                          HZ_COMMON_PUB.GET_CUST_ADDRESS (
                             bisu.cust_acct_site_id),
                          1,
                          240)
                          Bill_To_Customer_Address,
                       c.country Bill_To_Customer_Country,
                       NULL Bill_To_Customer_Tax_ID,
                       ter.name Payment_Terms,
                       ct.invoice_currency_code Entered_Currency,
                       nvl(ps.exchange_rate,1) Exchange_Rate,
                       NVL (cl.quantity_ordered, quantity_invoiced) Quantity,
                       NVL (cl.taxable_amount, cl.unit_selling_price)
                          Unit_Selling_Price,
                         NVL (cl.quantity_ordered, quantity_invoiced)
                       * NVL (cl.taxable_amount, cl.unit_selling_price)
                          Entered_Net_Line_Sales_Amount,
                       (SELECT NVL (tax_rate, 0)
                          FROM ra_customer_trx_lines_all cl1
                         WHERE     cl1.LINK_TO_CUST_TRX_LINE_ID =
                                      cl.customer_trx_line_id
                               AND SIGN (tax_rate) = '+1')
                          Tax_Rate,
                         NVL (cl.quantity_ordered, quantity_invoiced)
                       * NVL (cl.taxable_amount, cl.unit_selling_price)
                       * (SELECT NVL (tax_rate, 0)
                            FROM ra_customer_trx_lines_all cl1
                           WHERE     cl1.LINK_TO_CUST_TRX_LINE_ID =
                                        cl.customer_trx_line_id
                                 AND SIGN (tax_rate) = '+1')
                       / 100
                          Entered_Tax_Amount,
                           --ps.tax_original Entered_Tax_Amount,
                           -- NVL (cl.quantity_ordered, quantity_invoiced) * cl.unit_selling_price + ps.tax_original  Entered_Gross_Line_Amount,
                           NVL (cl.quantity_ordered, quantity_invoiced)
                         * cl.unit_selling_price
                       +   NVL (cl.quantity_ordered, quantity_invoiced)
                         * NVL (cl.taxable_amount, cl.unit_selling_price)
                         * (SELECT NVL (tax_rate, 0)
                              FROM ra_customer_trx_lines_all cl1
                             WHERE     cl1.LINK_TO_CUST_TRX_LINE_ID =
                                          cl.customer_trx_line_id
                                   AND SIGN (tax_rate) = '+1')
                         / 100
                          Entered_Gross_Line_Amount,
                         --ps.amount_due_original Entered_Gross_Line_Amount,
                         NVL (cl.quantity_ordered, quantity_invoiced)
                       * NVL (NVL (cl.taxable_amount, cl.unit_selling_price),
                              0)
                       *nvl( ps.exchange_rate,1)
                          Functional_Net_Line_Amount,
                         --NVL (ps.tax_original, 0) * NVL (ps.exchange_rate, 1) Funcational_Tax_Amount,
                         NVL (cl.quantity_ordered, quantity_invoiced)
                       * NVL (cl.taxable_amount, cl.unit_selling_price)
                       * (SELECT NVL (tax_rate, 0)
                            FROM ra_customer_trx_lines_all cl1
                           WHERE     cl1.LINK_TO_CUST_TRX_LINE_ID =
                                        cl.customer_trx_line_id
                                 AND SIGN (tax_rate) = '+1')
                       / 100
                       * NVL (ps.exchange_rate, 1)
                          Funcational_Tax_Amount,
                           -- NVL (cl.quantity_ordered, quantity_invoiced)  * NVL (cl.unit_selling_price, 0)  * ps.exchange_rate  + NVL (ps.tax_original, 0) * NVL (ps.exchange_rate, 1)
                           --Functional_Gross_Line_Amount,
                           NVL (cl.quantity_ordered, quantity_invoiced)
                         * NVL (NVL (cl.taxable_amount, cl.unit_selling_price),
                                0)
                         * nvl(ps.exchange_rate,1)
                       +   NVL (cl.quantity_ordered, quantity_invoiced)
                         * NVL (cl.taxable_amount, cl.unit_selling_price)
                         * (SELECT NVL (tax_rate, 0)
                              FROM ra_customer_trx_lines_all cl1
                             WHERE cl1.LINK_TO_CUST_TRX_LINE_ID =
                                      cl.customer_trx_line_id)
                         / 100
                         * NVL (ps.exchange_rate, 1)
                          Functional_Gross_Line_Amount,
                       (SELECT ra3.apply_date
                          FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                         WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                      PS.PAYMENT_SCHEDULE_ID
                               AND RA3.applied_customer_trx_id =
                                      cl.customer_trx_id --AND RA3.APPLIED_CUSTOMER_TRX_LINE_ID=cl.customer_trx_line_id
                               AND ROWNUM = 1)
                          Collected_Date,
                       -- ra3.apply_date Collected_Date,
                       (SELECT ACR.RECEIPT_NUMBER
                          FROM AR_RECEIVABLE_APPLICATIONS_ALL ARA,
                               AR_CASH_RECEIPTS_ALL ACR,
                               RA_CUSTOMER_TRX_ALL RCT1
                         WHERE     ARA.STATUS = 'APP'
                               AND ARA.CASH_RECEIPT_ID = ACR.CASH_RECEIPT_ID
                               AND ARA.APPLIED_CUSTOMER_TRX_ID =
                                      RCT1.CUSTOMER_TRX_ID
                               AND ARA.cash_receipt_id =
                                      (SELECT RA3.cash_receipt_id
                                         FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                        WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                     PS.PAYMENT_SCHEDULE_ID
                                              AND RA3.applied_customer_trx_id =
                                                     cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                              AND ROWNUM = 1)
                               AND RCT1.CUSTOMER_TRX_ID = ct.CUSTOMER_TRX_ID)
                          Collected_Bank_Tfr_Num,
                           (SELECT ACR.RECEIPT_DATE
                          FROM AR_RECEIVABLE_APPLICATIONS_ALL ARA,
                               AR_CASH_RECEIPTS_ALL ACR,
                               RA_CUSTOMER_TRX_ALL RCT1
                         WHERE     ARA.STATUS = 'APP'
                               AND ARA.CASH_RECEIPT_ID = ACR.CASH_RECEIPT_ID
                               AND ARA.APPLIED_CUSTOMER_TRX_ID =
                                      RCT1.CUSTOMER_TRX_ID
                               AND ARA.cash_receipt_id =
                                      (SELECT RA3.cash_receipt_id
                                         FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                        WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                     PS.PAYMENT_SCHEDULE_ID
                                              AND RA3.applied_customer_trx_id =
                                                     cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                              AND ROWNUM = 1)
                               AND RCT1.CUSTOMER_TRX_ID = ct.CUSTOMER_TRX_ID)
                          Collected_Bank_Receipt_date,
                         NVL (cl.quantity_ordered, quantity_invoiced)
                       * cl.unit_selling_price
                          Collected_Before_VAT_Orig_Curr,
                         --ps.tax_original VAT_Withholding_OC,
                         NVL (cl.quantity_ordered, quantity_invoiced)
                       * cl.unit_selling_price
                       * (SELECT NVL (tax_rate, 0)
                            FROM ra_customer_trx_lines_all cl1
                           WHERE     cl1.LINK_TO_CUST_TRX_LINE_ID =
                                        cl.customer_trx_line_id
                                 AND SIGN (tax_rate) = '+1')
                       / 100
                          VAT_Withholding_OC,
                       --   ra3.tax_applied Collected_VAT_OC,
                       (SELECT RA3.tax_applied
                          FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                         WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                      PS.PAYMENT_SCHEDULE_ID
                               AND RA3.applied_customer_trx_id =
                                      cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                               AND ROWNUM = 1)
                          Collected_VAT_OC,
                         ps.tax_original
                       - (SELECT RA3.tax_applied
                            FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                           WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                        PS.PAYMENT_SCHEDULE_ID
                                 AND RA3.applied_customer_trx_id =
                                        cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                 AND ROWNUM = 1)
                          Other_WHT_OC,
                         --ra3.line_applied + ra3.tax_applied Total_OC,
                         (SELECT RA3.line_applied
                            FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                           WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                        PS.PAYMENT_SCHEDULE_ID
                                 AND RA3.applied_customer_trx_id =
                                        cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                 AND ROWNUM = 1)
                       + (SELECT RA3.tax_applied
                            FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                           WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                        PS.PAYMENT_SCHEDULE_ID
                                 AND RA3.applied_customer_trx_id =
                                        cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                 AND ROWNUM = 1)
                          Total_OC,
                       (SELECT nvl(exchange_rate,1)
                          FROM ar_cash_receipts_all acra
                         WHERE     1 = 1
                               AND acra.cash_receipt_id =
                                      (SELECT RA3.cash_receipt_id
                                         FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                        WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                     PS.PAYMENT_SCHEDULE_ID
                                              AND RA3.applied_customer_trx_id =
                                                     cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                              AND ROWNUM = 1))
                          Exchange_Rate_at_the_receipt,
                       (SELECT currency_code
                          FROM ar_cash_receipts_all acra
                         WHERE     1 = 1
                               AND acra.cash_receipt_id =
                                      (SELECT RA3.cash_receipt_id
                                         FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                        WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                     PS.PAYMENT_SCHEDULE_ID
                                              AND RA3.applied_customer_trx_id =
                                                     cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                              AND ROWNUM = 1))
                          currency_code_at_the_receipt,
                         (SELECT RA3.line_applied
                            FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                           WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                        PS.PAYMENT_SCHEDULE_ID
                                 AND RA3.applied_customer_trx_id =
                                        cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                 AND ROWNUM = 1)
                                 * nvl(ps.exchange_rate,1)/*( SELECT RA3.TRANS_TO_RECEIPT_RATE
                                           FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                          WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                       PS.PAYMENT_SCHEDULE_ID
                                                AND RA3.applied_customer_trx_id =
                                                       cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                AND ROWNUM = 1)*/
                       /** (SELECT nvl(exchange_rate,1)
                            FROM ar_cash_receipts_all acra
                           WHERE     1 = 1
                                 AND acra.cash_receipt_id =
                                        (SELECT RA3.cash_receipt_id
                                           FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                          WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                       PS.PAYMENT_SCHEDULE_ID
                                                AND RA3.applied_customer_trx_id =
                                                       cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                AND ROWNUM = 1))*/
                          Collected_bef_VAT_Funct_Curr,
                       NVL (ps.tax_original, 0) * NVL (ps.exchange_rate, 1)
                          VAT_With_holding_FC,
                         (SELECT RA3.tax_applied
                            FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                           WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                        PS.PAYMENT_SCHEDULE_ID
                                 AND RA3.applied_customer_trx_id =
                                        cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                 AND ROWNUM = 1)
                                 * ( SELECT RA3.TRANS_TO_RECEIPT_RATE
                                           FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                          WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                       PS.PAYMENT_SCHEDULE_ID
                                                AND RA3.applied_customer_trx_id =
                                                       cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                AND ROWNUM = 1)
                                                       /* * (SELECT nvl(exchange_rate,1)
                            FROM ar_cash_receipts_all acra
                           WHERE     1 = 1
                                 AND acra.cash_receipt_id =
                                        (SELECT RA3.cash_receipt_id
                                           FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                          WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                       PS.PAYMENT_SCHEDULE_ID
                                                AND RA3.applied_customer_trx_id =
                                                       cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                AND ROWNUM = 1))*/
                          Collected_VAT_FC,
                       NULL Other_WHT_FC,
                           (SELECT RA3.line_applied
                              FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                             WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                          PS.PAYMENT_SCHEDULE_ID
                                   AND RA3.applied_customer_trx_id =
                                          cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                   AND ROWNUM = 1)
                                   *( SELECT RA3.TRANS_TO_RECEIPT_RATE
                                           FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                          WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                       PS.PAYMENT_SCHEDULE_ID
                                                AND RA3.applied_customer_trx_id =
                                                       cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                AND ROWNUM = 1)
                        /* * (SELECT nvl(exchange_rate,1)
                              FROM ar_cash_receipts_all acra
                             WHERE     1 = 1
                                   AND acra.cash_receipt_id =
                                          (SELECT RA3.cash_receipt_id
                                             FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                            WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                         PS.PAYMENT_SCHEDULE_ID
                                                  AND RA3.applied_customer_trx_id =
                                                         cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                  AND ROWNUM = 1))*/
                       +   (SELECT RA3.tax_applied
                              FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                             WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                          PS.PAYMENT_SCHEDULE_ID
                                   AND RA3.applied_customer_trx_id =
                                          cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                            )
                                                            * ( SELECT RA3.TRANS_TO_RECEIPT_RATE
                                           FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                          WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                       PS.PAYMENT_SCHEDULE_ID
                                                AND RA3.applied_customer_trx_id =
                                                       cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                AND ROWNUM = 1)
                      /*   * (SELECT nvl(exchange_rate,1)
                              FROM ar_cash_receipts_all acra
                             WHERE     1 = 1
                                   AND acra.cash_receipt_id =
                                          (SELECT RA3.cash_receipt_id
                                             FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                            WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                         PS.PAYMENT_SCHEDULE_ID
                                                  AND RA3.applied_customer_trx_id =
                                                         cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                  AND ROWNUM = 1))*/
                          Total_FC,
                           (SELECT RA3.tax_applied
                              FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                             WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                          PS.PAYMENT_SCHEDULE_ID
                                   AND RA3.applied_customer_trx_id =
                                          cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                   AND ROWNUM = 1)
                                   * ( SELECT RA3.TRANS_TO_RECEIPT_RATE
                                           FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                          WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                       PS.PAYMENT_SCHEDULE_ID
                                                AND RA3.applied_customer_trx_id =
                                                       cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                AND ROWNUM = 1)
                         /** (SELECT nvl(exchange_rate,1)
                              FROM ar_cash_receipts_all acra
                             WHERE     1 = 1
                                   AND acra.cash_receipt_id =
                                          (SELECT RA3.cash_receipt_id
                                             FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                            WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                         PS.PAYMENT_SCHEDULE_ID
                                                  AND RA3.applied_customer_trx_id =
                                                         cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                                  AND ROWNUM = 1))*/
                       - NVL (ps.tax_original, 0) * NVL (ps.exchange_rate, 1)
                          VAT_Fluctuation,
                       NULL Collected_VAT_PER,
                          cl.attribute1
                       || '-'
                       || cl.attribute2
                       || '-'
                       || cl.attribute3
                       || '-'
                       || cl.attribute4
                       || '-'
                       || cl.attribute5
                          Desc_of_service,
                       NULL Total_Penalty,
                       c.country Cust_country_of_residence,
                       hca.account_number Related_party,
                          abaa.bank_account_num
                       || '-'
                       || abb.bank_name
                       || '-'
                       || abb.bank_branch_name
                          Bank
                  FROM ar_payment_schedules_all ps,
                       --AR_RECEIVABLE_APPLICATIONS_ALL RA3,
                       ra_customer_trx_all ct,
                       ar_cash_receipts_all cr,
                       ra_terms ter,
                       hr_all_organization_units aou,
                       hz_cust_site_uses_all bisu,
                       ra_customer_trx_lines_all cl,
                       hz_cust_accounts hca,
                       hz_parties hp,
                       ap_bank_accounts_all abaa,
                       ap_bank_branches abb,
                       hz_party_sites b,
                       hz_locations c,
                       hz_cust_acct_sites_all a
                 WHERE   1=1
AND ( 'INVOICE DATE' = 'INVOICE DATE'  and
    ct.trx_date >= nvl('01-JAN-2013' , ct.trx_date )
  AND ct.trx_date < nvl('30-JAN-2013' , ct.trx_date
 )
OR
(
 'INVOICE DATE' = 'RECEIPT DATE' AND
 cr.receipt_date >= nvl('01-JAN-2013' , cr.receipt_date )
 AND cr.receipt_date < nvl('30-JAN-2013' , cr.receipt_date )
)                       AND a.party_site_id = b.party_site_id
                       AND b.location_id = c.location_id
                       AND bisu.cust_acct_site_id = a.cust_acct_site_id
                       AND hca.party_id = hp.party_id(+)
                       AND ct.customer_trx_id = cl.customer_trx_id
                       AND cr.pay_from_customer = hca.cust_account_id(+)
                       --AND RA3.APPLIED_PAYMENT_SCHEDULE_ID = PS.PAYMENT_SCHEDULE_ID
                       --AND cl.customer_trx_id(+) = RA3.applied_customer_trx_id
                       --AND cl.customer_trx_line_id(+)=RA3.applied_customer_trx_line_id
                       AND ps.customer_trx_id = ct.customer_trx_id(+)
                       AND ps.cash_receipt_id = cr.cash_receipt_id(+)
                       AND ps.term_id = ter.term_id(+)
                       AND ps.org_id = aou.organization_id(+)
                       AND ct.bill_to_site_use_id = bisu.site_use_id(+)
                       --and  PS.CLASS <> 'PMT'
                       --AND NVL (PS.STATUS, 'Z') = 'OP'
                       AND cr.remittance_bank_account_id =
                              abaa.bank_account_id(+)
                       AND abaa.bank_branch_id = abb.bank_branch_id(+)
                       --AND ct.trx_number IN ('10061', '10062')
                         AND ct.trx_number IN ('43', '106'         ,              '10084',
                                             '10085',
                                             '10086',
                                             '10087',
                                             '10089',
                                             '10102'
                                             )--('10061', '10062')
                        and ct.invoice_currency_code <> 'MXN'
                        and (SELECT currency_code
                          FROM ar_cash_receipts_all acra
                         WHERE     1 = 1
                               AND acra.cash_receipt_id =
                                      (SELECT RA3.cash_receipt_id
                                         FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                        WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                     PS.PAYMENT_SCHEDULE_ID
                                              AND RA3.applied_customer_trx_id =
                                                     cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                              AND ROWNUM = 1))  ='MXN'
                       AND ct.invoice_currency_code <>  (SELECT currency_code
                          FROM ar_cash_receipts_all acra
                         WHERE     1 = 1
                               AND acra.cash_receipt_id =
                                      (SELECT RA3.cash_receipt_id
                                         FROM AR_RECEIVABLE_APPLICATIONS_ALL RA3
                                        WHERE     RA3.APPLIED_PAYMENT_SCHEDULE_ID =
                                                     PS.PAYMENT_SCHEDULE_ID
                                              AND RA3.applied_customer_trx_id =
                                                     cl.customer_trx_id --AND RA3.applied_customer_trx_line_id=cl.customer_trx_line_id
                                              AND ROWNUM = 1))
                              AND (SELECT name
                              FROM ra_cust_trx_types_all TYPE
                             WHERE TYPE.CUST_TRX_TYPE_ID = ct.CUST_TRX_TYPE_ID) <>
                              'PWMX16 SCRAP SALES'
                       AND cl.line_TYPE = 'LINE'
                       AND organization_id = 782
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39818856
The concept is there.  You just need to match up the parenthesis for the logic you want.

Since we don't have the entire select nor the full requirements, we cannot provide 100% copy/paste code.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39818868
I was typing when you posted the select.


You will want to WRAP the entire piece in parans to make it a stand-alone check.  Otherwise the OR might break the logic.

Try what I posted.
0
 
LVL 76

Accepted Solution

by:
slightwv (䄆 Netminder) earned 500 total points
ID: 39818884
The missing right paran is here:

AND ct.trx_date < nvl('30-JAN-2013' , ct.trx_date
 )


To make it valid syntax:
AND ct.trx_date < nvl('30-JAN-2013' , ct.trx_date )
 )

Still don't think it is correct logic with the OR by itself.

Maybe this:
AND 
(( 'INVOICE DATE' = 'INVOICE DATE'  and
    ct.trx_date >= nvl('01-JAN-2013' , ct.trx_date )
  AND ct.trx_date < nvl('30-JAN-2013' , ct.trx_date) 
 )
OR
(
 'INVOICE DATE' = 'RECEIPT DATE' AND
 cr.receipt_date >= nvl('01-JAN-2013' , cr.receipt_date )
 AND cr.receipt_date < nvl('30-JAN-2013' , cr.receipt_date ) 
)
)                       AND a.party_site_id = b.party_site_id

Open in new window

0
 

Author Comment

by:pardeshirahul
ID: 39818887
isint it can be done with case or decode
0
 

Author Comment

by:pardeshirahul
ID: 39818890
yes this works
0
 
LVL 73

Expert Comment

by:sdstuber
ID: 39819012
I know this question is closed but note the change from BETWEEN to   >=  and <  introduced a functional change that is probably NOT correct

look at the condtion if the p_date_to is NULL

  AND ct.trx_date < nvl(p_date_to , ct.trx_date)


ct.trx_date can't be less than itself
but it can be less than or equal to itself (i.e. BETWEEN)


also, if your dates are already truncated then the switch to < on the upper limit effectively cuts off an entire days' worth of results.

If your dates are not truncated then it cuts off one second of results (midnight of the target day)
0
 

Author Comment

by:pardeshirahul
ID: 39819055
so the condition should be

 AND ct.trx_date < = nvl(p_date_to , ct.trx_date)
0
 
LVL 73

Expert Comment

by:sdstuber
ID: 39819071
yes, or use the original BETWEEN syntax.

I prefer to not use BETWEEN, but that's just a cosmetic preference.

It's the same as  >=  and <=
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Subquery in Oracle: Sub queries are one of advance queries in oracle. Types of advance queries: •      Sub Queries •      Hierarchical Queries •      Set Operators Sub queries are know as the query called from another query or another subquery. It can …
Introduction A previously published article on Experts Exchange ("Joins in Oracle", http://www.experts-exchange.com/Database/Oracle/A_8249-Joins-in-Oracle.html) makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now