-1

FM ENQUE_DELETE を使用してみましたが、一部のテーブル エントリのロックを削除するために期待される結果が得られません。

さまざまな種類のロックがあり、それらのテーブル エントリをロックしたプログラムがロック タイプ 'E' を使用していることに気付きました。

ロック タイプを 'S' (共有) に設定して、最初のプログラムがテーブル エントリを「ロック」できるようにできますが、2 番目のプログラムが実行されると、テーブル ロックを削除できますか?

4

4 に答える 4

0

Ok。調査を進めるべきだった。

私はこれのための方法を見つけました。FM の ENQUE_REPORT/READ/DELETE でのデバッグを通じて、外部ロックを取得して削除する方法を見つけ、現在のユーザーが外部ロックをロックしたユーザーであるとプログラムに想定させました。=]

于 2013-08-23T12:23:08.797 に答える
0

特定のテーブル ロック エントリを手動で明示的に削除する必要はありません。常に生成された FM のみを使用し、enqueue_...dbdequeue_...レコードをロック/ロック解除してください!

  1. ENQUEUE_EZyour_table を呼び出す
  2. your_table に変更を加えます
  3. DEQUEUE_EZyour_table を呼び出す

これにより、以前に作成されたロック エントリが削除されます。

于 2013-09-03T10:44:06.170 に答える
0

使用しているテーブルについては、SE11 でロック オブジェクトを確認してください。

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

于 2014-02-06T06:12:54.293 に答える