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