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 right 1 PRNr 1 ProductID:%String %Boolean 0 ) } Catch { Do ##class(TECH.ExceptionHandler).Catch() // Nog te melden of niet ? } Quit HasOptiData ]]> 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 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 Geeft een Exceptie i.p.v. $$$False OptiboxServer:BL.Prod.OptiBox.enu.OptiServer=##class(BL.Prod.OptiBox.enu.OptiServer).SmallEnCuts() 1 %Boolean BeginTekst:%String,objlasterror:%Status,SoapFault:%SOAP.Fault="" 1 w ##class(BL.Prod.OptiBox.Diverse).Alive(##class(BL.Prod.OptiBox.enu.OptiServer).SmallEnCuts()) 1 OptiServer:BL.Prod.OptiBox.enu.OptiServer %Boolean 1 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 #dim From As %String = "System@vanhoecke.be" #dim Subj As %String="Kartonsnijmachine : "_MachineID_", "_$J((CurrentTijdStip-OldTijdStip)/60,0,0)_"min. niet beschikbaar, machinestatus = "_$S(OldMachineStatus.Status=0:"ERROR",1:"OK")_" : "_OldMachineStatus.Message #dim To As %List = $LB("pv@vanhoecke.be") #dim Werkpost As APPS.Halux.common.enu.Werkpost = $S(MachineID="HALUX":##class(APPS.Halux.common.enu.Werkpost).KartonHalux(),1:##class(APPS.Halux.common.enu.Werkpost).KartonOrgalux()) #dim Body As %String ="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,,,,,) #dim BatchID As %String = "" Do ##class(APPS.Halux.Opvolging.impl.Stilstanden).Registreer(..%ClassName(1),Werkpost,BatchID, 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 ]]>