Index: DOM/PM/impl/ProductKenmerkenSet.cls.xml =================================================================== diff -u -r63402 -r63423 --- DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 63402) +++ DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 63423) @@ -141,6 +141,23 @@ Set ErrorMsg = "Prod.Kenmerk.DataDefinitie is niet correct verlopen. Kenmerk is niet aangemaakt voor "_..KenmerkGroep_"||"_..UnID_"||"_KenmerkNaam_". "_$$ParseStatus^vhLib(sc) } Else { Set Wijziging = ##class(TECH.Events.KenmerkModifiedEventData).%New(..UnID,..KenmerkGroep,KenmerkNaam,Waarden) + + If ($Piece(..KenmerkGroep,"_",2) = "PPS") { + If ($Piece(..KenmerkGroep,"_",1) = "MVX") { + Set PPSKenmerkEventData = ##class(TECH.Events.PPSKenmerkGemaaktEventData).%New() + Set PPSKenmerk = ##class(Prod.Kenmerk.DataDefinitie).%New() + + Set PPSKenmerk.KenmerkNaam = KenmerkNaam + Set PPSKenmerk.Waarden = Waarden + Set PPSKenmerk.KenmerkGroep = ..KenmerkGroep + Set PPSKenmerk.PRNr = ..UnID + + Set PPSKenmerkEventData.PPSKenmerk = PPSKenmerk + Set PPSKenmerkEvent = ##class(TECH.Events.PPSKenmerkGemaaktEvent).%New(PPSKenmerkEventData) + + Do ##class(TECH.Context).Instance().GeefPubSubAPI().GeefEventRaiser().RaiseEventAsync(PPSKenmerkEvent) + } + } } } Else { #dim Kenmerk As Prod.Kenmerk.DataDefinitie = ##class(Prod.Kenmerk.DataDefinitie).OpenId(Identifier) @@ -163,6 +180,7 @@ If ($Piece(..KenmerkGroep,"_",1) = "MVX") { Set PPSKenmerkEventData = ##class(TECH.Events.PPSKenmerkGemaaktEventData).%New() Set PPSKenmerkEventData.PPSKenmerk = Kenmerk + Set PPSKenmerkEventData.PPSKenmerk.Waarden = Waarden Set PPSKenmerkEvent = ##class(TECH.Events.PPSKenmerkGemaaktEvent).%New(PPSKenmerkEventData) Do ##class(TECH.Context).Instance().GeefPubSubAPI().GeefEventRaiser().RaiseEventAsync(PPSKenmerkEvent) Index: DOM/PM/Maatwerk/Syncs/DotNet/MaatwerkCalculator/impl/PPSKenmerken.cls.xml =================================================================== diff -u -r63401 -r63423 --- DOM/PM/Maatwerk/Syncs/DotNet/MaatwerkCalculator/impl/PPSKenmerken.cls.xml (.../PPSKenmerken.cls.xml) (revision 63401) +++ DOM/PM/Maatwerk/Syncs/DotNet/MaatwerkCalculator/impl/PPSKenmerken.cls.xml (.../PPSKenmerken.cls.xml) (revision 63423) @@ -41,14 +41,18 @@ #dim Kenmerkwaarden = ##class(TECH.ListUtils).ListToPieces(PPSKenmerk.Waarden, ",") try { - If $$$Not(..BestaatPPSKenmerkInDotNet(ProductId, KenmerkGroep, KenmerkNaam)) { - Do ..MaakPPSKenmerk(ProductId, KenmerkGroep, KenmerkNaam, Kenmerkwaarden) + If (PPSKenmerk.Waarden.Count() = 0) { + Do ..VerwijderPPSKenmerk(ProductId, KenmerkGroep, KenmerkNaam) } Else { - Do ..UpdatePPSKenmerk(ProductId, KenmerkGroep, KenmerkNaam, Kenmerkwaarden) + If $$$Not(..BestaatPPSKenmerkInDotNet(ProductId, KenmerkGroep, KenmerkNaam)) { + Do ..MaakPPSKenmerk(ProductId, KenmerkGroep, KenmerkNaam, Kenmerkwaarden) + } Else { + Do ..UpdatePPSKenmerk(ProductId, KenmerkGroep, KenmerkNaam, Kenmerkwaarden) + } } } catch { #dim Exceptie As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() - Do ..Logger.Error("DotnetSync [PPSSyncer]","Fout bij sync van PPS kenmerk naar .Net. " _Exceptie.ToString()) + Do ..Logger.Error("DotnetSync [PPSSyncer]","Fout bij sync van PPS kenmerk naar .Net. met PRNr: "_ProductId_" en kenmerkgroep: "_KenmerkGroep_". Exception: " _Exceptie.ToString()) } ]]> @@ -87,6 +91,15 @@ ]]> + +ProductId:%String,KenmerkGroep:%String,KenmerkNaam:%String +1 + + + 1 %String