Enkele routines, wordt gebruikt in meerdere BL objecten UglyPickingCNTs 1 BL.Lib.BaseObj 0 Magazijn,CCPriorityMax 0 and Loc_M=:Magazijn ) ]]> Magazijn:%Integer,CCPriority:%Integer,GMin:%Integer,GMax:%Integer,XMin:%Integer,XMax:%Integer,YMin:%Integer,YMax:%Integer %Integer :GMin AND Loc_G < :GMax AND Loc_X > :XMin AND Loc_X < :XMax AND Loc_Y > :YMin AND Loc_Y < :YMax ) &sql(OPEN crCCByPos) If (SQLCODE<0) Quit 0 Set FatalErr=0 For &sql(FETCH crCCByPos) Quit:(SQLCODE || FatalErr) Do . Set LocIDs(LocID)="" ; De Inventory tabel kan niet onmiddellijk aangepast worden, Cache laat maar 1 cursor toe per process &sql(CLOSE crCCByPos) Quit ..SetAutoCCFlags(.LocIDs, CCPriority) ]]> Magazijn:%Integer,Bewegingen:%Integer,CCDagenGeleden:%Integer,WeekToLive:%Integer,CCPriority:%Integer %Integer :Bewegingen AND Is_Full<>1 ) &sql(OPEN crCCUsage) Kill LocIDs Quit:(SQLCODE<0) 0 Set FatalErr=0 For &sql(FETCH crCCUsage) Quit:(SQLCODE || FatalErr) Do . ;WeekToLive kan niet op de SQL server uitgevoerd worden vermits de gemiddelde weekverkoop ontbreekt in het producten bestand . Set oProd=##class(Prod.Product).%OpenId(+PRNr) . Quit:('$IsObject(oProd)) . Set WeekVkp=oProd.GewogenGemiddeldeWeekVerkoop . Quit:('WeekVkp || ((QtyPcs/WeekVkp) De locids worden doorgeven via .Local format : LocIDs(LocID) of LocIDs(LocID,Sectie) %Integer 1 Do ; heeft subnodes dus per sectie afwerken . . For Set Sectie=$O(LocIDs(LocID,Sectie)) Quit:Sectie="" Do . . . Do ..SetAutoCCFlag(LocID,Sectie,CCPriority) . . . Set Count=Count+1 . Else Do ; alle secties van een pallet . . Do ..SetAutoCCFlag(LocID,,CCPriority) . . Set Count=Count+1 Quit Count ]]> LocID:%String,Sectie:%String,CCPriority:%Integer=9 Magazijn %List 9 AutoCCFlag=9 . Set $LI(List,AutoCCFlag+1)=Aantal &sql(CLOSE crCCCount) Quit List ]]> To : PIKPOST 1,PIKPOST 2, TRANSIT, UGLY Magazijn,To %List