CBL_CLOSE_VFILE | ヒープを閉じる |
CBL_OPEN_VFILE | ヒープを開く |
CBL_READ_VFILE | ヒープから読み込む |
CBL_WRITE_VFILE | ヒープへ書き込む。 |
ヒープとは使用可能なメモリ内に記憶されるバイトストリームファイルである。
ヒープの生成時に指定された状態語は各ヒープと関連付けられる。そのヒープの処理が失敗すると書き込まれる。各ヒープは指定されたプログラム、すなわち状態語を含むプログラムに添付され、そのプログラムがキャンセルされると自動的に割り当てが解除される (CBL_CLOSE_VFILE の呼び出しで、すでに明確に割り当てが解除されていない場合)。
ヒープはヒープ一意名語で識別される。この語はプログラム間で渡されることが可能であり、どのようなプログラムでも本ヒープの読書きが可能である。しかし、処理の失敗を確認するためには、関連付けされた状態語にアクセスする必要がある(たとえば、ポインター変数を使用したり、一般の連絡節を経由する方法がある)。
また、一般的なヒープ機能の失敗を確認するにはRETURN-CODE レジスタでも検証できる。また、CALL 文上で ON OVERFLOW/EXCEPTION 構文を使って、エラーをトラップすることもできる。この2つの方法の場合、ヒープ状態語を検証することによって、指定されたエラーを特定することができる。
ヒープの読み取りまたは書き込みが成功すると、RETURN-CODE の値は0になる。失敗した場合、RETURN-CODE は0以外の値になり、ヒープ状態の最初のバイトが9、2番目のバイトに詳細情報が含まれる。
CBL_READ_VFILE と CBL_WRITE_VFILE で使用されるバッファーは、データ節や連絡節内の任意の位置に配置できる。もしくは、CBL_ALLOC_MEM ルーチンを使用して動的に割り当てることも可能となる。
各ヒープは必要なときに呼び出し可能である。sourcenameはヒープが付与されているプログラムの基本名(base-name)で、nnが1から99の整数の場合、sourcename.Vnnという名称でディスク上の別のファイルに呼び出される。nnが99に達すると、Vが上書きされる。拡張可能な最大数値は384である。
ローカルヒープ番号は65535までの数字が設定できる。
バッファー呼び出しのパラメーターで部分参照を使用して、COBOL レコードの中でヒープバッファーを宣言することができる。バッファーの長さが固定されていれば、これによって効率的にコンパイルする。呼び出しインターフェイスによってバッファーの長さは無視されるため、バッファーの長さは1として考える。