メニューボタン
サポートチーム便り2012.02.20

ロック・レコードのバイパス

Question

ロック・レコードをバイパスすると思われる標準コードをいくつか示します。見たところ、バイパスしていないようです。

C PROCES BEGSR

C *IN99 DOUEQ *ON
C READ F55634LB 9699

C *IN99 IFEQ *ON
C LEAVE
C ENDIF

C *IN96 IFEQ *ON
C ITER
C ENDIF
~ do processing

C ENDDO
?

ITER ステートメントがあれば、次のレコードが読み取られると思ったのですが、バグ・セッションを見ると、カーソルが同じレコードの上に留まっていて、1 つのロック・レコードを何度も読み取ろうとしているようです。こうしたロジックが機能しない場合、次なるサインとして何が指摘できますか。こうした事態は簡単に打開できないものでしょうか。

Answer

ロック・レコードをバイパスするには、次のようにno-lockを使用してレコードを読み取る必要があります。

C  *IN96   IFEQ   *ON
C  status   ANDEQ  recordlock 
C        READ(N) F55634LB  9699
C        ITER
C        ENDIF

あわせて読みたい記事

PAGE TOP