ファイル編成が相対、索引、またはレコード順の場合にのみ、複数のレコードをロックできる。
複数レコード ロックを指定した実行単位は、単一のファイル内で同時に複数のレコード ロックを保持できる。これにより、他の実行単位はロックされているレコードを更新またはロックすることはできない。ただし、ロックされていないレコードにはアクセスできる。レコード ロックを獲得するには、手動および自動の 2 種類がある。
READ WITH LOCK 文または READ WITH KEPT LOCK 文を使用してレコードを呼び出す場合にのみ、実行単位はロックを取得できる。
ファイル内のレコードを読み込む際に、実行単位はロックを自動で取得する。ただし、ロックしないことを明示的に指定した場合は除く。翻訳群を COBOL システムにサブミットした時点で WRITELOCK コンパイラ指令が設定されていると、実行単位が WRITE 文または REWRITE 文を使用してファイルにアクセスする際にロックされる。
ロックを解除するには、ロックした実行単位で次のいずれかを行う。