Developer forum

Forum » Development » Insert custom productFields from Data integration ERP Batch

Insert custom productFields from Data integration ERP Batch

Jose Caudevilla
Reply

Hello,

I have a BatchIntegrationScheduledTaskAddin for update product data from a ERP.

This addin row all the products using de ProductService class, for every product i ask to the ERP the information about this product,

Once i get the data from the ERP i update the customFields of the product in my DynamicwebDatabase.

The problem is that my script only update a random set of articles and i dont know why.

 

Here is the code:

            CemevisaERPConection cemevisaERPConnection = new CemevisaERPConection();
            ProductService productService = new ProductService();

            //search all products
            foreach (var p in productService.GetActiveProducts("LANG1", true))
            { 
                //doesnt have ERP id
                if(string.IsNullOrEmpty(p.Number))
                { 
                    continue; 
                }
                //ask ERP for info
                var resultadosERP = cemevisaERPConnection.getArticleInfoById(articlesWebServiceURI, p.Number).Cast<CemevisaArticle>();
                foreach (var article in resultadosERP)
                {
                        productService.SetProductFieldValue(p, "Clasificacion", article.classification.Code);
                        productService.SetProductFieldValue(p, "Clase", article.Class.Code);
                     
                        productService.SetProductFieldValue(p, "identificador_subfamilia_erp", article.aux2.Code);
                        productService.SetProductFieldValue(p, "descripcion_subfamilia_erp", article.aux2.Description);
                    
                        productService.SetProductFieldValue(p, "identificador_familia_erp", article.aux6.Code);
                        productService.SetProductFieldValue(p, "descripcion_familia_erp", article.aux6.Description);
                      
                        productService.Save(p);

                }
            }
            //rebuild product repository
            BuildProductIndex();
            return true;
        }

 

Thanks ,

Jose


Replies

 

You must be logged in to post in the forum