DETECT-LOCK

レコードが別のプログラムでロックされているかどうかを、READ 文で検出します。

構文:

>>-.---.-.----.--DETECT-LOCK---------------><
   +-/-+ +-NO-+

パラメーター:

なし

プロパティ:

デフォルト: DETECT-LOCK
段階: 構文チェック
$SET: 最初の行

説明:

ハイフンを使わずに DETECTLOCK と指定しても、コンパイラでは認識されます。

DETECT-LOCK を指定すると、READ 文が他のプログラムによってロックされているレコードを読み取る場合に、9/068 という入出力ステータスを返します。NODETECT-LOCK を指定した場合は、0/000 を返します。どちらの場合でも、レコードの読み取りは正常に行われます。

READ 文でレコードをロックしようとする場合 (つまり、LOCK MODE IS AUTOMATIC 文が指定されている場合、またはその READ 文で WITH LOCK 句が使用されている場合) に、そのレコードが他のプログラムでロックされていると、入出力ステータス 9/068 が返されます。NODETECT-LOCK を指定した場合、READ 文によってレコードがロックされなければ、入出力ステータス 0/000 が返されます。

DETECT-LOCK を指定した場合、READ ...IGNORE LOCK 構文を使用することで、個々の READ 文はロックを無視できます。