レコードが別のプログラムでロックされているかどうかを、READ 文で検出します。
>>-.---.-.----.--DETECT-LOCK--------------->< +-/-+ +-NO-+
なし
ハイフンを使わずに 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 文はロックを無視できます。
説明:
ハイフンを使わずに 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 文はロックを無視できます。