# Product creation in Ax2012 using code.

**URL:** <https://www.dynamicsuser.net/t/product-creation-in-ax2012-using-code/41941>\
**Category:** Developer Forum\
**Created:** [December 2, 2012, 7:33am UTC](https://www.dynamicsuser.net/t/product-creation-in-ax2012-using-code/41941 "2012-12-02T07:33:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![sajukbrave](https://avatars.discourse-cdn.com/v4/letter/s/c2a13f/32.png) [@sajukbrave](https://www.dynamicsuser.net/u/sajukbrave)\
**Post date:** [December 2, 2012, 7:33am UTC](https://www.dynamicsuser.net/t/product-creation-in-ax2012-using-code/41941/1 "2012-12-02T07:33:46Z")

</div>

I have the scenario that i want to create the new product using code.When I am importing the excel this new product has to be created.Can any one please help me on this.I need the brief description for the object which we are using for the product creation in 2012.

Can we achieve this by using AXinventtable Class?

---

<div class="post-metadata">

**Author:** ![Nandini.R](https://avatars.discourse-cdn.com/v4/letter/n/3ec8ea/32.png) [@Nandini.R](https://www.dynamicsuser.net/u/Nandini.R)\
**Post date:** [December 7, 2012, 5:46am UTC](https://www.dynamicsuser.net/t/product-creation-in-ax2012-using-code/41941/2 "2012-12-07T05:46:37Z")

</div>

Hi Saju,

did u get any solution for creating product using code, can you please share it.

the same requirement is for me also.

---

<div class="post-metadata">

**Author:** ![SilvanoD](https://avatars.discourse-cdn.com/v4/letter/s/439d5e/32.png) [@SilvanoD](https://www.dynamicsuser.net/u/SilvanoD)\
**Post date:** [December 7, 2012, 10:31pm UTC](https://www.dynamicsuser.net/t/product-creation-in-ax2012-using-code/41941/3 "2012-12-07T22:31:16Z")

</div>

Products have changed in AX 2012. They are a global definition, that is company-agnostic. EcoResProduct, EcoResProductTranslation should get you down the right path for creating those global definitions of a product ( number, name, search name, procurement category [EcoResProductCategory] , etc. )

Then, after that is created, you can release that as a EcoResDistinctProductVariant to a legal entity, which will place the data in the InventTable.

If you are creating products with configurations such as Config, Color, Size, then you will need to investigate Product Masters and product variants, and the releasing thereof.

We utilized the AIF for this task, over 10,000+ products imported in a few hours.

~S

---

<div class="post-metadata">

**Author:** ![sajukbrave](https://avatars.discourse-cdn.com/v4/letter/s/c2a13f/32.png) [@sajukbrave](https://www.dynamicsuser.net/u/sajukbrave)\
**Post date:** [December 8, 2012, 6:19am UTC](https://www.dynamicsuser.net/t/product-creation-in-ax2012-using-code/41941/4 "2012-12-08T06:19:07Z")

</div>

Hi,

Public void SBS\_Productcreate()  
{  
EcoResProductService erProdSvc;  
EcoResEcoResProduct EcoResProd;  
EcoResEcoResProduct\_Product\_distinct ProdMast;  
EcoResEcoResProduct\_Translation Translation;  
EcoResEcoResProduct\_Identifier Identifier;  
EcoResEcoResProduct\_ProductDimGroup ProdDimGroup;  
EcoResEcoResProduct\_Product\_Distinct DistProd;  
EcoResProduct ecoResProduct;  
// Used for releasing Product  
EcoResEcoResProduct\_StorageDimGroup storageDimGroup;  
// Used to assign Storage Dim Group  
EcoResEcoResProduct\_TrackingDimGroup trackingDimension;  
// used to assign Tracking Dimension

erProdSvc = EcoResProductService::construct();  
EcoResProd = new EcoResEcoResProduct();  
ProdMast = new EcoResEcoResProduct\_Product\_distinct();

ttsBegin;  
ProdMast.parmDisplayProductNumber(“Test84756”);  
ProdMast.parmProductType(EcoResProductType::Item);  
// Product is Item OR Service  
ProdMast.parmSearchName(“Test84756”);  
DistProd = new EcoResEcoResProduct\_Product\_Distinct();  
Translation = ProdMast.createTranslation().addNew();  
Translation.parmDescription (“Test Product1”);  
Translation.parmLanguageId(“en-us”);  
Translation.parmName (“Test Product1”);  
Identifier = ProdMast.createIdentifier().addNew();  
Identifier.parmProductNumber(“Test84756”);  
//Code for adding Storage Dimension Group…  
storageDimGroup = ProdMast.createStorageDimGroup().addNew();  
storageDimGroup.parmProduct(“Test84756”);  
storageDimGroup.parmStorageDimensionGroup(“BD2”);  
// Code for adding Tracking Dimension Group…  
trackingDimension = ProdMast.createTrackingDimGroup().addNew();  
trackingDimension.parmProduct(“Test84756”);  
trackingDimension.parmTrackingDimensionGroup(“BD2”);

EcoResProd.createProduct().add(ProdMast);  
erProdSvc.create(EcoResProd);  
info(“Test Product1 is created”);

// Code for releasing Product  
ecoResProduct = EcoResProduct::findByProductNumber(“Test84756”);  
EcoResProductReleaseManagerBase::releaseProduct(ecoResProduct.RecId,CompanyInfo::findDataArea(“bd2”).RecId);  
ttsCommit;  
}

---

<div class="post-metadata">

**Author:** ![sajukbrave](https://avatars.discourse-cdn.com/v4/letter/s/c2a13f/32.png) [@sajukbrave](https://www.dynamicsuser.net/u/sajukbrave)\
**Post date:** [December 8, 2012, 6:22am UTC](https://www.dynamicsuser.net/t/product-creation-in-ax2012-using-code/41941/5 "2012-12-08T06:22:22Z")

</div>

Hi Silvano,

Thanks for your reply.I need more description of EcoresProduct,EcoresproductTranslation object.
