删除表条目锁

时间:2013-08-23 10:13:33

标签: locking sap abap function-module

我尝试过使用FM ENQUE_DELETE,但我一直没有得到预期的结果来删除某些表条目的锁。

我注意到有不同类型的锁,锁定这些表条目的程序使用锁定类型“E”。

我可以将锁类型设置为'S'(共享),这样第一个程序就可以“锁定”表项,但是一旦第二个程序运行,它可以删除表锁吗?

4 个答案:

答案 0 :(得分:0)

首先锁定表的程序通常是类型设置。 如果它不是您的程序,您肯定无法并且允许在运行时修改已设置的标准locktype。据我所知。

如果是您的程序,那么您可以自定义您可以使用的锁定类型。

http://www.sapdev.co.uk/dictionary/lock_enqueue.htm

将告诉您类型,链接中的代码示例应提供您可能需要的所有信息。

答案 1 :(得分:0)

确定。我应该推动我的调查。

我找到了办法。 通过调试FM ENQUE_REPORT / READ / DELETE, 我找到了一种获取外部锁并将其删除的方法, 使程序假定当前用户是锁定外部锁的用户。 =]

答案 2 :(得分:0)

永远不需要手动删除特定的表锁定条目。始终只使用生成的FM enqueue_...dequeue_...来锁定/解锁数据库记录!

  1. 致电ENQUEUE_EZyour_table
  2. 对your_table进行更改
  3. 致电DEQUEUE_EZyour_table
  4. 这将删除先前创建的锁定条目。

答案 3 :(得分:0)

您正在使用哪些表,检查SE11中的锁定对象ex:ENQUEUE_和DEQUEUE_,如果可用,则在OPEN SQL语句之前和之后调用它们,如果没有创建锁定对象。

参考:http://www.sapnuts.com/courses/core-abap/open-sql/using-lock-objects.html