Microsoft Dynamics 365 Blog

We have had several questions on how to import items/products into AX 2012.  There is a blog the development team created around calling the services needed to import those items.  In the example below we used the same code the development team used and re-wrote it so that it might look more familiar to you.  That is to say, more like how you might call other web services.  Hope this helps!

 //Example take from article http://blogs.msdn.com/b/dynamicsaxscm/archive/2011/07/06/product-item-data-management-services.aspx

            EcoResProductServiceClient service = new EcoResProductServiceClient();
            CallContext ctx = new CallContext();
            ctx.Company = “ceu”;

            AxdEcoResProduct axdProduct = new AxdEcoResProduct();
           
            //first, create a distinct product
            AxdEntity_Product_EcoResDistinctProduct distinctProduct = new AxdEntity_Product_EcoResDistinctProduct();
            distinctProduct.DisplayProductNumber = “Bulb60W”;
            distinctProduct.ProductType = AxdEnum_EcoResProductType.Item;
            distinctProduct.SearchName = “Bulb60W”;
           
           
            AxdEntity_Translation tran = new AxdEntity_Translation();
            tran.LanguageId = “en-us”;
            tran.Name = “Transparent Bulb 60W”;
            distinctProduct.Translation = new AxdEntity_Translation[1] { tran };
           
            AxdEntity_Identifier ident = new AxdEntity_Identifier();
            ident.ProductNumber = “Bulb60W”;
            distinctProduct.Identifier = new AxdEntity_Identifier[1] {ident};

            AxdEntity_StorageDimGroup storage = new AxdEntity_StorageDimGroup();
            storage.Product = “Bulb60W”;
            storage.StorageDimensionGroup = “PG_30”;
            distinctProduct.StorageDimGroup = new AxdEntity_StorageDimGroup[1] {storage};
           
            AxdEntity_TrackingDimGroup tracking = new AxdEntity_TrackingDimGroup();
            tracking.Product = “Bulb60W”;
            tracking.TrackingDimensionGroup = “PG_30”;
            distinctProduct.TrackingDimGroup = new AxdEntity_TrackingDimGroup[1] {tracking};

           
            axdProduct.Product = new AxdEntity_Product_EcoResProduct[1] { distinctProduct };

            try
            {
                service.create(ctx, axdProduct);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.Message);
                System.Console.ReadKey();
            }

 

            //Then, release the product by calling the ItemService
            ItemServiceClient itemService = new ItemServiceClient();
            CallContext ctx2 = new CallContext();
            ctx2.Company = “ceu”;

            AxdItem item = new AxdItem();

            AxdEntity_InventTable inventTable = new AxdEntity_InventTable();
            inventTable.ItemId = “Bulb60W”;
            inventTable.Product = “Bulb60W”;
           
            AxdEntity_Invent inventItem = new AxdEntity_Invent();
            inventItem.ItemId = “Bulb60W”;
            inventItem.UnitId = “Box”;
            inventTable.Invent = new AxdEntity_Invent[1] {inventItem};
           
            AxdEntity_Purch purchitem = new AxdEntity_Purch();
            purchitem.ItemId = “Bulb60W”;
            purchitem.UnitId = “Box”;
            inventTable.Purch = new AxdEntity_Purch[1] {purchitem};
                       
            AxdEntity_Sales salesitem = new AxdEntity_Sales();
            salesitem.ItemId = “Bulb60W”;
            salesitem.UnitId = “Pcs”;
            inventTable.Sales = new AxdEntity_Sales[1] {salesitem};

            item.InventTable = new AxdEntity_InventTable[1] { inventTable };
           
            try
            {
                itemService.create(ctx2, item);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.Message);
                System.Console.ReadKey();
            }

 

We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!