Index: WSimpl/AX/CalculatedProduct/RequestConverter.cls.xml =================================================================== diff -u -r46905 -r47103 --- WSimpl/AX/CalculatedProduct/RequestConverter.cls.xml (.../RequestConverter.cls.xml) (revision 46905) +++ WSimpl/AX/CalculatedProduct/RequestConverter.cls.xml (.../RequestConverter.cls.xml) (revision 47103) @@ -70,26 +70,28 @@ Set ProductId = Attribute.ValueTxt } } - - If ($$$Not(ProductId = "") && (..ProductApi.BestaatProduct(ProductId))) { - Set Product = ..ProductApi.GeefProduct(ProductId) - } - If ((ProductId = "") && (..ProductApi.BestaatIdentNr(Request.ItemId))) { - Set Product = ..ProductApi.GeefProductVolgensIdentNr(Request.ItemId) + Try { + If (ProductId = "") { + Set ProductId = ..ProductApi.GeefProductIdVoorIdentNummer(Request.ItemId) + } + + Set Product = ..ProductApi.GeefProduct(ProductId) + + If $$$Not(ProductId = "") { + Set ConfigVariant.GTIN = Product.GeefEANCode() + Set ConfigVariant.ProductName = Product.GeefKorttekst() + Set ConfigVariant.CostPrice = ..Formatter.FormatNumber(Product.GeefNettoAankoopPrijsInclCif(), 2) + Set ConfigVariant.VariantDescription = ..VariantDescriptionBepaler.Bepaal(Product, ConfigVariant.ConfigVariantId) + Set ConfigVariant.BOMLine = ..BouwstenenConverter.Convert(Product, ConfigVariant.ConfigVariantId) + Set ConfigVariant.SourcingDataAreaId = ..SourcingDataAreaIdBepaler.Bepaal(Product) + } + } Catch { + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + + Set ConfigVariant.ErrorText = Exception.GeefOmschrijving() } - If $$$Not(Product = "") { - Set ConfigVariant.GTIN = Product.GeefEANCode() - Set ConfigVariant.ProductName = Product.GeefKorttekst() - Set ConfigVariant.CostPrice = ..Formatter.FormatNumber(Product.GeefNettoAankoopPrijsInclCif(), 2) - Set ConfigVariant.VariantDescription = ..VariantDescriptionBepaler.Bepaal(Product, ConfigVariant.ConfigVariantId) - Set ConfigVariant.BOMLine = ..BouwstenenConverter.Convert(Product, ConfigVariant.ConfigVariantId) - Set ConfigVariant.SourcingDataAreaId = ..SourcingDataAreaIdBepaler.Bepaal(Product) - } Else { - Set ConfigVariant.ErrorText = ##class(WSimpl.AX.CalculatedProduct.Converter.enu.ErrorText).NotFound() - } - Quit ConfigVariant ]]> Index: DOM/PM/impl/ProductAPI.cls.xml =================================================================== diff -u -r45894 -r47103 --- DOM/PM/impl/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 45894) +++ DOM/PM/impl/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 47103) @@ -124,6 +124,38 @@ ]]> + +ProductId:%String +%String + + + + +IdentNummer:%String +%String + + + Korttekst:%String DOM.PM.Product Index: vhTestFiles/IntegratieTests/WSimpl.AX.CalculatedProduct/TestOnbestaandProduct/OnbestaandProduct.xml =================================================================== diff -u -r45066 -r47103 --- vhTestFiles/IntegratieTests/WSimpl.AX.CalculatedProduct/TestOnbestaandProduct/OnbestaandProduct.xml (.../OnbestaandProduct.xml) (revision 45066) +++ vhTestFiles/IntegratieTests/WSimpl.AX.CalculatedProduct/TestOnbestaandProduct/OnbestaandProduct.xml (.../OnbestaandProduct.xml) (revision 47103) @@ -3,7 +3,7 @@ DummyConfigId DummyInventTransId - NotFound + Product OnbestaandProduct bestaat niet! DummyInventTransId DummyItemId DummyMessageId Index: DOM/PM/ProductAPI.cls.xml =================================================================== diff -u -r45894 -r47103 --- DOM/PM/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 45894) +++ DOM/PM/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 47103) @@ -25,6 +25,18 @@ DOM.PM.Product + +1 +IdentNr:%String +%String + + + +1 +ProductId:%String +%String + + 1 DOM.PM.KorttekstUtils Index: vhUnitTest/WSimpl/AX/CalculatedProduct/RequestConverter/Test.cls.xml =================================================================== diff -u -r46905 -r47103 --- vhUnitTest/WSimpl/AX/CalculatedProduct/RequestConverter/Test.cls.xml (.../Test.cls.xml) (revision 46905) +++ vhUnitTest/WSimpl/AX/CalculatedProduct/RequestConverter/Test.cls.xml (.../Test.cls.xml) (revision 47103) @@ -41,7 +41,6 @@ Do ProductStub.IndienMethodCall("GeefNettoAankoopPrijsInclCif").DanReturn(RandomNettoAankoopPrijs) #dim ProductApiMock As vhTest.Mock.DOM.PM.ProductAPI = ##class(vhTest.Mock.DOM.PM.ProductAPI).%New() - Do ProductApiMock.VerwachtMethodCall("BestaatProduct", ..RandomProductId).DanReturn($$$True) Do ProductApiMock.VerwachtMethodCall("GeefProduct", ..RandomProductId).DanReturn(ProductStub) #dim VariantDescriptionBepalerMock As vhTest.Mock.WSimpl.AX.CalculatedProduct.VariantDescriptionBepaler = ##class(vhTest.Mock.WSimpl.AX.CalculatedProduct.VariantDescriptionBepaler).%New() @@ -69,48 +68,20 @@ ]]> - + - - - - - - - - Index: vhUnitTest/WSimpl/AX/CalculatedProduct/RequestConverter/Test/RequestData.cls.xml =================================================================== diff -u -r45895 -r47103 --- vhUnitTest/WSimpl/AX/CalculatedProduct/RequestConverter/Test/RequestData.cls.xml (.../RequestData.cls.xml) (revision 45895) +++ vhUnitTest/WSimpl/AX/CalculatedProduct/RequestConverter/Test/RequestData.cls.xml (.../RequestData.cls.xml) (revision 47103) @@ -31,13 +31,14 @@ Set DummyRequest.InventTransId = RandomInventTransId Set DummyRequest.MessageId = RandomRequestMessageId + #dim RandomProductId As %String = "RandomProductId" #dim ProductDummy As vhTest.Dummy.DOM.PM.Product = ##class(vhTest.Dummy.DOM.PM.Product).%New() + #dim ProductApiStub As vhTest.Mock.DOM.PM.ProductAPI = ##class(vhTest.Mock.DOM.PM.ProductAPI).%New() + Do ProductApiStub.IndienMethodCall("GeefProductIdVoorIdentNummer", RandomItemId).DanReturn(RandomProductId) + Do ProductApiStub.IndienMethodCall("BestaatProduct", RandomProductId).DanReturn(BestaatProduct) + Do ProductApiStub.IndienMethodCall("GeefProduct", RandomProductId).DanReturn(ProductDummy) - Do ProductApiStub.IndienMethodCall("BestaatProduct", $$$ElkeWaarde).DanReturn(BestaatProduct) - Do ProductApiStub.IndienMethodCall("GeefProduct", $$$ElkeWaarde).DanReturn(ProductDummy) - Do ProductApiStub.IndienMethodCall("BestaatIdentNr", $$$ElkeWaarde).DanDoeNiks() - #dim VariantDescriptionBepalerStub As vhTest.Mock.WSimpl.AX.CalculatedProduct.VariantDescriptionBepaler = ##class(vhTest.Mock.WSimpl.AX.CalculatedProduct.VariantDescriptionBepaler).%New() Do VariantDescriptionBepalerStub.IndienMethodCall("Bepaal", ProductDummy, RandomItemId).DanReturn(##class(%ListOfObjects).%New()) Index: vhTest/Mock/DOM/PM/ProductAPI.cls.xml =================================================================== diff -u -r45895 -r47103 --- vhTest/Mock/DOM/PM/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 45895) +++ vhTest/Mock/DOM/PM/ProductAPI.cls.xml (.../ProductAPI.cls.xml) (revision 47103) @@ -45,6 +45,13 @@ ]]> + +ProductId:%String +%String + + + DOM.PM.KorttekstUtils + +IdentNr:%String +%String + + + TECH.Iterator