
Hello,
While doing Data Upgrade (Ax40 to Ax 2012) during bulk copy step I am facing below error in one of participating virtual company REC (and not in any of non-virtual company):
“Storage and/or tracking dimension groups have not been specified for item 10284. Click the Dimension groups button in the Released products details form to complete the setup.”
“Microsoft.Dynamics.Ax.Xpp.ErrorException: Exception of type 'Microsoft.Dynamics.Ax.Xpp.ErrorException' was thrown.
at Dynamics.Ax.Application.InventDimGroupSetup.newInventTable(InventTable _inventTable) in InventDimGroupSetup.newInventTable.xpp:line 26
at Dynamics.Ax.Application.InventDimGroupSetup.newItemId(String _itemId) in InventDimGroupSetup.newItemId.xpp:line 26
at Dynamics.Ax.Application.InventMovement.Inventdimgroupsetup(InventDimGroupSetup _inventDimGroupSetup, Boolean ) in InventMovement.inventDimGroupSetup.xpp:line 17
at Dynamics.Ax.Application.InventMovement.Inventdimgroupsetup()
at Dynamics.Ax.Application.InventDim.checkUpdateEstimatedMovement(InventMovement _movement, InventMovement _movement_orig) in InventDim.checkUpdateEstimatedMovement.xpp:line 18
at Dynamics.Ax.Application.InventMovement.Checkupdateestimatedmovement(InventMovement _movement_Orig) in InventMovement.checkUpdateEstimatedMovement.xpp:line 17
at Dynamics.Ax.Application.InventUpd_Estimated.Checkupdatemovement() in InventUpd_Estimated.checkUpdateMovement.xpp:line 21
at Dynamics.Ax.Application.InventUpd_Estimated.Updatenow() in InventUpd_Estimated.updateNow.xpp:line 7
at Dynamics.Ax.Application.ReleaseUpdateDB60_Proj.Createvirtuelinventtrans() in ReleaseUpdateDB60_Proj.createVirtuelInventTrans.xpp:line 168
at ReleaseUpdateDB60_Proj::createVirtuelInventTrans(Object , Object[] )
at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeInstanceCall(Object instance, String MethodName, Object[] parameters)
at Dynamics.Ax.Application.SysDictClass.invokeObjectMethod(XppObjectBase _object, String _methodName, Boolean _tryBaseClass, Boolean ) in SysDictClass.invokeObjectMethod.xpp:line 42
at Dynamics.Ax.Application.ReleaseUpdateDB.Run(String methodName, sysReleasedVersion scriptVersion, Boolean force) in ReleaseUpdateDB.run.xpp:line 52
at Dynamics.Ax.Application.ReleaseUpdateExecute.Run() in ReleaseUpdateExecute.run.xpp:line 37
at Dynamics.Ax.Application.BatchRun.runJobStatic(Int64 batchId) in BatchRun.runJobStatic.xpp:line 50
at BatchRun::runJobStatic(Object[] )
at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type type, String MethodName, Object[] parameters)
at BatchIL.taskThreadEntry(Object threadArg)”
Also there are some dimension group table shared across virtual company INV.As shown below:
1 InventDimGroup
2.InventDimSetup
3.InventDimSetupGrid
4.InventPosting
5.InventItemGroup
6.InventModelGroup
Now when I opened EcoResStorageDimGroupItem and EcoResTrackingDimGroupItem I am not able to see records for all the participating virtual companies(like REC, REC etc) and hence facing the error.
FYI- I have tried setting up virtual company setup and table collection mapping after connecting to source database i.e. to setup TABLECOLLECTIONLIST system table.
Can somebody give me any clue where exactly above tables gets populated during bulk copy i.e. class\method name?
Or any other better way to resolve this issue?
Thanks!
Manoj Parashar
*This post is locked for comments
I have the same question (0)Manoj - the script that populates teh EcoResStorageDimGroupItem table is the createEcoResStorageDimensionGroupItem method of the ReleaseUpdateDB60_EcoRes class, and a similar method exists for the Tracking and Product dimension groups in that class. The issue in your case is most likely because of the joins that are used in the insert_recordset statements which populate the tables because they have joins based directly on the dataAreaID fields. Here is an example from the script, and most likely the first join is the one causing the rows to not be populated.
insert_recordset ecoResStorageDimensionGroupItem (ItemId, ItemDataAreaId, StorageDimensionGroup)
select ItemId, DataAreaId from inventTable
join del_EcoResDimGroupUpgrade
where del_EcoResDimGroupUpgrade.InventDimGroupId == inventTable.del_DimGroupId
&& del_EcoResDimGroupUpgrade.RefDataAreaId == inventTable.DataAreaId
join RecId from ecoResStorageDimensionGroup
where ecoResStorageDimensionGroup.Name == del_EcoResDimGroupUpgrade.EcoResStorageDimGroupId
notexists join ecoResStorageDimensionGroupItemNotExists
where ecoResStorageDimensionGroupItemNotExists.ItemId == inventTable.ItemId
&& ecoResStorageDimensionGroupItemNotExists.ItemDataAreaId == inventTable.DataAreaId;
To get around the issue of the dimension setup tables being shared but not the InventTable, you will likely just need to comment out the restriction for the del_EcoResDimGroupUpgrade.RefDataAreaId == inventTable.DataAreaId line and test to see if that addresses your issue.
If that doesn't address the issue, the case will be too involved to manage through community support, and it would be best to open a support incident to troubleshoot it further.
Kevin