Oracle EBS-SQL (PO-16):检查采购订单完成情况统计.sql

select
         e.FULL_NAME                                                     采购员,
         sum(plla.quantity-plla.QUANTITY_CANCELLED)  订购数量,
         sum(plla.Quantity_Received)                           完成数量 ,
         round(SUM(plla.Quantity_Received)*100 / sum(plla.quantity-plla.QUANTITY_CANCELLED),2)||'%' 完成百分比
FROM
         PO.PO_AGENTS                       pa,
         PO.PO_HEADERS_ALL             pha,
         PO.PO_LINES_ALL                   pla,
         PO.PO_LINE_LOCATIONS_ALL plla,
         PO.PO_VENDORS                     pv,
         hr.PER_ALL_PEOPLE_F               e,
         inv.mtl_system_items_b         msi
where
         pha.org_id = X
 and ((pha.PO_HEADER_ID = pla.PO_HEADER_ID)
 and (pla.PO_LINE_ID=plla.PO_LINE_ID) 
 and (pha.AGENT_ID=pa.AGENT_ID)
 and (pha.ORG_ID=pla.ORG_ID)
 and (msi.inventory_item_id = pla.item_id)
 and (msi.organization_id in (X,Y))
 and (msi.organization_id = plla.ship_to_organization_id)
 and (pha.VENDOR_ID=pv.VENDOR_ID)
 and (pha.agent_id=E.PERSON_ID(+)))
 and nvl(pha.APPROVED_FLAG,'N') = 'Y'
 and nvl(plla.APPROVED_FLAG,'N') ='Y'
 and nvl(pha.CANCEL_FLAG,'N') ='N'
 and nvl(pla.CANCEL_FLAG,'N') ='N'
 and nvl(plla.CANCEL_FLAG,'N') = 'N'
 and pha.type_lookup_code = 'STANDARD'
 and nvl(plla.need_by_date,plla.promised_date) between
     to_date('20**-01-01','YYYY-MM-DD') AND to_date('20**-01-31','YYYY-MM-DD')
group by
     e.full_name

posted on 2014-06-11 16:15  st.sun  阅读(465)  评论(0编辑  收藏  举报

导航