Index: vhTestFiles/UnitTests/AXimpl.Dynamics.ProductItemUpsertIn.Converter.ProductItemConverter/Test/ProductItemInUpdateKorttekst.xml
===================================================================
diff -u -r48844 -r49487
--- vhTestFiles/UnitTests/AXimpl.Dynamics.ProductItemUpsertIn.Converter.ProductItemConverter/Test/ProductItemInUpdateKorttekst.xml (.../ProductItemInUpdateKorttekst.xml) (revision 48844)
+++ vhTestFiles/UnitTests/AXimpl.Dynamics.ProductItemUpsertIn.Converter.ProductItemConverter/Test/ProductItemInUpdateKorttekst.xml (.../ProductItemInUpdateKorttekst.xml) (revision 49487)
@@ -44,7 +44,7 @@
AVENTOS SERVO-DRIVE schakelaarhouder
nl-be
-
+ korttekst
08629
Index: vhUnitTest/AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter/Test.cls.xml
===================================================================
diff -u -r49271 -r49487
--- vhUnitTest/AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter/Test.cls.xml (.../Test.cls.xml) (revision 49271)
+++ vhUnitTest/AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter/Test.cls.xml (.../Test.cls.xml) (revision 49487)
@@ -134,6 +134,24 @@
]]>
+
+
+
+
@@ -298,6 +316,7 @@
Set Converter.NieuwProductMock = ProductMock
#dim Envelope as AXif.Dynamics.ProductItemIn.Envelope = ..GeefEnvelope("ProductItemInUpdateKorttekst.xml")
+
Do Converter.ConvertProductItem(Envelope.Body.MessageParts.MessagePart.Item.GetAt(1),"vhbe")
Do $$$AssertEquals(Converter.DoorgestuurdNaarEWMS,$$$True)
Index: AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter.cls.xml
===================================================================
diff -u -r49271 -r49487
--- AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter.cls.xml (.../ProductItemConverter.cls.xml) (revision 49271)
+++ AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter.cls.xml (.../ProductItemConverter.cls.xml) (revision 49487)
@@ -70,29 +70,35 @@
quit
}
try {
- if ..ProductAPI.BestaatIdentNr(ProductItem.ItemId) {
- Do ..Logger.Info("AX ProductSynchronizatie","Bestaand product met ident nummer '"_ProductItem.ItemId_"'")
- #dim Product as DOM.PM.Product = ..ProductAPI.GeefProductVolgensIdentNr(ProductItem.ItemId)
- if $$$Not(Product.IsGenerischProduct()){
- Do ..UpdateProduct(ProductItem,Product,LegalEntity)
- } else {
- Do ..Logger.Info("AX ProductSynchronizatie","Update van product '"_ProductItem.ItemId_"' niet toegepast om dat het generisch is.")
- }
+ If $$$Not(..ValideerKorttekstInTranslations(ProductItem)){
+ #dim Melding as %String = "Product "_ProductItem.ItemId_"' niet gesynchronizeerd wegens productnaam niet gelijk in alle talen. PM is op de hoogte gesteld, geen actie nodig van ICT."
+ Do ..StuurKorttekstNietUniformMail(ProductItem.ItemId)
+ Do ##class(TECH.Exceptions.IllegalArgumentException).Throw(Melding)
} else {
- Do ..Logger.Info("AX ProductSynchronizatie","Nieuw product met ident nummer '"_ProductItem.ItemId_"'")
- Set Product = ..GeefNieuwProduct()
- Do Product.ZetDummyVeldOm1NodeTeBewaren("1") ; anders wordt de 1-node niet gepersisteerd
- Do Product.ZetLeverancierId(..BepaalLeverancierId(ProductItem,LegalEntity)) ;PrimaryVendorId
- Do Product.ZetIdentNr(..BepaalIdentNr(ProductItem)) ;alleen bij nieuw product aangezien we bij een update het product vinden via identnummer....
- ; Bij een nieuw product defaulten we Opslagzone op 9
- Do Product.ZetOpslagZone("9")
- Do Product.ZetMuntAankoop("EUR")
- if ..MagLinktypeAangepastWordenBijCreatie(ProductItem,Product) {
- Do Product.ZetLinkType(..BepaalLinkType(ProductItem,LegalEntity)) ; Ook ReqCovType
- }
+ if ..ProductAPI.BestaatIdentNr(ProductItem.ItemId) {
+ Do ..Logger.Info("AX ProductSynchronizatie","Bestaand product met ident nummer '"_ProductItem.ItemId_"'")
+ #dim Product as DOM.PM.Product = ..ProductAPI.GeefProductVolgensIdentNr(ProductItem.ItemId)
+ if $$$Not(Product.IsGenerischProduct()){
+ Do ..UpdateProduct(ProductItem,Product,LegalEntity)
+ } else {
+ Do ..Logger.Info("AX ProductSynchronizatie","Update van product '"_ProductItem.ItemId_"' niet toegepast om dat het generisch is.")
+ }
+ } else {
+ Do ..Logger.Info("AX ProductSynchronizatie","Nieuw product met ident nummer '"_ProductItem.ItemId_"'")
+ Set Product = ..GeefNieuwProduct()
+ Do Product.ZetDummyVeldOm1NodeTeBewaren("1") ; anders wordt de 1-node niet gepersisteerd
+ Do Product.ZetLeverancierId(..BepaalLeverancierId(ProductItem,LegalEntity)) ;PrimaryVendorId
+ Do Product.ZetIdentNr(..BepaalIdentNr(ProductItem)) ;alleen bij nieuw product aangezien we bij een update het product vinden via identnummer....
+ ; Bij een nieuw product defaulten we Opslagzone op 9
+ Do Product.ZetOpslagZone("9")
+ Do Product.ZetMuntAankoop("EUR")
+ if ..MagLinktypeAangepastWordenBijCreatie(ProductItem,Product) {
+ Do Product.ZetLinkType(..BepaalLinkType(ProductItem,LegalEntity)) ; Ook ReqCovType
+ }
- Do ..UpdateProduct(ProductItem,Product,LegalEntity)
- Do ..StuurDoorNaarEWMS(Product)
+ Do ..UpdateProduct(ProductItem,Product,LegalEntity)
+ Do ..StuurDoorNaarEWMS(Product)
+ }
}
} catch {
#dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch(##class(TECH.Exceptions.IllegalArgumentException).%ClassName(1))
@@ -635,6 +641,23 @@
]]>
+
+ItemId:%String
+1
+
+
+
ItemId:%String,HoofdGroep:%String,Groep:%String,SubGroep:%String
1
@@ -649,6 +672,23 @@
Do ..Logger.Warning("Productsynchronizatie AX - Admin","Geen actie nodig, PM is verwittigd van :" _$$$CRLF _ MeldingTekst,0)
]]>
+
+
+ProductItem:AXif.Dynamics.ProductItemIn.MessageParts.AxdEntityItem
+1
+%Boolean
+
+