Friday, 8 December 2023

SQL Query to extract Miscellaneous Transactions in Oracle Inventory APPS R12

 /*SQL Query to extract Miscellaneous Transactions in Oracle Inventory*/

SELECT HRO.name
       ORGANIZATION,
       MMT.inventory_item_id,
       MSB.segment1
       ITEM_CODE,
       mtt.transaction_type_name,
       MMT.subinventory_code,
       MMT.transaction_quantity,
       MMT.transaction_uom,
       (SELECT concatenated_segments
        FROM   gl_code_combinations_kfv gcck
        WHERE  gcck.code_combination_id = MMT.distribution_account_id)
       mmt_acct,
       --Accounting Type : "Account"
       (SELECT Listagg(DISTINCT gcck.concatenated_segments, ',')
                 within GROUP (ORDER BY NULL)
        FROM   gl_code_combinations_kfv gcck,
               cst_inv_distribution_v CID
        WHERE  GCCK.code_combination_id = CID.reference_account
               AND CID.transaction_id = MMT.transaction_id
               AND CID.organization_id = MMT.organization_id
               AND CID.accounting_line_type = 1)
       Inv_valuation_acct,--Accounting Type : "Inv valuation"
       (SELECT Listagg(DISTINCT gcck.concatenated_segments, ',')
                 within GROUP (ORDER BY NULL)
        FROM   gl_code_combinations_kfv gcck,
               mtl_transaction_accounts mta
        WHERE  mta.transaction_id = mmt.transaction_id
               AND mta.organization_id = mmt.organization_id
               AND accounting_line_type = 1
               AND gcck.code_combination_id = mta.reference_account)
       reference_account,--Accounting Type : "Inv valuation"
       MMT.transaction_date,
       (SELECT SUM(( base_transaction_value ) / ( primary_quantity ))
        FROM   mtl_transaction_accounts mta
        WHERE  mta.transaction_id = mmt.transaction_id
               AND mta.organization_id = mmt.organization_id
               AND accounting_line_type = 1)                             cost,
       (SELECT SUM(MTA.rate_or_amount) unit_rate
        FROM   mtl_transaction_accounts mta
        WHERE  mta.transaction_id = mmt.transaction_id
               AND mta.organization_id = mmt.organization_id
               AND Sign(mta.primary_quantity) < 0
               AND accounting_line_type = 1)                             cost_2,
       (SELECT SUM(Abs(base_transaction_value))
        FROM   mtl_transaction_accounts MTA
        WHERE  mta.transaction_id = mmt.transaction_id
               AND mta.organization_id = mmt.organization_id
               AND base_transaction_value < 0
               AND cost_element_id = (SELECT cost_element_id
                                      FROM   cst_cost_elements
                                      WHERE  cost_element = 'Material')) cost_3,
       (SELECT SUM(CID.unit_cost)
        FROM   cst_inv_distribution_v CID
        WHERE  CID.transaction_id = MMT.transaction_id
               AND CID.organization_id = MMT.organization_id
               AND CID.accounting_line_type = 1 --Inv valuation
       )
       UNIT_COST,
       MMT.actual_cost,
       (SELECT user_name
        FROM   fnd_user fu
        WHERE  fu.user_id = mmt.created_by)
       created_by
FROM   apps.mtl_material_transactions MMT,
       apps.mtl_transaction_types MTT,
       apps.mtl_system_items_b MSB,
       apps.hr_all_organization_units HRO
WHERE  mmt.transaction_type_id = mtt.transaction_type_id
       AND mtt.transaction_type_name LIKE '%Miscellaneous%'
       AND MMT.inventory_item_id = MSB.inventory_item_id
       AND MMT.organization_id = MSB.organization_id
       AND MMT.organization_id = HRO.organization_id
       --and MMT.TRANSACTION_ID = 676767565
       AND Trunc(MMT.transaction_date) BETWEEN :FROM_DATE AND :TO_DATE; 

No comments:

Post a Comment