Developer forum

Forum » Integration » Integration with NAV2018 - Getting productGroups

Integration with NAV2018 - Getting productGroups

Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi guys,

I am starting a project that is supposed to integrate with NAV2018 (see my other post). One of the features of this integration is to get the Products and ProductGroups.

In the documentation here: https://doc.dynamicweb.com/documentation-9/integration/integration-framework-1/erp-new-projects it is mentioned that the default plugins should support Products and Product Grooups (among other type of data).

However, I don;t see any decoumentation about productGroups, I see it only for Products. And the sample XML returned, does not include any node for ProductGroups and no property on the product node for Groups. I see that the Integration Framewrok supports it quite nicely.

What am I missing here?

I would use Integration Framework 2 but I don;t see any code unit for NAV that will support it.

Any idea?

Thank you,
Adrian


Replies

 
Dmitriy Benyuk Dynamicweb Employee
Dmitriy Benyuk
Reply

Hi Adrian,
the old NAV code unit returns the next xml for groups:
<table tableName="EcomGroups">
    <item table="EcomGroups">
      <column columnName="GroupID"><![CDATA[BIKEZ-ACCES_H]]></column>
      <column columnName="GroupLanguageID"><![CDATA[BGR]]></column>
      <column columnName="GroupName"><![CDATA[Helmets]]></column>
    </item>
    <item table="EcomGroups">
      <column columnName="GroupID"><![CDATA[BIKEZ-ACCES_H]]></column>
      <column columnName="GroupLanguageID"><![CDATA[CSY]]></column>
      <column columnName="GroupName"><![CDATA[Helmets]]></column>
    </item>
...

And the requests comes from Dynamicweb scheduled task of "Import data add-in" type where you select the DataImport job:
"<GetEcomData " + settings + "><tables>" +
                                   "<Products type=\"all\"/>" +
                                   "<Currencies type=\"all\"/>" +
                                   "<Languages type=\"all\"/>" +
                                   "<Manufacturers  type=\"all\"/>" +
                                   "<Units type=\"all\"/>" +
                                   "</tables></GetEcomData>"



The ErpDataImport job is a simple XML -> Dynamicweb provider job with "Auto mapping" option.

Regards, Dmitrij

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Thank you Dmitrij

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Dmitrij,

I believe I need a bit more clarity.

In the Integration, when we ask NAV for data, we call specifically Product, Users, Manugfacturers etc.

From the current response that we get from NAV using the regular calls, we don't seem to receive anything related to ProductGroups. The response for Products does not have a Group node and we definitely don't see an EcomGroups node.

We see information about Products, Units, Variant Groups, Variant options, Manugfacturers, Language and Currency. But nothing for EcomGroups.

Is this something that needs specific setup on the NAV part?

My expectation would be to get the EcomGroups node in the EcomData response.

Please advise.

Thank you,
Adrian

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

I have also checked the options I have for Data integration and I don;t see any EcomData option.

I see only the attached options

Adrian

 

data_import_options.png
 
Dmitriy Benyuk Dynamicweb Employee
Dmitriy Benyuk
Reply

Hi Adtrian,
Our testing NAV 2013 code unit service returns the response from NAV whith products, languages, currencies, manufacturers, stock units, variants and EcomGroups,
and EcomGroupProductRelation:
<table tableName="EcomGroupProductRelation">
    <item table="EcomGroupProductRelation">
      <column columnName="GroupProductRelationGroupID"><![CDATA[BIKEZ-LAYOUTS]]></column>
      <column columnName="GroupProductRelationProductID"><![CDATA[100]]></column>
      <column columnName="GroupProductRelationIsPrimary"><![CDATA[True]]></column>
    </item>
and EcomShopGroupRelation:
<table tableName="EcomShopGroupRelation">
    <item table="EcomShopGroupRelation">
      <column columnName="ShopGroupShopID"><![CDATA[SHOP6]]></column>
      <column columnName="ShopGroupGroupID"><![CDATA[BIKEZ-ACCES_H]]></column>
    </item>

I don't know if there should anything configured in NAV to receive that.
You need to use DataImportActivity and create the Data integration job to be selected in that list.
Regards, Dmitrij

 
Justin Sjouw Dynamicweb Employee
Justin Sjouw
Reply

Hi Adrian and Dmitrij,

Did you ever figure out how to get this running?

I'm working on a setup connected to Business Central, the ConnectorTestTool gives me Product data but no Product group data.

If I execute "Get Product Groups Simple" the response is:

<?xml version="1.0" encoding="utf-16"?>
<tables version="1.2.0.17_NAV14.6.36463">
  <table tableName="EcomGroups" />
  <table tableName="EcomShopGroupRelation" />
  <table tableName="EcomGroupRelations" />
  <table tableName="EcomGroupProductRelation" />
</tables>

Do you know if something needs to be configured in BC(Nav) to get the Group structure?

Best regards,

Justin

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Justin,

Based on the response you have posted, I would suggest that you look in BC for the GroupStructure. FOr some reason, it does not seem to output anything in the nodes.

In my case, the nodes were missing altogether. Which meant the request could have been worng.

In your case, I would check if there is any configuration in BC preventing the exposure of the groups.

Adrian

 
Justin Sjouw Dynamicweb Employee
Justin Sjouw
Reply

Hey Adrian,

Thanks for your quick reply.

Do I understand correctly that this configuration in BC is now called Item Categories?

In other words if they have configured Item Categories in BC, the standard plugin should return that structure? 

https://docs.microsoft.com/en-us/dynamics365/business-central/inventory-how-categorize-items

Thanks,

Justin

 

You must be logged in to post in the forum