• 销售成本与采购成本分析SQL Sscripts


    前提:
    1>针对使用FIFO/LIFO的成本类型;
    2>要指定自己的查询参数;

    SELECT x."AR_Num", x."Item", x."AR_Date", x."AR_Qty", x."Cost_Amount",
           x."Item_Cost", x."Lay_Id", x."Receipt_Num", y."Invoice_Num",
           y."Voucher_Num", y."Unit_Price"
      FROM (SELECT DISTINCT rct.trx_number "AR_Num", msi.segment1 "Item",
                            rct.trx_date "AR_Date", mmt.inventory_item_id,
                            rctl.quantity_invoiced "AR_Qty",
                            cil.inv_layer_id "Lay_Id", cil.layer_cost "Item_Cost",
                            rctl.quantity_invoiced * cil.layer_cost "Cost_Amount",
                            rsh.receipt_num "Receipt_Num",
                            (SELECT rt1.transaction_id
                               FROM po.rcv_transactions rt1
                              WHERE rt1.interface_transaction_id =
                                       rt.interface_transaction_id
                                AND rt1.parent_transaction_id = -1)
                                                               rcv_transaction_id
                       FROM ar.ra_customer_trx_all rct,
                            ar.ra_customer_trx_lines_all rctl,
                            inv.mtl_material_transactions mmt,
                            inv.mtl_cst_layer_act_cost_details mcl,
                            bom.cst_inv_layers cil,
                            inv.mtl_system_items_b msi,
                            po.rcv_transactions rt,
                            po.rcv_shipment_headers rsh,
                            po.rcv_shipment_lines rsl,
                            inv.mtl_material_transactions mmt1
                      WHERE rct.set_of_books_id = &sob
                        AND rct.customer_trx_id = rctl.customer_trx_id
                        AND rctl.line_type = 'LINE'
                        AND EXISTS (
                               SELECT *
                                 FROM ont.oe_order_headers_all ooh
                                WHERE ooh.org_id = &ou_id
                                  AND ooh.order_number = rctl.sales_order
                                  AND EXISTS (
                                         SELECT 'true'
                                           FROM ont.oe_transaction_types_all ott
                                          WHERE ott.org_id = &ou_id
                                            AND ott.cost_of_goods_sold_account IS NOT NULL
                                            AND ott.end_date_active IS NULL
                                            AND ooh.order_type_id =
                                                           ott.transaction_type_id
                                            AND EXISTS (
                                                   SELECT 'TRUE'
                                                     FROM gl.gl_code_combinations gcc
                                                    WHERE ott.cost_of_goods_sold_account =
                                                             gcc.code_combination_id
                                                      AND gcc.segment4 = '61110')))
    ---此处是针对销售成本科目,选择自己系统弹性域段,可能不一定是segment4;
                        AND TO_CHAR (rct.trx_date, 'yyyy-mm') = '&date'
                        AND mmt.transaction_id = mcl.transaction_id
                        AND mcl.cost_element_id = 1
                        AND mcl.layer_id = cil.layer_id
                        AND mcl.inv_layer_id = cil.inv_layer_id
                        AND rctl.interface_line_attribute6 =
                                                            mmt.trx_source_line_id
                        AND mmt.trx_source_line_id = mmt.source_line_id
                        AND rctl.inventory_item_id = mmt.inventory_item_id
                        AND msi.organization_id = &org_id  --master item organization
                        AND mmt.inventory_item_id = msi.inventory_item_id
                        AND rt.shipment_header_id = rsh.shipment_header_id
                        AND rt.shipment_line_id = rsl.shipment_line_id
                        AND rt.transaction_id = mmt1.source_line_id
                        AND mmt1.transaction_id = cil.create_transaction_id) x,
           (SELECT ai.invoice_num "Invoice_Num",
                   ai.doc_sequence_value "Voucher_Num",
                   aid.unit_price "Unit_Price", aid.rcv_transaction_id
              FROM ap.ap_invoices_all ai, ap.ap_invoice_distributions_all aid
             WHERE ai.set_of_books_id = &sob
               AND ai.invoice_id = aid.invoice_id
               AND aid.line_type_lookup_code = 'ITEM') y
     WHERE x.rcv_transaction_id = y.rcv_transaction_id
  • 相关阅读:
    springmvc+mybatis多数据源切换
    Tomcat 8.5 配置自动从http跳转https
    Tomcat 8.5 配置 域名绑定
    本地测试Tomcat配置Https访问
    Spring boot
    解决IDEA16闪退的问题
    cef
    spring-boot学习资料
    oracle 表空间不足解决办法
    oracle导出表的办法
  • 原文地址:https://www.cnblogs.com/benio/p/2580159.html
Copyright © 2020-2023  润新知