Importeren van de XML gedefinieerd door de optimizer en deze opslaan in de basistabellen BL.Prod.OptiBox,Prod.Product,TECH.Error 1 %RegisteredObject,TECH.Error.ErrorAdaptor 1 PRNr w ##class(BL.Prod.OptiBox.Diverse).OptiDataDisplayName(108353) 1 PRNr 1 PRNr OptiType else OptiType end, MaxCombinAantal into :OptiType, :MaxCombin from Prod.Optibox_BoxData where ObjType='PR' and ObjRef=:PRNr and AantalExec<>-99) &sql(OPEN OptiDataDisplay) Set String="" For &sql(FETCH OptiDataDisplay) Quit:SQLCODE Do . Set String=String_";"_$$INITCAP^vhRtn1(OptiType)_$S(MaxCombin>1:"/"_MaxCombin,1:"") &sql(CLOSE OptiDataDisplay) Quit $E(String,2,99) ]]> 1 Type,PRNr,Aantallen,CallBack,SnijPrioriteit,PPSOutput,MachineID Opvragen van de snijstatus van alle snijdata die voldoen aan de basisref 1 Result is een array met $LB(Omschrijving, PRNr, Aantal, Lengte, Breedte, HistID, SnijMachineID) Tijdens het wachten wordt de callback opgeroepen door Do CallBack^Routine(Status,Qty,MaxQty) 1 TimeOut . Do ..SnijStatus(BasisRef,.Status,.Qty,.MaxQty) . H 1 Set Result=BasisRef Set Cnt=0 &sql(DECLARE CalcCarboardUse CURSOR FOR Select BoxSelect,SnijHistoriek->CardboardProduct,SnijHistoriek->CardboardBreedte,SnijHistoriek->Lengte,SnijHistoriek,Aantal,SnijMachineID into :BoxSelect,:CardPRNr,:Breedte,:Lengte,:HistID,:Aantal,:SnijMachineID from prod.OptiBox_Snijdata where (Reference %STARTSWITH :BasisRef) and (Status='F') ) &sql(OPEN CalcCarboardUse) For &sql(FETCH CalcCarboardUse) Quit:SQLCODE Do . Set Result($i(Cnt))=$LB(BoxSelect,CardPRNr,Aantal,Lengte,Breedte,HistID,SnijMachineID) &sql(CLOSE CalcCarboardUse) Quit Status ]]> machinekant = 2 x 25mm 50 Selecteer het kartonproduct VFF.... volgens logo, dikte en nodige breedte 1 Dikte,LogoPrint,PlanoBreedte =:PlanoBreedte order by Breedte asc) &sql(OPEN GetProduct) &sql(FETCH GetProduct) &sql(CLOSE GetProduct) Quit PRNr ]]> D ##class(BL.Prod.OptiBox.Diverse).ExportBoxData() 1 ObjType="PR" D ##class(BL.Prod.OptiBox.Diverse).ExportProdBoxData() 1 0 D ##class(BL.Prod.OptiBox.Diverse).Clean() 1 1 D ##class(BL.Prod.OptiBox.Diverse).CleanOld() 1 w ##class(BL.Prod.OptiBox.Diverse).Alive(##class(BL.Prod.OptiBox.enu.OptiServer).SmallEnCuts()) 1 ServerName:BL.Prod.OptiBox.enu.OptiServer %Boolean 1 1 ServerName:BL.Prod.OptiBox.enu.OptiServer %String d ##class(BL.Prod.OptiBox.Diverse).ChangeMachineStatus() opslaan van de laatste machinestatus wordt opgeroepen door de webservice 1 oStatus:BL.Prod.OptiBox.sub.pxStatus OldTijdStip ; meer dan dag tussen . . Set From="System@vanhoecke.be" . . Set Subj="Kartonsnijmachine : "_MachineID_", "_$J((CurrentTijdStip-OldTijdStip)/60,0,0)_"min. niet beschikbaar, machinestatus = "_$S(OldMachineStatus.Status=0:"ERROR",1:"OK")_" : "_OldMachineStatus.Message . . Set To=$LB("pv@vanhoecke.be","stm@vanhoecke.be") . . Set:MachineID="HALUX" To=To_$LB("dgu@vanhoecke.be") . . Set To=$LB("pv@vanhoecke.be") . . Set Werkpost=$S(MachineID="HALUX":##class(APPS.Halux.PPS.TBXZaag.enu.Werkpost).KartonHalux(),1:##class(APPS.Halux.PPS.TBXZaag.enu.Werkpost).KartonOrgalux()) . . Set Body="Duur : "_(CurrentTijdStip-OldTijdStip)_" sec" . . Set Body=Body_$C(13)_"Werkpost : "_Werkpost . . Set Body=Body_$C(13)_"OptiServer : "_oStatus.ServerName . . Do SendMiniMail^vhLib(From,To,Subj,Body,,,,,) . . Do ##class(APPS.Halux.PPS.common.Stilstanden).Create(Werkpost, , OldMachineStatus.Message, (CurrentTijdStip-OldTijdStip)) ]]> Controleert of de machine status in error staat voor een aantal seconde 1 MachineID,WaitTime:%Integer=10 %String 1 Nr,ServerName 1 pxCardboardLoaded:BL.Prod.OptiBox.sub.pxCardboardLoaded D ##class(BL.Prod.OptiBox.Diverse).%New().BoxSelectUsed() D ##class(BL.Prod.OptiBox.Diverse).%New().ImportBoxSelect("//optibox/panotecoptimizer/xml/","DEFINEBOXSELECT.XML") D ##class(BL.Prod.OptiBox.Diverse).%New().ImportBoxSelect("//Cache01/c$/CacheSys/CSP/vhINTRA/","DefineBOXSELECT.XML") Dir,FileName pxBoxSelectGroep D ##class(BL.Prod.OptiBox.Diverse).%New().ImportCardboard("//Notes01/Shared/P V/","CARDBOARDDEFS.XML") D ##class(BL.Prod.OptiBox.Diverse).%New().ImportCardboard("c:/CacheSys/CSP/vhINTRA/","CARDBOARDDEFS.XML") Dir,FileName pxCardboard "_$S($isObject(oCardboard.Product):oCardboard.Product.KortTekst,1:"noproduct")) Set sc=oCardboard.%Save() Do WE^vhDBG(sc,"SAVE ERROR on "_..%ClassName()_".SaveCardboard") Quit sc ]]>