SQL语句 - 比对销售订单SO上的信息 头行收单收货方


SQL语句作用

销售订单信息查询

对比头行同字段信息的异同



SELECT hou.name              业务实体,
       ood.organization_code 仓库,
       ooh.order_number      订单编号,
       otl.name              订单类型,
       --公用信息       
       bill_to.party_name     头客户,
       bill_to.account_number 头客户编号,
       ship_to.location       头收货方,
       ship_to.address1       头收货地址,
       bill_to.location       头收单方,
       bill_to.address1       头收单方地址,
       --以上为头信息
       bill_to2.party_name     行客户,
       bill_to2.account_number 行客户编号,
       ship_to2.location       行收货方,
       ship_to2.address1       行收货地址,
       bill_to2.location       行收单方,
       bill_to2.address1       行收单方地址,
       --以上为行信息       
       ooh.cust_po_number        头客户po,
       ool.cust_po_number        行客户po,
       otll.name                 行类型,
       psn.project_number        项目编号,
       ool.shipping_instructions 行包装说明
  FROM oe_order_headers_all ooh, --1452
       hr_operating_units hou,
       oe_transaction_types_tl otl,
       hz_cust_accounts hca,
       hz_parties hp,
       oe_order_lines_all ool,
       oe_transaction_types_tl otll,
       pjm_seiban_numbers psn,
       mtl_system_items_vl msi,
       org_organization_definitions ood,
       (SELECT csu.location, loc.address1, csu.site_use_id, hp.party_name
          FROM hz_cust_site_uses_all  csu,
               hz_cust_acct_sites_all cas,
               hz_party_sites         hps,
               hz_locations           loc,
               hz_cust_accounts       hca,
               hz_parties             hp
         WHERE cas.cust_acct_site_id = csu.cust_acct_site_id
           AND hps.party_site_id = cas.party_site_id
           AND loc.location_id = hps.location_id
           AND hca.cust_account_id = cas.cust_account_id
           AND hp.party_id = hca.party_id) ship_to,
       (SELECT csu.location,
               loc.address1,
               csu.site_use_id,
               hp.party_name,
               hca.account_number
          FROM hz_cust_site_uses_all  csu,
               hz_cust_acct_sites_all cas,
               hz_party_sites         hps,
               hz_locations           loc,
               hz_cust_accounts       hca,
               hz_parties             hp
         WHERE cas.cust_acct_site_id = csu.cust_acct_site_id
           AND hps.party_site_id = cas.party_site_id
           AND loc.location_id = hps.location_id
           AND hca.cust_account_id = cas.cust_account_id
           AND hp.party_id = hca.party_id) bill_to,
       (SELECT csu.location, loc.address1, csu.site_use_id, hp.party_name
          FROM hz_cust_site_uses_all  csu,
               hz_cust_acct_sites_all cas,
               hz_party_sites         hps,
               hz_locations           loc,
               hz_cust_accounts       hca,
               hz_parties             hp
         WHERE cas.cust_acct_site_id = csu.cust_acct_site_id
           AND hps.party_site_id = cas.party_site_id
           AND loc.location_id = hps.location_id
           AND hca.cust_account_id = cas.cust_account_id
           AND hp.party_id = hca.party_id) ship_to2,
       (SELECT csu.location,
               loc.address1,
               csu.site_use_id,
               hp.party_name,
               hca.account_number
          FROM hz_cust_site_uses_all  csu,
               hz_cust_acct_sites_all cas,
               hz_party_sites         hps,
               hz_locations           loc,
               hz_cust_accounts       hca,
               hz_parties             hp
         WHERE cas.cust_acct_site_id = csu.cust_acct_site_id
           AND hps.party_site_id = cas.party_site_id
           AND loc.location_id = hps.location_id
           AND hca.cust_account_id = cas.cust_account_id
           AND hp.party_id = hca.party_id) bill_to2
 WHERE hou.organization_id = ooh.org_id
   AND otl.transaction_type_id = ooh.order_type_id
   AND otl.language = 'US'
   AND hca.cust_account_id(+) = ooh.sold_to_org_id
   AND hp.party_id(+) = hca.party_id
   AND ool.header_id(+) = ooh.header_id
   AND otll.transaction_type_id(+) = ool.line_type_id
   AND otll.language(+) = 'US'
   AND psn.project_id(+) = ool.project_id
   AND ship_to.site_use_id(+) = ooh.ship_to_org_id
   AND bill_to2.site_use_id(+) = ool.invoice_to_org_id
   AND ship_to2.site_use_id(+) = ool.ship_to_org_id
   AND bill_to.site_use_id(+) = ooh.invoice_to_org_id
   AND msi.inventory_item_id(+) = ool.inventory_item_id
   AND msi.organization_id(+) = ool.ship_from_org_id
   AND ood.organization_id(+) = ool.ship_from_org_id
   and (bill_to.location != Bill_to2.Location --头行收单方不一致的
       or ship_to.location != ship_to2.location) --头行收货方不一样的
--  AND OOH.ORDER_NUMBER in ('201152778')
--如果看具体SO范围就填写
 ORDER BY hou.name, ooh.order_number, ool.schedule_ship_date


本文标题:SQL语句 - 比对销售订单SO上的信息 头行收单收货方

本文链接:https://catonisland.cn/post/96.html

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章