Index: BL/MB/UGLYPicking/OrderReservatie.cls.xml =================================================================== diff -u -r7572 -r7693 --- BL/MB/UGLYPicking/OrderReservatie.cls.xml (.../OrderReservatie.cls.xml) (revision 7572) +++ BL/MB/UGLYPicking/OrderReservatie.cls.xml (.../OrderReservatie.cls.xml) (revision 7693) @@ -400,22 +400,20 @@ Kill %msg &sql(DECLARE crPPP CURSOR FOR - - SELECT Inv.insert_time,is_full,Inv.loc_id,Inv.loc_m,qty_pcs,qty_res,sectie,Loc.loc_m,Loc.loc_g,loc.loc_x,loc.loc_y,loc.loc_z,state,inv.batch,quality,owner - INTO InsertTime,IsFull,LocID,LocM,QtyPcs,QtyRes,Sectie,LLocM,LocG,LocX,LocY,LocZ,State,Batch,Quality,Owner - FROM EWMS.Inventory Inv - JOIN EWMS.Locations Loc ON Inv.loc_m = Loc.loc_m and Inv.loc_id = Loc.loc_id - LEFT JOIN EWMS.TransLoc Trans ON Trans.loc_m = Loc.loc_m AND Trans.loc_g = Loc.loc_g AND Trans.loc_x = Loc.loc_x AND Trans.loc_y = Loc.loc_y - WHERE product = :ProdNr AND Inv.loc_m < 5 AND NOT (Loc.loc_m = 4 AND Loc.loc_g = 2 and Loc.loc_x = 1 and Loc.loc_y = 1) - ORDER BY Trans.loc_ispickbaar DESC , Inv.Is_Full ASC ,Inv.Insert_Time ASC ) + SELECT Inv.insert_time,is_full,Inv.loc_id,Inv.loc_m,qty_pcs,qty_res,sectie,Loc.loc_m,Loc.loc_g,loc_x,loc_y,loc_z,state,batch,quality,owner + INTO :InsertTime,IsFull,LocID,LocM,QtyPcs,QtyRes,Sectie,LLocM,LocG,LocX,LocY,LocZ,State,Batch,Quality,Owner + FROM EWMS.Inventory AS Inv,EWMS.Locations AS Loc + WHERE (Inv.product=:ProdNr) AND (Inv.loc_id=Loc.loc_id) AND (Loc.loc_m>=2) and (Loc.loc_m<=4) AND NOT (Loc.loc_m = 4 AND Loc.loc_g = 2 and Loc.loc_x = 1 and Loc.loc_y = 1) + ORDER BY loc.loc_m asc,is_full DESC,qty_pcs,Inv.insert_time) + ; AND (Loc.loc_m>=2) and (Loc.loc_m<=4) bijgevoegd door PV 14-5 + ; ORDER BY loc.loc_m asc bijgevoegd door PV 25-08-08 &sql(OPEN crPPP) Quit:((SQLCODE<0) || ($L($G(%msg)))) $$$ERROR($$$GeneralError,%msg) //ERROR? -> Quit+return status New FatalErr,IDList //IDList wordt gebruikt als check om dubbele palletIds te verhinderen Kill PalletList,Pallet,PalletGroup,PalletGroupCnt Set FatalErr=0 - New locMagazijn,PLNode,InsertDate,PalletIndex - + New locMagazijn,PLNode,InsertDate Kill PalletGroup,PalletGroupCnt For &sql(FETCH crPPP) Quit:(SQLCODE || FatalErr) Do . Quit:(+QtyRes'<+QtyPcs) //Alles is gereserveerd?->Quit pallet!, Reservatie>AantalAanwezig->Quit @@ -427,12 +425,16 @@ . Set locMagazijn=##class(Prod.Product).GetMagViaOpslagzone(LLocM) . Set InsertDate=$ZDATEH($E(InsertTime,1,10),3) . Set PLNode=$LB(Sectie,QtyPcs,QtyRes,LLocM,LocG,LocX,LocY,LocZ,State,InsertDate,IsFull,Batch,Quality,Owner,LocID,ProdNr,0) //0: QtyBooked, wo later ingevuld - . Set PalletIndex=$increment(PalletIndex) - . ;Set Pallet(LocID_"."_Sectie)=PLNode //Volgende arrays worden gebruikt bij picking algorithms (exact, approx, ...) - . Set Pallet(PalletIndex)=PLNode + . ;If locMagazijn="AUTO" Do + .. ;Set PalletList(IsFull,..#magAuto,InsertTime,LocID)=PLNode + . ;Else Do + .. ;Set PalletList(IsFull,..#magManual,InsertTime,LocID)=PLNode + . Set Pallet(LocID_"."_Sectie)=PLNode //Volgende arrays worden gebruikt bij picking algorithms (exact, approx, ...) . If IsFull Do //Grouping wordt enkel gebruikt bij FULL PALLET algo .. Set PalletGroup(+QtyPcs-QtyRes)=$G(PalletGroup(+QtyPcs-QtyRes))_$LB(LocID_"."_Sectie) - + . ;Do WL^vhDBG("- "_##class(Prod.Product).GetMagViaOpslagzone(LocM)_", "_InsertTime_", "_LocID_". Sectie: "_Sectie_". "_QtyPcs_"/"_QtyRes) + . ;Do WL^vhDBG(" M["_LLocM_", "_##class(Prod.Product).GetMagViaOpslagzone(LLocM)_"] G["_LocG_"] X["_LocX_"] Y["_LocY_"] Z["_LocZ_"] State: "_State_$S(IsFull:", Is full",1:"")) + New PalQty,Som Kill PalletGroupCnt,PalletGroupSom Set PalQty="",Som=0