Developer forum

Forum » Integration » Integration DW- NAV

Integration DW- NAV

Kristoffer Hilmertz
Reply

Hi

 

We have a customer that is running a DW webbshop integrated to MS NAV 2013 r2.

This customer wishes to have different prices in different currencies. For example 699 NOK and 499 SEK. There are no relation between the prices so we cannot use a currency factor.

How should we send this in the xml file so DW understand what price and currency to use?

 

Also in the integration the customer sync allways syncronize all customers. How can that be stopped and only New/updated and changed customers will be syncronized?

As it is right now the sync send files of 6-10 mb every 10 minutes and that is not an acceptable solution in the long run.

 

Best regards

Sven


Replies

 
Jonas Krarup Dam
Reply

Hi Kristoffer,

I am assuming that you are using the Data Integration module for importing data into dynamicweb.

Multiple prices

In order to have multiple prices for a single product, you have to import data to the EcomPrices table. This table contains data for the price matrix.

As a minimum, for this table, you will have to add values to the key columns from EcomProducts that you are using (ProductID and optionally VariantID and LanguageID), and of course references to the Currencies and products in play.

In your Data Integration activity, you will have to define which columns should be used for updating - in this case it would be these same columns, minus the productID.

The simplest way to find the format for this data is to simply set up one or two products in Dynamicweb, so that they have the information/prices you would like to import, and then do an export of these tables.

Partial import

I assume you mean when you are exporting users from Dynamicweb to NAV.

That is a problem, and we are working on on a fix, so that you can set up your export activity to only include newly created or updated users.

We hope that this fix will be ready for 8.6, which will be released at the end of january.

If you mean importing users into dynamicweb from NAV, you will have to talk to your NAV partner about changing the functionality of the NAV code unit to only include newly created or edited users - Dynamicweb can easily handle a partial update (at least when it comes to creates and updates), if you provide it with the right data.

Regards, Jonas

 
Morten Snedker
Reply

Hi Kristoffer,

You write "different prices in different languages", which I read as "multiple prices in one language". If that is the case you need to use the price matrix. But I think you just mean "one price in SEK and one price in DKK". If that is the case:

The composite key of a product in table EcomProducts is ProductID+VariantID+LanguageID. The format below is the format in which Data Integration needs it input for import.To produce the proper format, simply use Data Integration to export EcomProducts, having Ecom Provider as source.

The content of the example XML below shows the same product in two different languages (LANG1 and LANG2) and with different prices for each of the languages. It is as simple as that.

<?xml version="1.0" encoding="utf-8"?>
<tables>
  <table tableName="EcomProducts">
    <item table="EcomProducts">
      <column columnName="ProductID"><![CDATA[PROD19]]></column>
      <column columnName="ProductLanguageID"><![CDATA[LANG1]]></column>
      <column columnName="ProductVariantID"><![CDATA[]]></column>
      <column columnName="ProductPrice"><![CDATA[100.00]]></column>
    </item>
    <item table="EcomProducts">
      <column columnName="ProductID"><![CDATA[PROD19]]></column>
      <column columnName="ProductLanguageID"><![CDATA[LANG2]]></column>
      <column columnName="ProductVariantID"><![CDATA[]]></column>
      <column columnName="ProductPrice"><![CDATA[88.25]]></column>
    </item>
  </table>
</tables>

Also, you may want to take a look at https://vimeo.com/album/2042889 for inspiration.

As for you question regarding synchronizing: if it is data from NAV to Dynamicweb, Data Integration will import/update what-ever data it recieves.To synchronize new/updated users only, the filter should be implemented on the NAV-side, so that's a job for the NAV code heads.

I hope the above answers your questions, and if not you just elaborate on your questions.

 

Best regards

/Snedker

 
Kristoffer Hilmertz
Reply

HI

Thanks for your answers.

@Jonas - If limited syncs  will be a part of version 8.6 how will that effect the integration in NAV? What I mean is will there be any changes that needs to be done by the NAV partner or will DW keep track of what customers etc that has been updated or newly added?

 

@Morten - Hi how can we set that filter in NAV? The purpose of a sync is that both customer  registers are the same.  My customer is running a standard codeunit provided by DW that is used for the webbservice questions. ( Im not a technical consultant so please forgive me if I explain some things porly).

We have no timestamps in NAV only a date. But off course we can filter that only customers updated today will be sync. But then we need to change in the standard solution and that doesn´t feel right since my customer choose this solution since this should work in the standard setup.

 

Best regards

Sven

 
Morten Snedker
Reply

Hi Kristoffer,

I don't know how to set that filter in NAV - that is for the NAV developer to figure out. It is correct that we provide at standard code unit, but it should also be considered as such: standard. In most (read: all) cases the codeunit will be altered to fit the operations of the given customer. So, you have to provide your own logic to the codeunit in order to obtain delta-updates only, and along with that all other changes to fit current business operations.

It should be possible to set a flag on a web-user upon update/insert, use that flag for update, and then reset the flag after retrieval. And again - that is a job for the NAV developer.

Jonas is away on holidays and is back next Monday - feel free to poke him again then. Unfortunately I don't have an answer on the question directed at him.

 

BR
Morten

 

You must be logged in to post in the forum