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