You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
3.0 KiB
Plaintext

select
Purch_Category1_Desc
,Part_NO
,Legacy
,Site
,DESCRIPTION
,Qty_required
,Qty_Issued
, Qty_Remaining_to_Issue
, Floor_Stock
, Picking
,Qty_To_Move
,Warehouse
,Location_No
, HU
,Receipt_Date
,Location_Qty
,TTL from (
Select to_date('&FROM','YYYY-MM-DD') AS "FROM DATE",
PP.cf$_purchase_cat1_desc Purch_Category1_Desc
,IP.Part_NO
,IP.Note_Text Legacy
,IP.Contract Site
,IP.DESCRIPTION
,sum(SMA.QTY_REQUIRED) Qty_required
,sum(SMA.QTY_ISSUED) Qty_Issued
,sum(SMA.QTY_REMAIN_TO_ISSUE) * (to_date('&TO','YYYY-MM-DD') - to_date('&FROM','YYYY-MM-DD') + 1) / decode(OP.remaining_days,0,1,OP.remaining_days) Qty_Remaining_to_Issue
,nvl(TFS.QtyOnHand,0) Floor_Stock
,nvl(TP.QtyOnHand,0) Picking
,sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0) Qty_To_Move
,TL.Warehouse
,TL.Location_No
,TL.HANDLING_UNIT_ID HU
,TL.Receipt_Date
,TL.Location_Qty
,sum(TL.Location_Qty) over (PARTITION BY IP.Part_No ORDER BY IP.Part_NO,TL.HANDLING_UNIT_ID rows UNBOUNDED PRECEDING) TTL
From
SHOP_MATERIAL_ALLOC_uiv SMA inner join INVENTORY_PART IP on SMA.PART_NO=IP.PART_NO and SMA.CONTRACT=IP.CONTRACT left join PURCHASE_PART_cfv PP on IP.Part_No=PP.Part_No and IP.Contract=PP.Contract
left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where LOCATION_TYPE_db='F' Group By Contract, PART_NO) TFS
on SMA.Part_No=TFS.PART_NO and SMA.Contract=TFS.Contract
left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where LOCATION_TYPE_db='PICKING' Group By Contract, PART_NO) TP
on SMA.Part_No=TP.PART_NO and SMA.Contract=TP.Contract
left join (select PART_NO, CONTRACT, Location_No, Warehouse, RECEIPT_DATE, HANDLING_UNIT_ID, sum(QTY_ONHAND) Location_Qty from Inventory_Part_in_Stock_uiv where LOCATION_TYPE_db='PICKING' and WAREHOUSE like nvl ('&FromWarehouse','%') Group By Contract, PART_NO,Location_No, Warehouse, HANDLING_UNIT_ID, RECEIPT_DATE) TL
on TL.Part_No=SMA.PART_NO and TL.Contract=SMA.Contract
left join (select Order_no, Release_no, Sequence_no, sum(Shop_Order_Operation_API.Get_Remaining_Mach_Hours(Order_no, Release_no, Sequence_no, Operation_no)) /24 remaining_days from SHOP_ORDER_OPERATION group by Order_no, Release_no, Sequence_no) OP
on OP.Order_No = SMA.Order_No and OP.Release_no = SMA.Release_No and OP.Sequence_no = SMA.Sequence_no
Where
IP.CONTRACT LIKE '%'||'&Contract'||'%'
and report_sys.parse_parameter(PP.cf$_purchase_part_cat_1, '&[-C-BL]PurchasedCategory') = 'TRUE'
and SMA.State not in ('Cancelled','Closed','Planned')
and trunc(SMA.DATE_REQUIRED) BETWEEN to_date('&FROM','YYYY-MM-DD')
AND to_date('&TO','YYYY-MM-DD')
Group by
IP.Part_NO
,PP.cf$_purchase_cat1_desc
,IP.Note_Text
,IP.Contract
,IP.DESCRIPTION
,TFS.QtyOnHand
,TP.QtyOnHand
,TL.Location_No
,TL.HANDLING_UNIT_ID
,TL.Warehouse
,TL.Receipt_Date
,TL.Location_Qty
,OP.remaining_days
Having
(sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0)) >0 and TL.Location_Qty>0
) d
where (d.TTL - d.Location_Qty) < d.Qty_To_Move
Order by
d.Part_NO
,d.HU
,d.Receipt_Date
,d.Location_No