删除操作在Axapta 2009中未成功

时间:2016-08-04 16:35:27

标签: microsoft-dynamics dynamics-ax-2009

我已根据用户的要求在AX实例中编写了一个简单的一个记录删除操作作业,而另一个实例被卡住并打开。但是记录没有被删除。

try 
    {
    ttsbegin;
    select fotupdate tableBuffer where  tableBuffer.recid == 5457735:

    tableBuffer.delete();
    ttscommit;
    }
catch (exception::error)
{
   info("Delete operation cancelled.");
}

tableBuffer的delete()函数被super()后的代码覆盖,以将删除的记录存储在另一个表中。

我之前已经成功完成了同样的操作,但是现在没有像今天一样的情况(在一个实例中执行而另一个实例被卡住)。

请提出可能的原因,因为我发现记录仍然存在于sql server和AX中。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您试图阻止这种情况发生,您可以使用pessimistic锁定,获取更新锁定。

  

select pessimisticLock custTable where custTable.AccountNum > '1000'

有关详细信息,请参阅以下链接:

http://dev.goshoom.net/en/2011/10/pessimistic-locking/

https://blogs.msdn.microsoft.com/emeadaxsupport/2009/07/08/about-locking-and-blocking-in-dynamics-ax-and-how-to-prevent-it/

https://msdn.microsoft.com/en-us/library/bb190073.aspx