プログラムを QSAM ファイルから切り離すには、CLOSE ステートメントを使用します。 既にクローズされているファイルをクローズしようとすると、論理エラーになります。
QSAM ファイルをクローズしなくても、以下の条件のもとでは、ファイルは自動的にクローズされます。ただし、実行単位内の OS/VS COBOL プログラムのいずれかで定義されたファイルを除きます。
(条件が処理された後で) プログラムが実行を再開する位置を変更することができます。このためには、 言語環境プログラムの CEEMRCR 呼び出し可能サービスを使用して再開カーソルを移動するか、または C longjmp のような言語構造体を使用します。
このような暗黙の CLOSE 操作が実行されたときは、DATA DIVISION のファイル状況キー・データ項目が設定されますが、EXCEPTION/ERROR および LABEL 宣言は呼び出されません。
エラー: マルチスレッド・アプリケーションで QSAM ファイルをオープンした場合は、ファイルをオープンしたのと同じ実行スレッドからクローズする必要があります。異なるスレッドからファイルをクローズしようとすると、ファイル状況コードの条件 90 でクローズが失敗します。
関連参照
CLOSE ステートメント (Enterprise COBOL 言語解説書)