Site specific settings DIXF

Product entity is not importing site specific settings. Please guide

We are on R3 CU8. Just an additional info

did any one encounter the same problem?

That table isn’t mapped in standard DIXF, you have to customize DIXF product entity to cover missing fields.

Site Specific settings needs to be created as a custom entity in DIXF.

The way AX stores the information pertaining default order settings and site specific settings needs to be know when using.

Some of the areas to cover are: 1) Each record for invent, sales and purchase, dimiddefault for order settings and for site specific.

Also note to sequence your data to load in this table to avoid potential locks

Regards

Rahul

Hi,

I customized the code and created record in site specific settings. The table shows correct data but it is not getting displayed in form. I created a job to check site specific settings and its showing that for a given site and item, location exists but the form is not displaying. any ideas…

Through X++ code, is it required to update any field with a enumvalue Inventitemordersupplydefaulttype::bydimension?

Kindly guide.

lakshmi

Check this http://dynamicsuser.net/forums/p/65814/347585.aspx

void

SMCSiteSpecificSettings()

{

InventDim inventDim, inventdimPurch, inventDimSales, inventDimInvent,inventDimDefaultSite;

InventItemInventSetup InventItemInventSetup1;

InventItemSalesSetup InventItemSalesSetup1;

InventItemPurchSetup InventItemPurchSetup1;

//InventItemPurchSetup

if

(entity.PurchInventLocationId)

{

inventdimPurch.InventLocationId = entity.PurchInventLocationId;

inventDimDefaultSite.InventSiteId = entity.DefaultPurchInventSiteId;

InventItemPurchSetup1.inventdimid = InventDim::findOrCreate(inventDimDefaultSite).inventDimId;

InventItemPurchSetup1.InventDimIdDefault = InventDim::findOrCreate(inventdimPurch).inventDimId;

InventItemPurchSetup1.ItemId = entity.ItemId;

if

(!InventItemPurchSetup::exist(InventItemPurchSetup1.ItemId,InventItemPurchSetup1.inventdimid))

{

ttsBegin

;

InventItemPurchSetup1.initValue();

if

(InventItemPurchSetup1.validateWrite())

InventItemPurchSetup1.insert();

ttsCommit

;

}

}

//InventItemInventSetup

if

(entity.ItemInventLocationId)

{

inventdiminvent.InventLocationId = entity.ItemInventLocationId;

inventDimDefaultSite.InventSiteId = entity.DefaultItemInventSiteId;

InventItemInventSetup1.inventdimid = InventDim::findOrCreate(inventDimDefaultSite).inventDimId;

InventItemInventSetup1.InventDimIdDefault = InventDim::findOrCreate(inventdiminvent).inventDimId;

InventItemInventSetup1.ItemId = entity.ItemId;

if

(!InventItemInventSetup::exist(InventItemInventSetup1.ItemId,InventItemInventSetup1.inventdimid))

{

ttsBegin

;

InventItemInventSetup1.initValue();

if

(InventItemInventSetup1.validateWrite())

InventItemInventSetup1.insert();

ttsCommit

;

}

}

//InventItemSalesSetup

if

(entity.SalesInventLocationId)

{

inventdimSales.InventLocationId = entity.SalesInventLocationId;

inventDimDefaultSite.InventSiteId = entity.DefaultSalesInventSiteId;

InventItemSalesSetup1.inventdimid = InventDim::findOrCreate(inventDimDefaultSite).inventDimId;

InventItemSalesSetup1.InventDimIdDefault = InventDim::findOrCreate(inventdimSales).inventDimId;

InventItemSalesSetup1.ItemId = entity.ItemId;

if

(!InventItemSalesSetup::exist(InventItemSalesSetup1.ItemId,InventItemSalesSetup1.inventdimid))

{

ttsBegin

;

InventItemSalesSetup1.initValue();

if

(InventItemSalesSetup1.validateWrite())

InventItemSalesSetup1.insert();

ttsCommit

;

FInally the puzzle got cracked.

if(_target.TableId==tableNum(InventItemPurchSetup))
{
ttsBegin;
inventItemPurchsetupSite.initvalue();
inventItemPurchsetupSite.ItemId = entity.ItemId;
inventItemPurchsetupSite.inventdimid = inventDimDefaultSite.inventDimId;
inventItemPurchsetupSite.setInventLocationId(entity.PurchInventLocationId);
inventItemPurchsetupSite.insert();
ttsCommit;
}

This code is working fine in DMFProductEntity(class)/insertupdate(method)

Thanks,

Lakshmi