persistent UglyPickingCNTs Default %Library.Persistent 0 Uniekheid index voor property ConsolidatieNr 1 1 ConsolidatieNr,Magazijn,PalletID,Product,Sectie 1 ConsolidatieNr,PalletID,Product 1 %Library.String 0 %Library.Integer 0 0 %Library.Integer 0 %Library.Integer 0 Flow.OrderWMS.PalletReservatie 0 %Library.Integer 0 %Library.String 0 Een $LB() met alle Flow.OrderWMS.Sub's die behoren tot het palletreservatie object. Flow.OrderWMS.Sub list 0 EWMS.Inventory 0 %Library.Boolean 0 %Library.String $J 0 %Library.Integer 0 %Library.Integer 0 %Library.Integer 0 %Library.Integer 0 %Library.String 0 EWMS.Locations 0 Wordt ingevuld door ##class(BL.MB.UGLYPicking.OrderReservatie).FReservePallet(...) Property added by WimV on 04/08/2009 %String %Library.String 0 %Library.Boolean 0 0]]> %Library.String 0 Prod.Product 0 %Library.String 0 0 %Library.String 0 %Library.String 0 %Library.String 0 1 code PalletResID:%Library.String cache 0 %Library.String PalletResObj.AantalTePicken Do ; *** VEREIST > AVAILABLE *** ... Set DeltaUit=PalletResObj.AantalTePicken ... ;Do WL^vhDBG("VEREIST > AVAILABLE -> AantalTePicken=0") ... Set FullPick=0 ... Set PalletResObj.AantalTePicken=0 .. Else Do ; *** VEREIST < AVAILABLE *** ... Set DeltaUit=SubQty ... ;Do WL^vhDBG("VEREIST < AVAILABLE -> AantalTePicken=AantalTePicken-AantalSub") ... Set FullPick=1 ... Set PalletResObj.AantalTePicken=PalletResObj.AantalTePicken-SubQty .. New C .. Set C="C01" .. Set C("CONSNR")=SubObj.Lijn.Hoofding.ConsolidatieNr .. Set C("ORDNR")=SubObj.Lijn.ORDNr .. Set C("OLNR")=SubObj.Lijn.OLUNr*100+(SubObj.SUBOLNr\100) .. Set C("OLSPLITSNR")=$E(SubObj.SUBOLNr,$L(SubObj.SUBOLNr)-1,999) .. Set C("FULLPARTIAL")=$S(FullPick:"F",1:"P") .. Set C("PALKLID")="" //SubObj.PalletKlantID .. Set C("SOURCEPALID")=PalletResObj.PalletID .. Set C("STATUS")="POK" ;SubObj.StatusWMS .. Set C("DATUM")=$H .. Set C("DELTAUIT")=DeltaUit .. Set C("TOTFYSSTOCK")=0 .. Set C("USER")=AssocZeroPallet.UserID .. Set C("VOLGNR")=SubKey_"000"_$R(100) ;Doesn't matter, wo enkel gebruikt bij error .. Set C("LOCMSTR")=##class(BL.MB.UGLYPicking.General).GetSuperShortMagazijn(PalletResObj.LocM) .. $$$WriteToLog("> ORDER FEEDBACK") .. Set Status=##class(BL.MB.UGLYPicking.General).ProcessCRec(.C) .. Set:(Status'="") Status="Fout tijdens het afpunten van de sublijnen:"_$C(13,10)_Status, EarlyQuit=1 .. ;Do WL^vhDBG(Status_$C(13,10)_$$ArrayToText^vhLib("C")) .. ;Do:(FullPick) WL^vhDBG("-->FULL") Do HoofdingObj.%Close() Quit:(EarlyQuit) Status //--------------------------------------------------------------------------------------------------------------------------------- ;ZeroPallet aanpassen, afhankelijk vh afgepunte aantal If PalletResObj.AantalTePicken=0 Do ;ALLES OK . Set AssocZeroPallet.AantalTePicken=AssocZeroPallet.AantalTePicken-OriginalAantalTePicken Else Do ;Niet alles is afgepunt->ERROR->Reservation opnieuw triggeren . Set AssocZeroPallet.AantalTePicken=AssocZeroPallet.AantalTePicken-(OriginalAantalTePicken-PalletResObj.AantalTePicken) . Set AssocZeroPallet.ReservationIsDone=0 . Set AssocZeroPallet.FailedReservation="Kan "_PalletResObj.AantalTePicken_" stuk(s) van product "_PalletResObj.Product_" niet afpunten." ;If # van ZeroPallet=0, dan mag deze verwijderd worden New ZeroIDToDelete Set ZeroIDToDelete=$S(AssocZeroPallet.AantalTePicken=0:AssocZeroPallet.%Id(),1:"") ;Zero pallet save New tmpStatus Set tmpStatus=PalletResObj.AssociatedZeroPallet.%Save(0) ;Shallow Save If $$$ISERR(tmpStatus) Do Quit $$ParseStatus^vhLib(tmpStatus) . Do PalletResObj.%Close() Do PalletResObj.%Close() Do:(ZeroIDToDelete'="") ##class(Flow.OrderWMS.PalletReservatie).%DeleteId(ZeroIDToDelete) ;In beide gevallen mag PalletResObj verwijderd worden ; => PalletResObj.AantalTePicken=0 => No probs ; => PalletResObj.AantalTePicken<>0 => ZeroPallet is ongeldig verklaard door ReservationIsDone=0, dus zijn 'children' zijn ook invalid ; dus deze kunnen evengoed verwijderd worden Do ##class(Flow.OrderWMS.PalletReservatie).%DeleteId(PalletResID) $$$WriteToLog("CommitReservation success.") Quit "" ]]> PalletReservatie kan lijnen uit meer dan één order bevatten. Returns $ListBuild 1 %List ORDNr 1 %Library.String 1 code ConsolidatieNr:%Library.String,Magazijn:%Library.String,PalletID:%Library.String,Sectie:%Library.String,ProductNr:%Library.String,ReturnEmptyWhenNew:%Library.Boolean=0 cache 0 %Library.String 1 code ConsolidatieNr:%Library.String,Magazijn:%Library.String cache 0 %Library.Status geeft geen rows terug Quit $$$ERROR($$$SQLError,"SQLCODE="_SQLCODE) ]]> 1 code ConsolidatieNr:%Library.String,Magazijn:%Library.String,ProductNr:%Library.String cache 0 %Library.Status 0)) Quit:((SQLCODE=0) || (SQLCODE=100)) $$$OK ;100->geeft geen rows terug Quit $$$ERROR($$$SQLError,"SQLCODE="_SQLCODE) ]]> 1 code PalletID:%String %Library.List 1 code ConsolidatieNr:%Library.String,Magazijn:%Library.String,ProductNr:%Library.String cache 0 %Library.Status geeft geen rows terug Quit $$$ERROR($$$SQLError,"SQLCODE="_SQLCODE) ]]> 1 code PalletID:%Library.String,Sectie:%Library.String,Product:%Library.String cache 0 %Library.String geeft geen rows terug Quit $$$ERROR($$$SQLError,"SQLCODE="_SQLCODE) ]]> 1 code ConsNr:%Library.String,Magazijn:%Library.String,ProductNr:%Library.String,IsDone:%Library.Boolean,FailStr:%Library.String="" cache 0 %Library.Status Verkrijg alle pallets met PalletID=0, deze bevatten de "totalen" %Library.SQLQuery paConsNr,paMagazijn,paProdNr:%Library.String 0)]]> %Library.SQLQuery paConsNr:%Library.String,paMagazijn:%Library.String,paPalletID:%Library.String KortTekst,Inventory,AssociatedZeroPallet,ReservationIsDone FROM Flow_OrderWMS.PalletReservatie WHERE (ConsolidatieNr = :paConsNr) AND (Magazijn = :paMagazijn) AND (PalletID = :paPalletID)]]> Verkrijg alle pallets met PalletID=0, deze bevatten de "totalen" %Library.SQLQuery paConsNr,paMagazijn:%Library.String 0) ORDER BY LocM,LocG,LocX,LocY]]> %SQLQuery paPalletID:%String,paProdNr:%String SELECT ConsolidatieNr FROM Flow_OrderWMS.PalletReservatie WHERE (PalletID = :paPalletID AND Product = :paProdNr) ORDER BY ConsolidatieNr %SQLQuery paConsolidatieNr:%String,paPalletID:%String,paProdNr:%String SELECT ID FROM Flow_OrderWMS.PalletReservatie WHERE (ConsolidatieNr = :paConsolidatieNr AND PalletID = :paPalletID AND Product = :paProdNr) %SQLQuery PalletID:%String SELECT ID,UserID,Magazijn,ConsolidatieNr,Job FROM Flow_OrderWMS.PalletReservatie WHERE (PalletID = :PalletID) Verkrijg alle pallets met PalletID=0, deze bevatten de "totalen" %Library.SQLQuery paConsNr:%Library.String,paMagazijn:%Library.String KortTekst,Product FROM Flow_OrderWMS.PalletReservatie WHERE (ConsolidatieNr = :paConsNr) AND (Magazijn = :paMagazijn) AND (PalletID=0) AND (ReservationIsDone=0)]]> %Library.CacheStorage ^Flow.Ord.PalletReservatieD PalletReservatieDefaultData ^Flow.Ord.PalletReservatieD ^Flow.Ord.PalletReservatieI ^Flow.Ord.PalletReservatieS AantalInReservatie AantalPicked AantalTePicken Inventory Locatie Sectie Status Locations IsFull NeedAll LocM ProductsOnPallet ReservationSuccess ReservationIsValid ReservationIsDone FailedReservationStr FailedReservation AssociatedZeroPallet GekoppeldeSubs AantalOpPallet LocG LocX LocY UserID %%CLASSNAME Job LocTrans