Index: WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml =================================================================== diff -u -r58444 -r58458 --- WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58444) +++ WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58458) @@ -18,8 +18,13 @@ 1 + +vhLib.Logger +1 + + -ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="" +ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="",Logger:vhLib.Logger="" 1 1 %Status @@ -28,6 +33,7 @@ Set ..ToeleveringVoorbereidingService = $$$Inject(ToeleveringVoorbereidingService, ##class(APPS.Halux.Voorbereiding.VoorbereidingService).%New()) Set ..BatchService = $$$Inject(BatchService, ##class(APPS.Halux.common.impl.BatchService).%New()) Set ..ToeleveringApi = $$$Inject(ToeleveringApi, ##class(DOM.AKP.impl.DataM.DataMToeleveringAPI).%New()) + Set ..Logger = $$$Inject(Logger, ##class(vhLib.Logger).%New("CalculatedProduct")) Quit $$$OK ]]> @@ -39,13 +45,24 @@ If (..ToeleveringApi.BestaatToelevering(ToeleveringId)) { #dim Toelevering As DOM.AKP.Toelevering = ..ToeleveringApi.GeefToelevering(ToeleveringId) - If ($$$Not(..IsKlaarGezet(Toelevering))) { - // Indien nog niet KLAARGEZET => Order/Toeleveringen aanpassen => Niemand verwittigen! - } ElseIf ($$$Not(..ZitToeleveringInBatch(ToeleveringId))) { - // Indien reeds KLAARGEZET MAAR NOG NIET IN BATCH => Order/Toeleveringen aanpassen => Halux hiervan verwittigen! - } Else { - // Indien reeds KLAARGEZET EN AL WEL IN BATCH (al dan niet gestart) => Order/Toeleveringen NIET aanpassen => Halux hiervan verwittigen! + Try { + Do ..LockToelevering(ToeleveringId) + + If ($$$Not(..IsKlaarGezet(Toelevering))) { + // Indien nog niet KLAARGEZET => Order/Toeleveringen aanpassen => Niemand verwittigen! + } ElseIf ($$$Not(..ZitToeleveringInBatch(ToeleveringId))) { + // Indien reeds KLAARGEZET MAAR NOG NIET IN BATCH => Order/Toeleveringen aanpassen => Halux hiervan verwittigen! + } Else { + // Indien reeds KLAARGEZET EN AL WEL IN BATCH (al dan niet gestart) => Order/Toeleveringen NIET aanpassen => Halux hiervan verwittigen! + } + Do ..UnLockToelevering(ToeleveringId) + } Catch { + Do ..UnLockToelevering(ToeleveringId) + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + Do ..Logger.Error("ProductUpdater", "Tijdens het aanpassen van Toelevering '"_ToeleveringId_"' na een ProductUpdate van OudProductId '"_OudProductId_"' naar NieuwProductId '"_NieuwProductId_"' deed zich in de ToeleveringService een Exceptie voor: "_Exception.ToString()) } + } Else { + Do ..Logger.Warning("ProductUpdater", "In de ToeleveringService werd gezocht naar Toelevering '"_ToeleveringId_"' met het oog op het aanpassen van ProductId '"_OudProductId_"' naar '"_NieuwProductId_"' op de Lijnen ervan, maar er werd geen verwijzing naar de Toelevering gevonden in ^KTO1 volgens de ToeleveringApi") } ]]> @@ -83,6 +100,25 @@ + + +ToeleveringId:%Integer +1 + + + + +ToeleveringId:%Integer +1 + + Index: vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml =================================================================== diff -u -r58444 -r58458 --- vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58444) +++ vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58458) @@ -9,7 +9,7 @@ right -ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="" +ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="",Logger:vhLib.Logger="" %Status