BL.Derde.KlantSpecifiek,BL.Derde.LevSpecifiek,vhLib.Macro 1 TECH.Mockable Night job to clean old batches Delete the old inactive batches from the Batch table and from the Sequence table Add a new Batch Batch:APPS.Halux.common.Batch %Status Add a production order to a batch Batch:APPS.Halux.common.Batch,Toelevering:DOM.AKP.Toelevering %Status Delete a production order from a batch Batch:APPS.Halux.common.Batch,Toelevering:DOM.AKP.Toelevering %Status Delete all production orders from a batch Batch:APPS.Halux.common.Batch %Status Search Info of the batches 0:"X",1:"") Set arBatch(i)=$J(BatchNr,6)_"`"_$J(TimeStamp,14)_"|"_$J(LineNr,3)_" |"_$J(ProductionType,2)_" |"_$$$FormatNbr(Drawers,6)_"|"_$$$FormatNbr(TipOn,6)_"|"_$$$FormatNbr(Sink,6)_"|"_$J(OnderdelenSpecial,3) Set i = i + 1 } } ]]> Toelevering:DOM.AKP.Toelevering BL.PPS.TBX.ToeleveringProductInfo 0) { Set ToeleveringProductInfo.AantalHangmappen = ToeleveringProductInfo.AantalHangmappen + Aantal } If (TBXLade.%Extends("DOM.PM.TBXProduct.TBXLadeMetUitsparing")) { Set ToeleveringProductInfo.AantalLadenMetUitsparing = ToeleveringProductInfo.AantalLadenMetUitsparing + Aantal } If ($Length($LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX", TBXLade.GeefPRNr(),"ODSP")))) { Set ToeleveringProductInfo.AantalOnderdelenSpeciaal = ToeleveringProductInfo.AantalOnderdelenSpeciaal + Aantal } #dim Verpakking As DOM.PM.enu.TBXVerpakking = TBXLade.GeefVerpakking() If ((Verpakking '= ##class(DOM.PM.enu.TBXVerpakking).StukMetOnderdelen()) && (Verpakking '= ##class(DOM.PM.enu.TBXVerpakking).StukZonderOnderdelen()) && (ToeleveringProductInfo.VerpakkingsTypes '[ Verpakking)) { Set ToeleveringProductInfo.VerpakkingsTypes = ToeleveringProductInfo.VerpakkingsTypes_Verpakking } } ElseIf (Product.%Extends("DOM.PM.LBXProduct.LBXLade")) { Set Aantal = ProductLijn.GeefAantal() #dim LBXLade As DOM.PM.LBXProduct.LBXLade = Product Set IngegevenKenmerkenTypeAPI = ##class(DOM.PM.Maatwerk.impl.IngegevenKenmerkenTypeAPI).%New() Set IngegevenKenmerken = LBXLade.GeefIngegevenKenmerken() If (IngegevenKenmerkenTypeAPI.IsSpoelbaklade(IngegevenKenmerken) || IngegevenKenmerkenTypeAPI.IsSifonlade(IngegevenKenmerken)) { Set ToeleveringProductInfo.AantalLadenMetUitsparing = ToeleveringProductInfo.AantalLadenMetUitsparing + Aantal } If IngegevenKenmerkenTypeAPI.IsSmalleLade(IngegevenKenmerken) { Set ToeleveringProductInfo.AantalSmalleLaden = ToeleveringProductInfo.AantalSmalleLaden + Aantal } } ElseIf (Product.%Extends("DOM.PM.MVXProduct.MVXLade")) { Set Aantal = ProductLijn.GeefAantal() #dim MVXLade As DOM.PM.LBXProduct.LBXLade = Product Set IngegevenKenmerkenTypeAPI = ##class(DOM.PM.Maatwerk.impl.IngegevenKenmerkenTypeAPI).%New() Set IngegevenKenmerken = MVXLade.GeefIngegevenKenmerken() If (IngegevenKenmerkenTypeAPI.IsSpoelbaklade(IngegevenKenmerken) || IngegevenKenmerkenTypeAPI.IsSifonlade(IngegevenKenmerken)) { Set ToeleveringProductInfo.AantalLadenMetUitsparing = ToeleveringProductInfo.AantalLadenMetUitsparing + Aantal } } } Catch { #dim GecatchteException As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Set NewException = ##class(TECH.Exceptions.GeneralErrorException).%New("Fout bij GeefToeleveringProductInfo voor Toelevering '"_Toelevering.GeefID() _"' en Product ID '"_ProductLijn.GeefProductID()_"'.") Do NewException.VoegToeInnerExceptie(GecatchteException) Do ##class(TECH.ExceptionHandler).Throw(NewException) } } Quit ToeleveringProductInfo ]]> Convert timestamp to European format TimeStamp:%TimeStamp %String Print ProPlus Print Cabinet d ##class(BL.PPS.TBX.LeanBatch).%New().PrintV1(4001,$tr("Z;E;L;F;O;M;R;K",";")) ]]> ProductID:%String,KLNr:%String