Microsoft Dynamics AX Support

This blog contains posts by the Microsoft Dynamics AX Support Teams Worldwide

Importing Products into AX 2012

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();
            }