実行時システムでは、この COBOL システムのマルチユーザー機能をサポートしている。このマルチユーザー機能によって、マルチユーザー環境下で利用者がファイルを共有すること、あるプログラムがデータを更新する間は他のプログラムが該当するファイル全体またはそのレコードをアクセスできないようにすることが可能になる。
シングルユーザー環境下では、マルチユーザー用の構文は実行時に効力を発揮しない。しかし、シングルユーザーとマルチユーザーの両方の環境で使用できるように、プログラムを作成しておくことができる。
ファイルは活性状態または非活性状態のいずれかになる。活性状態のファイルは、1 つ以上の実行単位に対してオープンな状態にある。非活性状態のファイルは、どの実行単位に対してもオープンでない。
活性状態のファイルは、排他モードおよび共有モードのいずれかで開かれる。
排他モードのファイルは、単一の実行単位に対してのみ開かれる。他の実行単位がそのファイルにアクセスしようとすると、「ファイル ロック」エラーが発生し、アクセスは拒否される。排他モードでは、単一の実行単位のみがファイル ロックを保持してそのファイルにアクセスできる。実行単位がファイルを閉じると、ファイルのロックは解除される。
共有モードのファイルは、複数の実行単位が使用できる。各実行単位は、ファイルの使用中にファイル内の 1 つ以上のレコードを一度にロックしてデータを保護できる。これにより、他の実行単位はロックされている個々のレコードのロックを取得できなくなる。ただしロック時以外にファイルへのアクセスが妨げられることはない。ファイルの編成に応じて、ファイルの共有方法が異なる。
ファイル編成ごとの共有方法は以下のとおり。
INPUT (入力用) で開かれたレコード順編成ファイルは、複数の実行単位間で共有できる。ただしファイル内のレコードはロックできない。I-O (入出力両用) または EXTEND (拡張用) で開かれたファイルも複数の実行単位間で共有できる。この場合、各実行単位はそのファイルでレコード ロックを保持できる。OUTPUT (出力用) で開かれたファイルは、常に排他的なファイル ロックを保持する。
INPUT (入力用) または EXTEND (拡張用) で開かれた行順編成ファイルは共有できる。ただしファイル内のレコードはロックできない。OUTPUT (出力用) で開かれたファイルは、常に排他的なファイル ロックを保持する。
INPUT (入力用) で開かれたファイルは共有できる。ただしファイル内のレコードはロックできない。I-O (入出力両用) で開かれたファイルも共有できる。ただし OUTPUT (出力用) または EXTEND (拡張用) で開かれたファイルは排他的である。
ファイルへのアクセスを共有する各実行単位は、そのファイル内の単一または複数のレコードをロックできる。ただし、単一の実行単位が同じファイルに対して、単一レコード ロックおよび複数レコード ロックの両方を選択することはできない。