Supply Chain Management in Dynamics AX

This blog contains information and feedback on the Supply Chain Management area in Microsoft Dynamics AX

Product-item data management services

Product-item data management services

Rate This
  • Comments 13

Introduction

In this blog entry we will provide guidelines for the use of new and modified product-item data management services.

Product-item data management services

The following services have been created or modified in order to enable manipulation of product-item data. These services are AIF document services so they follow all the conventions applicable to the AIF document services:

Service

Purpose

EcoResProductService

Create products (all three types). The service can also be used to retrieve data that has already been created.

EcoResProductMasterDimValueService

Specify values of product dimensions for a product master. These values become available for the creation of product variants. The service can also be used to retrieve data that has already been created.

ItemService

Release distinct products and product masters. The service can also be used to retrieve data that has already been created.

InventDimCombinationService

Release product variants. The service can also be used to retrieve data that has already been created.

 Setup of product services

Product-item services must be enabled on an AIF inbound port before they can be used. All services can be enabled on one port or several ports can be used.

An inbound port can be created in the Inbound ports form (System administration > Setup > Services and Application Integration Framework > Inbound ports). This article illustrates the creation of two ports:

  • A port that uses a NetTcp adapter
  • A port that uses a File system adapter.

A port that uses a NetTcp adapter can be used to access services programmatically; for example, from a C# application. A port that uses a File system adapter can be used when input data is in the format of an XML document. The following guidelines are based on the use of a default configuration of ports. Advanced configuration of ports is beyond the scope of this article.

Create a port that uses a NetTcp adapter

1. For a new port, specify name and adapter:

image

 

2. Click the Service operations button to specify the service operations that are going to be available on the port:

image

3. In the Select service operations form, select all the product-item service operations:

image

4. Click the Activate button in the action pane strip to activate the port.

When the port has been activated, a control appears which displays the URI of a WSDL document for the service. This value can then be used for adding a service reference in Visual Studio.

image

Create a port that uses File system adapter

1. Specify a port name, and from the list of adapters, select File system adapter:

image

2. In the URI field, specify a path to a folder for incoming XML documents that are to be picked up by the service:

image

3. Follow the guidelines in the previous procedure to specify the service operations that are going to be available on the port.

4. Click the Activate button in the action pane strip to activate the port.

Now you have two ports with product-item service operations available. Use the following guidelines to create and retrieve data.

Set up Visual Studio

In this article a C# console application project in Visual Studio is used. The only thing that is required here is to create a project and add a service reference for the services:

image

Create products

All types of products are created by using the EcoResProductService service. However, the methods to create a distinct product, a product master, and a product variant are different so each method is described separately.

Create a distinct product

To create a distinct product, use the EcoResProductService.create operation. First, create a product using C# code, and then create an XML document with data to create a product.

The following code creates a distinct product in Dynamics AX:

static void createDistinctProduct()
{
AxdEntity_Product_EcoResDistinctProduct distinctProduct = new AxdEntity_Product_EcoResDistinctProduct()
{
DisplayProductNumber = "Bulb60W",
ProductType = AxdEnum_EcoResProductType.Item,
SearchName = "Bulb60W"
};
distinctProduct.Translation = new AxdEntity_Translation[1];
distinctProduct.Translation[0] = new AxdEntity_Translation()
{
LanguageId = "en-us", Name = "Transparent Bulb 60W"
};
distinctProduct.Identifier = new AxdEntity_Identifier[1];
distinctProduct.Identifier[0] = new AxdEntity_Identifier()
{
ProductNumber = "Bulb60W"
};
distinctProduct.StorageDimGroup = new AxdEntity_StorageDimGroup[1];
distinctProduct.StorageDimGroup[0] = new AxdEntity_StorageDimGroup()
{
Product = "Bulb60W", StorageDimensionGroup = "Std-Dim"
};
distinctProduct.TrackingDimGroup = new AxdEntity_TrackingDimGroup[1];
distinctProduct.TrackingDimGroup[0] = new AxdEntity_TrackingDimGroup()
{
Product = "Bulb60W", TrackingDimensionGroup = "Std-Dim"
};

AxdEcoResProduct axdProduct = new AxdEcoResProduct()
{
Product = new AxdEntity_Product_EcoResProduct[1] { distinctProduct }
};

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

As it appears, the create operation accepts an array of products so it is possible to create multiple products in one call to the service.

The following XML code creates a distinct product. Note that storage and tracking dimension groups are specified. The storage and tracking dimension groups are not mandatory information to create a product so the C# code for the creation of a distinct product does not create these groups.

<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<Header>
<Company>DMO</Company>
<Action>http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductService/create</Action>
</Header>
<Body>
<MessageParts xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<EcoResProduct xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProduct">
<Product xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" class="entity" xsi:type="AxdEntity_Product_EcoResDistinctProduct">
<DisplayProductNumber>Bulb40W</DisplayProductNumber>
<SearchName>Bulb40W</SearchName>
<ProductType>Item</ProductType>
<Translation class="entity">
<LanguageId>en-us</LanguageId>
<Name>Transparent Bulb 40W</Name>
</Translation>
<StorageDimGroup class="entity">
<Product>Bulb40W</Product>
<StorageDimensionGroup>Std-Dim</StorageDimensionGroup>
</StorageDimGroup>
<TrackingDimGroup class="entity">
<Product>Bulb40W</Product>
<TrackingDimensionGroup>Std-Dim</TrackingDimensionGroup>
</TrackingDimGroup>
<Identifier class="entity">
<ProductNumber>Bulb40W</ProductNumber>
</Identifier>
</Product>
</EcoResProduct>
</MessageParts>
</Body>
</Envelope>

The EcoResProduct element can contain multiple Product elements in order to create multiple products in one service call.

Create a product master and a related product variant

To create a product master, use the EcoResProductService.create operation. Then use the EcoResProductMasterDimValue.create operation to associate product dimension values with the product master. Finally, use the EcoResProductService.create operation again, this time to create a product variant.

The code to create a product master is basically similar to the code that creates a distinct product. One difference is the code that associates the product master with a product dimension group (in the following example: Size-Dim):

static void createMaster()
{
//master definition
AxdEntity_Product_EcoResProductMaster productMaster = new AxdEntity_Product_EcoResProductMaster()
{
DisplayProductNumber = "RunningShoe",
ProductType = AxdEnum_EcoResProductType.Item,
SearchName = "RunningShoe",
};
productMaster.Translation = new AxdEntity_Translation[1];
productMaster.Translation[0] = new AxdEntity_Translation()
{
LanguageId = "en-us", Name = "Comfortable running shoe"
};
productMaster.Identifier = new AxdEntity_Identifier[1];
productMaster.Identifier[0] = new AxdEntity_Identifier()
{
ProductNumber = "RunningShoe"
};

productMaster.ProductDimGroup = new AxdEntity_ProductDimGroup[1];
productMaster.ProductDimGroup[0] = new AxdEntity_ProductDimGroup()
{
Product = "RunningShoe", ProductDimensionGroup = "Size-Dim"
};
productMaster.VariantConfigurationTechnology = AxdEnum_EcoResVariantConfigurationTechnologyType.PredefinedVariants;

AxdEcoResProduct axdProduct = new AxdEcoResProduct()
{
Product = new AxdEntity_Product_EcoResProduct[1] { productMaster }
};

CallContext ctx = new CallContext();
EcoResProductServiceClient productService = new EcoResProductServiceClient();
try
{
productService.create(ctx, axdProduct);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
System.Console.ReadKey();
}
}

When the product master is created, associate two size dimension values with the product master (size L and M):

static void createMasterDimensions()
{
//master dimensions definition (two sizes, L and M)
AxdEntity_MasterDim_EcoResProductMasterSize sizeDimensionL = new AxdEntity_MasterDim_EcoResProductMasterSize()
{
SizeProductMaster = "RunningShoe",
Size = "L",
EcoResSize = new AxdEntity_EcoResSize[1]
{
new AxdEntity_EcoResSize() { Name = "L" }
}
};
AxdEntity_MasterDim_EcoResProductMasterSize sizeDimensionM = new AxdEntity_MasterDim_EcoResProductMasterSize()
{
SizeProductMaster = "RunningShoe",
Size = "M",
EcoResSize = new AxdEntity_EcoResSize[1]
{
new AxdEntity_EcoResSize() { Name = "M" }
}
};

AxdEcoResProductMasterDimValue axdDimValue = new AxdEcoResProductMasterDimValue()
{
MasterDim = new AxdEntity_MasterDim_EcoResProductMasterDimensionValue[2] { sizeDimensionL, sizeDimensionM }
};

CallContext ctx = new CallContext();
EcoResProductMasterDimValueServiceClient masterDimensionService = new EcoResProductMasterDimValueServiceClient();
try
{
masterDimensionService.create(ctx, axdDimValue);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
System.Console.ReadKey();
}
}

Create a product variant with the size L for the product master. One thing that may not be obvious is the value required for the ProductDimensionAttribute field of the AxdEntity_VariantDimValue_EcoResProductVariantConfiguration, the AxdEntity_VariantDimValue_EcoResProductVariantSize, and the AxdEntity_VariantDimValue_EcoResProductVariant entities. The value must correspond to the IDs of the EcoResConfiguration, the EcoResSize, and the EcoResColor tables, respectively.

static void createVariant()
{
//product variant definition
AxdEntity_Product_EcoResDistinctProductVariant productVariant = new AxdEntity_Product_EcoResDistinctProductVariant()
{
DisplayProductNumber = "RunningShoeL",
ProductType = AxdEnum_EcoResProductType.Item,
SearchName = "RunningShoeL",
ProductMaster = "RunningShoe"
};
productVariant.Translation = new AxdEntity_Translation[1];
productVariant.Translation[0] = new AxdEntity_Translation()
{
LanguageId = "en-us", Name = "Comfortable running shoe L size"
};
productVariant.VariantDimValue = new AxdEntity_VariantDimValue_EcoResProductVariantDimensionValue[1];
productVariant.VariantDimValue[0] = new AxdEntity_VariantDimValue_EcoResProductVariantSize()
{
DistinctProductVariant = "RunningShoeL",
ProductDimensionAttribute = 3173,//The ID of the EcoResSize table
Size = "L",
EcoResSize = new AxdEntity_EcoResSize1[1]
{
new AxdEntity_EcoResSize1() { Name = "L" }
}
};

AxdEcoResProduct axdProduct = new AxdEcoResProduct()
{
Product = new AxdEntity_Product_EcoResProduct[1] { productVariant }
};

CallContext ctx = new CallContext();
EcoResProductServiceClient productService = new EcoResProductServiceClient();
try
{
productService.create(ctx, axdProduct);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
System.Console.ReadKey();
}
}

The following XML code does almost the same thing. The only difference is that it creates a product master that is associated with a product dimension group where the Color dimension is active. At first, create a product master:

<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<Header>
<Action>http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductService/create</Action>
</Header>
<Body>
<MessageParts xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<EcoResProduct xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProduct">
<Product xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" class="entity" xsi:type="AxdEntity_Product_EcoResProductMaster">
<DisplayProductNumber>BoardMarker</DisplayProductNumber>
<SearchName>BoardMarker</SearchName>
<ProductType>Item</ProductType>
<Translation class="entity">
<LanguageId>en-us</LanguageId>
<Name>Whiteboard marker</Name>
</Translation>
<ProductDimGroup class="entity">
<Product>BoardMarker</Product>
<ProductDimensionGroup>Col-Dim</ProductDimensionGroup>
</ProductDimGroup>
<Identifier class="entity">
<ProductNumber>BoardMarker</ProductNumber>
</Identifier>
<VariantConfigurationTechnology>PredefinedVariants</VariantConfigurationTechnology>
</Product>
</EcoResProduct>
</MessageParts>
</Body>
</Envelope>

Associate values of the Color dimension with the product master:

<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<Header>
<Action>http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductMasterDimValueService/create</Action>
</Header>
<Body>
<MessageParts xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<EcoResProductMasterDimValue xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProductMasterDimValue">
<MasterDim class="entity" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AxdEntity_MasterDim_EcoResProductMasterColor">
<ColorProductMaster>BoardMarker</ColorProductMaster>
<Color>Red</Color>
<EcoResColor class="entity">
<Name>Red</Name>
</EcoResColor>
</MasterDim>
<MasterDim class="entity" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AxdEntity_MasterDim_EcoResProductMasterColor">
<ColorProductMaster>BoardMarker</ColorProductMaster>
<Color>Blue</Color>
<EcoResColor class="entity">
<Name>Blue</Name>
</EcoResColor>
</MasterDim>
</EcoResProductMasterDimValue>
</MessageParts>
</Body>
</Envelope>

Create a product variant:

<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<Header>
<Action>http://schemas.microsoft.com/dynamics/2008/01/services/EcoResProductService/create</Action>
</Header>
<Body>
<MessageParts xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<EcoResProduct xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/EcoResProduct">
<Product xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" class="entity" xsi:type="AxdEntity_Product_EcoResDistinctProductVariant">
<DisplayProductNumber>BoardMarkerRed</DisplayProductNumber>
<SearchName>BoardMarkerRed</SearchName>
<ProductType>Item</ProductType>
<Translation class="entity">
<LanguageId>en-us</LanguageId>
<Name>Whiteboard marker red</Name>
</Translation>
<Identifier class="entity">
<ProductNumber>BoardMarkerRed</ProductNumber>
</Identifier>
<ProductMaster>BoardMarker</ProductMaster>
<VariantDimValue class="entity" xsi:type="AxdEntity_VariantDimValue_EcoResProductVariantColor">
<DistinctProductVariant>BoardMarkerRed</DistinctProductVariant>
<ProductDimensionAttribute>3169</ProductDimensionAttribute>
<Color>Red</Color>
<EcoResColor class="entity">
<Name>Red</Name>
</EcoResColor>
</VariantDimValue>
</Product>
</EcoResProduct>
</MessageParts>
</Body>
</Envelope>

Release products

A product must be released to a company before it can be used in that company. The ItemService and InventDimCombinationService serve this purpose. The former can be used to release distinct products and product masters. The latter can be used to release product variants. A product master must be released before any of its product variants can be released.

Release a distinct product or a product master

The only information required to release a product to a company is the ID of the product and the ID by which it will be represented in the company (ItemId). It is possible to add information to the ItemService service. In the following example, information about units used for storage, purchasing, and selling is provided:

private static void releaseProduct()
{
AxdEntity_InventTable inventTable = new AxdEntity_InventTable()
{
ItemId = "Bulb60W",
Product = "Bulb60W",
Invent = new AxdEntity_Invent[1]
{
new AxdEntity_Invent()
{
ItemId = "Bulb60W", UnitId = "Box"
}
},
Purch = new AxdEntity_Purch[1]
{
new AxdEntity_Purch()
{
ItemId = "Bulb60W", UnitId = "Box"
}
},
Sales = new AxdEntity_Sales[1]
{
new AxdEntity_Sales()
{
ItemId = "Bulb60W", UnitId = "Pcs"
}
}
};

AxdItem item = new AxdItem()
{
InventTable = new AxdEntity_InventTable[1] { inventTable }
};

CallContext ctx = new CallContext() { Company = "DMO" };
ItemServiceClient itemService = new ItemServiceClient();
try
{
itemService.create(ctx, item);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
System.Console.ReadKey();
}
}

The following XML code releases a product master with the minimum amount of information required:

<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<Header>
<Company>DMO</Company>
<Action>http://schemas.microsoft.com/dynamics/2008/01/services/ItemService/create</Action>
</Header>
<Body>
<MessageParts xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<Item xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/Item">
<InventTable class="entity">
<ItemId>BoardMarker</ItemId>
<Product>BoardMarker</Product>
</InventTable>
</Item>
</MessageParts>
</Body>
</Envelope>

Release a product variant

A product variant can be released once a related product master has been released. When you release a product variant to a company, the product variant can be identified in two different ways.

  • Use the product number of the product variant.
  • Use the ID of the associated product master in the company (ItemId) and the InventDim structure with the relevant fields set to the dimension values for the variant (the ItemId/InventDim approach).

For details, see the following examples.

Use the product number of the product variant (DistinctProductVariant):

private static void releaseProductVariants()
{
AxdEntity_InventDimCombination releasedVariant = new AxdEntity_InventDimCombination()
{
DistinctProductVariant = "RunningShoeL",
ItemId = ""
};

AxdInventDimCombination inventDimCombination = new AxdInventDimCombination()
{
InventDimCombination = new AxdEntity_InventDimCombination[1] { releasedVariantL }
};

CallContext ctx = new CallContext() { Company = "DMO" };
InventDimCombinationServiceClient inventDimCombinationService = new InventDimCombinationServiceClient();
try
{
inventDimCombinationService.create(ctx, inventDimCombination);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
System.Console.ReadKey();
}
}

Use the ItemId/InventDim approach:

private static void releaseProductVariants()
{
AxdEntity_InventDimCombination releasedVariant = new AxdEntity_InventDimCombination()
{
DistinctProductVariant = "",
ItemId = "RunningShoe",
InventDim = new AxdEntity_InventDim[1]
{
new AxdEntity_InventDim()
{
InventSizeId = "M"
}
}
};

AxdInventDimCombination inventDimCombination = new AxdInventDimCombination()
{
InventDimCombination = new AxdEntity_InventDimCombination[2] { releasedVariantM }
};

CallContext ctx = new CallContext() { Company = "DMO" };
InventDimCombinationServiceClient inventDimCombinationService = new InventDimCombinationServiceClient();
try
{
inventDimCombinationService.create(ctx, inventDimCombination);
}
catch (Exception e)
{
System.Console.WriteLine(e.Message);
System.Console.ReadKey();
}
}

The following XML code releases two variants in one call and uses both approaches to identify a product variant:

<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<Header>
<Company>DMO</Company>
<Action>http://schemas.microsoft.com/dynamics/2008/01/services/InventDimCombinationService/create</Action>
</Header>
<Body>
<MessageParts xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
<InventDimCombination xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/InventDimCombination">
<InventDimCombination class="entity">
<DistinctProductVariant>BoardMarkerRed</DistinctProductVariant>
<ItemId></ItemId>
</InventDimCombination>
<InventDimCombination class="entity">
<DistinctProductVariant></DistinctProductVariant>
<ItemId>BoardMarker</ItemId>
<InventDim class="entity">
<InventColorId>Blue</InventColorId>
</InventDim>
</InventDimCombination>
</InventDimCombination>
</MessageParts>
</Body>
</Envelope>

Summary

We hope that this blog post will help developers to better understand and use the services for the new product-item data model.

More detailed information regarding the creation and release of products can be found in the Application user Help in the “Product information management” section.

Further developer information about AIF and services can be found on MSDN.

By Wojciech Bardzinski

image

Disclaimer

All the information about AX 2012 posted here is a pre-release. Any feature is a subject to be changed before the release without notice.
This disclaimer is applicable to all posts about AX 2012 in this blog.

  • Nice article.Thanks for sharing. <a href="http://www.taskey.com">strategic planning software</a>

  • Is there anyway to have a 'DisplayProductNumber' be automatically generated using a number sequence?

    I tried to leave it blank, which had worked for me when creating a vendor, but with the products I get the following error:

    "List of possible elements expected: 'RecId, RecVersion, DisplayProductNumber'"

  • Thank you for your question. The “DisplayProductNumber” is  a required element in the product schema and therefore it must be always specified. The product service does not support the product creation without specifying the “product identification”.

    We definitely see your point, as you can, for example, setup different number sequences to populate product IDs, and item IDs in the system. But this behavior is not supported by the existing implementation. This is a good feedback for potential improvement.

  • This is an excellent Article. great achievement. wroked perfectly to me.

    I could not find InventDimCombinationService in AX2012 RTM to release variant. Any reason?

    Since we are facing lot of difiiculties using excel add in;  could you please release similar post for Assets,Vendors.etc...and other major masters; that's a great job.  Please update if you have any plan.

  • I Just used the below code to create config master dimensions;

    The value for Configuration is "999". And Product Number is "PRD01" and it is already created. I am creating master dimension for configuration.

    When i execute this code getting an below error;

    The value in field Configuration is invalid.

    Line=1, Pos=213, Xpath=/EcoResProductMasterDimValue/MasterDim[1]

    Will you please let me know what could be the missing one in this below code.

    static void createMasterConfigurationDimension(String ProductNumber, String Configuration1)

           {

               AxdEntity_MasterDim_EcoResProductMasterConfiguration ConfigDimension = new AxdEntity_MasterDim_EcoResProductMasterConfiguration()

               {

                   ConfigProductMaster=ProductNumber,

                   Configuration = Configuration1,

                   Description = "TestConfiguration",

                   EcoResConf = new  AxdEntity_EcoResConf[1] { new AxdEntity_EcoResConf() { Name = Configuration1 } }

               };

               AxdEcoResProductMasterDimValue axdDimValue = new AxdEcoResProductMasterDimValue()

               {

                   MasterDim = new AxdEntity_MasterDim_EcoResProductMasterDimensionValue[] { ConfigDimension }

               };

               CallContext ctx = new CallContext();

               EcoResProductMasterDimValueServiceClient masterDimensionService = new EcoResProductMasterDimValueServiceClient();

               try

               {

                   masterDimensionService.create(ctx, axdDimValue);

                   masterDimensionService.Close();

                   ConfigDimension.Configuration = "";

               }

               catch (Exception e)

               {

                   System.Console.WriteLine(e.Message);

                   System.Console.ReadKey();

               }

           }

  • How can I create a InventDimId. If I use the service i get an error if i don't fill the inventdimid with an value but i don't have this value.

    Any Idea?

    Thanks

  • i am trying to everything in this post but i ended up having this error in my code:

    social.msdn.microsoft.com/.../391313bd-dd14-420b-ae42-40477b83b10a

    do you have any idea why im encountering this error?

  • Hi guys,

    I wonder if there is a way to get all inventDim availlable in the system and by the way get all possible color,size,configuration value too...?

    This is to show user all possible value and allow him to sleect the ones he wants...

    Thanks

  • Hi, I would like to know how to import released product (actually we use PLM software to design and maintain BOM and version) in to AX 2012 and then import BOMs.  These are what we need at the released product at minimum- item group, item model groups, inventory dimension groups, coverage group, item number, item type, phatom (y/n), sale price, purchase price (if raw material), customer part #(external item), vendor part #(external item), unit etc.. Could we be able to use excel to import? I looked at the Data Migration framework beta 2, what are the demo files that we need to model at for items, BOMs? Appreciate your feedack.  

  • Unable to import items (Product Masters) using AIF Services. Following exception occurs {"Creation has been canceled."}

  • How to Associate Product Category with Product Using these Services??

  • I tried to create a vendor invoice ax 2012 through a web service

    but I couldn't do it

    can you please help me

    thank you for your collaboration

  • I think Usm Business Systems gives the best Data Management Services.

Page 1 of 1 (13 items)
Leave a Comment
  • Please add 5 and 5 and type the answer here:
  • Post