Friday, 19 April 2019

Query to find Price List Details in Oracle Apps R12

SELECT items.segment1          item_code, 
       items.description, 
       (SELECT b.reporting_code 
        FROM   apps.jai_item_templ_hdr_v a, 
               apps.jai_reporting_associations_v b 
        WHERE  b.entity_id = a.template_hdr_id 
               AND b.effective_from IS NOT NULL 
               AND b.effective_to IS NULL 
               AND b.regime_code = 'IND GST' 
               AND b.reporting_type_code = 'GST_HSN_CODE' 
               AND a.inventory_item_id = items.inventory_item_id 
               AND ROWNUM = 1) hsn_code, 
       qlh.name                price_list_name, 
       Nvl (qpl.operand, 0)    list_price, 
       cat.segment1, 
       cat.segment2 
FROM   apps.mtl_system_items_b items, 
       apps.qp_pricing_attributes price_attrs, 
       apps.qp_list_lines qpl, 
       apps.mtl_item_categories_v cat, 
       apps.qp_secu_list_headers_v qlh 
WHERE  items.organization_id = <<ITEM_MASTER_ORGANIZATION_ID>> 
       AND items.inventory_item_id = cat.inventory_item_id(+)
       AND items.organization_id = cat.organization_id(+)
       AND price_attrs.list_header_id = qlh.list_header_id 
       AND cat.category_set_name(+) = 'CNS_MIS_CAT'
       AND price_attrs.product_attribute_context = 'ITEM' 
       AND price_attrs.product_attribute = 'PRICING_ATTRIBUTE1' 
       AND qlh.name = <<PRICE_LIST_NAME>> 
       AND price_attrs.product_attr_value = To_char (items.inventory_item_id) 
       AND price_attrs.list_line_id = qpl.list_line_id 
       AND qpl.end_date_active IS NULL; 


If we need to include items with last END_DATE_ACTIVE then


SELECT items.segment1          item_code,-- qpl.LIST_LINE_ID, 
       items.description, 
       qpl.end_date_active, 
       (SELECT b.reporting_code 
        FROM   apps.jai_item_templ_hdr_v a, 
               apps.jai_reporting_associations_v b 
        WHERE  b.entity_id = a.template_hdr_id 
               AND b.effective_from IS NOT NULL 
               AND b.effective_to IS NULL 
               AND b.regime_code = 'IND GST' 
               AND b.reporting_type_code = 'GST_HSN_CODE' 
               AND a.inventory_item_id = items.inventory_item_id 
               AND ROWNUM = 1) hsn_code, 
       qlh.name                price_list_name, 
       Nvl (qpl.operand, 0)    list_price, 
       cat.segment1            MIS_CAT_SEG1, 
       cat.segment2            MIS_CAT_SEG2 
FROM   apps.mtl_system_items_b items, 
       apps.qp_pricing_attributes price_attrs, 
       apps.qp_list_lines qpl, 
       apps.mtl_item_categories_v cat, 
       apps.qp_secu_list_headers_v qlh 
WHERE  items.organization_id = 112 
       AND items.inventory_item_id = cat.inventory_item_id(+)
       AND items.organization_id = cat.organization_id(+)
       AND price_attrs.list_header_id = qlh.list_header_id 
       AND cat.category_set_name(+) = 'CNS_MIS_CAT' 
       AND price_attrs.product_attribute_context = 'ITEM' 
       AND price_attrs.product_attribute = 'PRICING_ATTRIBUTE1' 
       AND qlh.name = <<PRICE_LIST_NAME>> 
       AND price_attrs.product_attr_value = To_char (items.inventory_item_id) 
       AND price_attrs.list_line_id = qpl.list_line_id 
       --and  items.segment1 = <> 
       AND Nvl(qpl.end_date_active, To_date('9/9/9999', 'mm/dd/yyyy')) = 
           (SELECT Max(Nvl(qpl1.end_date_active, To_date('9/9/9999', 'mm/dd/yyyy'))) 
            FROM   apps.qp_pricing_attributes price_attrs1, 
                   apps.qp_list_lines qpl1 
            WHERE  1 = 1 
            AND price_attrs1.list_header_id = qlh.list_header_id 
            AND price_attrs1.list_line_id = qpl1.list_line_id 
            AND price_attrs1.product_attribute_context = 'ITEM' 
            AND price_attrs1.product_attribute = 'PRICING_ATTRIBUTE1' 
            AND price_attrs1.product_attr_value = price_attrs.product_attr_value ); 

Thursday, 11 April 2019

Query to find REVENUE Account from XLA in Oracle Apps R12

SELECT revenue_account, 
       SUM(amt) 
FROM   (SELECT SUM (Nvl (xel.accounted_dr, 0) - Nvl (xel.accounted_cr, 0)) amt, 
               GCC.segment1 
               ||'.' 
               ||GCC.segment2 
               ||'.' 
               ||GCC.segment3 
               ||'.' 
               ||GCC.segment4 
               ||'.' 
               ||GCC.segment5 
                       Revenue_Account 
        FROM   apps.xla_transaction_entities_upg xte, 
               apps.xla_events xe, 
               apps.xla_ae_headers xeh, 
               apps.xla_ae_lines xel, 
               gl_code_combinations gcc 
        WHERE  1 = 1 
               AND xte.application_id = xe.application_id 
               AND xe.application_id = xeh.application_id 
               AND xeh.application_id = xel.application_id 
               AND xeh.application_id IN ( 200, 222 ) --200 : Payables, 222 : Receivables  
               AND xte.entity_code IN ( 'TRANSACTIONS', 'AP_INVOICES' ) 
               AND xel.accounting_class_code IN ( 'REVENUE', 'UNEARNED_REVENUE', 'ITEM EXPENSE') 
               AND xte.entity_id = xe.entity_id 
               AND xeh.event_id = xe.event_id 
               AND xeh.ledger_id = xte.ledger_id 
               AND xeh.ae_header_id = xel.ae_header_id 
               AND gcc.code_combination_id = xel.code_combination_id 
               --   and xeh.AE_HEADER_ID = 123809740  
               AND xte.ledger_id = Nvl(:P_SOB_ID, xte.ledger_id) 
               AND xeh.accounting_date BETWEEN To_date(:P_FACCOUNTING_DATE'RRRR/MM/DD HH24:MI:SS') AND To_date(:P_TACCOOUNTING_DATE, 'RRRR/MM/DD HH24:MI:SS') 
               AND GCC.segment1 
                   ||'.' 
                   ||GCC.segment2 
                   ||'.' 
                   ||GCC.segment3 
                   ||'.' 
                   ||GCC.segment4 
                   ||'.' 
                   ||GCC.segment5 = '1561.R111001.999999.99999.999' 
        GROUP  BY GCC.segment1 
                  ||'.' 
                  ||GCC.segment2 
                  ||'.' 
                  ||GCC.segment3 
                  ||'.' 
                  ||GCC.segment4 
                  ||'.' 
                  ||GCC.segment5 
        UNION ALL 
        SELECT SUM(Nvl(gjl.accounted_dr, 0) - Nvl(gjl.accounted_cr, 0)) AMT, 
               GCC.segment1 
               ||'.' 
               ||GCC.segment2 
               ||'.' 
               ||GCC.segment3 
               ||'.' 
               ||GCC.segment4 
               ||'.' 
               ||GCC.segment5 
               Revenue_Account 
        FROM   gl_je_headers gjh, 
               gl_je_lines gjl, 
               gl_code_combinations gcc, 
               gl.gl_periods glp 
        WHERE  gjh.je_header_id = gjl.je_header_id 
               AND gjh.ledger_id = Nvl(:P_SOB_ID, gjh.ledger_id) 
               AND gjl.code_combination_id = gcc.code_combination_id 
               AND gjh.period_name = glp.period_name 
               AND gjh.je_source = 'Manual' 
               AND gjh.je_category = 'Adjustment' 
               AND gjh.status = 'P' 
               AND gjh.period_name = 'Mar-19' 
               AND GCC.segment1 
                   ||'.' 
                   ||GCC.segment2 
                   ||'.' 
                   ||GCC.segment3 
                   ||'.' 
                   ||GCC.segment4 
                   ||'.' 
                   ||GCC.segment5 = '1561.R111001.999999.99999.999' 
        GROUP  BY GCC.segment1 
                  ||'.' 
                  ||GCC.segment2 
                  ||'.' 
                  ||GCC.segment3 
                  ||'.' 
                  ||GCC.segment4 
                  ||'.' 
                  ||GCC.segment5) 
GROUP  BY revenue_account;