Hi
I have a case with a client with D365 BC Cloud and we're trying to get Live Prices from DW Code Unit installed on the BC. The client has created prices in BC in the "Prices & Discount" menu, like shown in the image here:
When I request prices for the product to the DW Code Unit, using the syntax for live integration I get this response:
Request:
<GetEcomData ExternalUserId="CT002715" AccessUserCustomerNumber="C0000035">
<tables>
<Products type="filter" unitPrices="true">
<Product>
<ProductId>02716</ProductId>
</Product>
</Products>
</tables>
</GetEcomData>
Response:
<?xml version="1.0" encoding="utf-16"?>
<tables version="1.2.0.11_NAV17.0.22463.23833">
<table tableName="EcomProducts">
<item table="EcomProducts">
<column columnName="ProductId"><![CDATA[02716]]></column>
<column columnName="ProductVariantId"><![CDATA[]]></column>
<column columnName="ProductIdentifier"><![CDATA[]]></column>
<column columnName="ProductNumber"><![CDATA[02716]]></column>
<column columnName="ProductName"><![CDATA[Plan L Snowy Owl]]></column>
<column columnName="ProductPrice"><![CDATA[0]]></column>
<column columnName="ProductStock"><![CDATA[1,051]]></column>
<column columnName="ProductCurrencyCode"><![CDATA[]]></column>
<column columnName="ProductDefaultUnitId"><![CDATA[Unit_PCS]]></column>
</item>
</table>
<table tableName="EcomPrices">
<item table="EcomPrices">
<column columnName="PriceProductId"><![CDATA[02716]]></column>
<column columnName="PriceUserCustomerNumber"><![CDATA[C0000035]]></column>
<column columnName="PriceProductUnitId"><![CDATA[Unit_INNER]]></column>
<column columnName="PriceQuantity"><![CDATA[6]]></column>
<column columnName="PriceAmount"><![CDATA[0]]></column>
</item>
<item table="EcomPrices">
<column columnName="PriceProductId"><![CDATA[02716]]></column>
<column columnName="PriceUserCustomerNumber"><![CDATA[C0000035]]></column>
<column columnName="PriceProductUnitId"><![CDATA[Unit_OUTER]]></column>
<column columnName="PriceQuantity"><![CDATA[24]]></column>
<column columnName="PriceAmount"><![CDATA[0]]></column>
</item>
<item table="EcomPrices">
<column columnName="PriceProductId"><![CDATA[02716]]></column>
<column columnName="PriceUserCustomerNumber"><![CDATA[C0000035]]></column>
<column columnName="PriceProductUnitId"><![CDATA[Unit_PCS]]></column>
<column columnName="PriceQuantity"><![CDATA[1]]></column>
<column columnName="PriceAmount"><![CDATA[0]]></column>
</item>
</table>
</tables>
All prices here are 0. I would have expected here to get the price of 49,00 DKK as stated in the price table in BC. Funny thing is that if I request specific prices for this customer with the request for importing prices I get the price, see example below:
Request:
<GetEcomData>
<tables>
<ProductPrices type="all" salesType="Customer" salesCode="C0000035" setLanguage="DAN" setCurrency="DKK"/>
</tables>
</GetEcomData>
Response:
...
<item table="EcomProducts">
<column columnName="ProductID"><![CDATA[02716]]></column>
<column columnName="ProductVariantID"><![CDATA[]]></column>
<column columnName="ProductLanguageID"><![CDATA[DAN]]></column>
<column columnName="ProductNumber"><![CDATA[02716]]></column>
<column columnName="ProductPrice"><![CDATA[49]]></column>
<column columnName="ProductPriceBefore"><![CDATA[0.00]]></column>
</item>
...
...
<item table="EcomPrices">
<column columnName="PriceId"><![CDATA[02716DANDKK1PCS]]></column>
<column columnName="PriceProductId"><![CDATA[02716]]></column>
<column columnName="PriceProductVariantId"><![CDATA[]]></column>
<column columnName="PriceProductLanguageId"><![CDATA[DAN]]></column>
<column columnName="PriceCurrency"><![CDATA[DKK]]></column>
<column columnName="PriceQuantity"><![CDATA[1]]></column>
<column columnName="PriceAmount"><![CDATA[0.00]]></column>
<column columnName="PriceUnitId"><![CDATA[PCS]]></column>
<column columnName="PriceValidFrom"><![CDATA[]]></column>
<column columnName="PriceValidTo"><![CDATA[]]></column>
<column columnName="PriceIsInformative"><![CDATA[true]]></column>
<column columnName="PriceUserCustomerNumber"><![CDATA[]]></column>
</item>
<item table="EcomPrices">
<column columnName="PriceId"><![CDATA[02716DANDKK120210101PCSC0000035Customer]]></column>
<column columnName="PriceProductId"><![CDATA[02716]]></column>
<column columnName="PriceProductVariantId"><![CDATA[]]></column>
<column columnName="PriceProductLanguageId"><![CDATA[DAN]]></column>
<column columnName="PriceCurrency"><![CDATA[DKK]]></column>
<column columnName="PriceQuantity"><![CDATA[1]]></column>
<column columnName="PriceAmount"><![CDATA[49.00]]></column>
<column columnName="PriceUnitId"><![CDATA[PCS]]></column>
<column columnName="PriceValidFrom"><![CDATA[2021/01/01]]></column>
<column columnName="PriceValidTo"><![CDATA[2021/09/14]]></column>
<column columnName="PriceIsInformative"><![CDATA[false]]></column>
<column columnName="PriceUserCustomerNumber"><![CDATA[]]></column>
</item>
...
Could someone please explain to me how the actual code behind the Live Integration works when requesting the Code Unit for Live Prices?
BR Chris