2012-11-07 39 views
0

在AX2009中,存在清理不属于任何事务的未使用清单维度的过程。如何清理INVENTDIM表?

是否有这样的过程,我可以在AX4做到哪里INVENTDIM表,现在有20个亿多条记录。

回答

0

如果没有这样的标准过程,您可以尝试以下操作。

  1. 写一份工作,以确定所有的表都InventDimId(+ ReqCovInventDimId, 等)领域。
  2. 写了作业或SQL查询来填写 临时表与所有这些领域的InventDimId值。
  3. 写了作业或SQL查询来从没有InventDimId的这一临时表中的InventDim表中删除所有这些记录。
+0

这就是AX2009的功能实际上所做的。看起来它与AX4兼容。 – esac

0

没有这样的标准过程。

勇敢会这样做:

InventDim.skipDeleteActions(true); 
InventDim.skipDeleteMethod(true); 
delete_from InventDim 
    notexists join InventTrans 
     where InventTrans.inventDimId == InventDim.inventDimId; 

这会删除不被交易的项目中引用的任何记录。 不幸的是,可能存在其他参考。

您可以尝试降级AX 2009进程。