待機区分編成ファイル
- 1 待機区分編成ファイルとはどんなファイルか
-
待機編成ファイルの一種でQPという略称で呼ばれることもあります。ファイルの中にさらにメンバと呼ばれるものを複数(ファイルのサイズが許す限り)入れることができます。データファイルとしては使用できず、主に以下のようなファイルとして使用されます。
- ロードモジュールライブラリ(LML)
- フォームオブジェクトライブラリ(FOL)
A−VXのCOBOLから待機区分編成ファイルの中身をREADしたり、WRITEしたりは、通常はできません。標準状態のA−VXでは、待機区分編成ファイルをユーザプログラムから読み書きする手段が用意されていないからです。
従って用途も限られているので、あまり書くことはありません。
- 2 メンバ
-
待機区分編成ファイルには、メンバが入ると書きました。メンバにも、いろいろな種類があります。
待機区分編成ファイルの中に入るメンバには、例えばロードモジュールがあります。ロードモジュールとは、Windowsで言えば、××.exeみたいな実行できる形式のものです。よくLMという略称で書かれたりします。
ロードモジュール(LM)は、ロードモジュールライブラリ(LML)に入ります。同じ待機区分編成ファイルでも、最初にどのようなメンバを入れるように作ったかによって、入れられるメンバの種類が決まります。例えばロードモジュールをフォームオブジェクトライブラリ入れることはできません。逆にフォームオブジェクトをロードモジュールライブラリに入れることはできません。
当然ながら待機結合編成ファイルにも入れることはできません。待機結合編成ファイルで有名なところでは、ソースユニットライブラリがありますが、このソースユニットライブラリにロードモジュールを入れることはできません。
混在はできないのです。
- 3 オーバーフロー
-
順編成ファイル等と同じく削除レコードが増えるとオーバーフローが発生するので、ファイルの再編成が必要となります。ただし、LMLなどにメンバ追加中にファイルオーバーフローになると自動的にファイル再編成が実行されるので、普段は特別手動で再編成を行う必要はありません。逆にメンバ追加中にファイル再編成が実行され、それでもファイルオーバーフローになった場合は、本当にファイルサイズが足りていないということになります。
マルチエクステント構成は取れないので、エクステントの拡張/追加も行えません。
オーバーフローになり、再編成を行ってもまだオーバーフローになる場合は、不要なメンバを削除して空きを作るか、もっと大きなファイルに作り直すかのどちらかの方法をとることになります。
他のファイルと異なり、待機編成ファイルを大きなファイルに作り直すのは、結構面倒です。
(1)別の名前で、大きなサイズの待機区分編成ファイルを作る。
(2)元のファイルから、新しく作ったファイルへ全部のメンバをコピーする。
(3)元のファイルを削除する。
(4)新しく作ったファイルの名前を元のファイルの名前に変更する。
最初からかなり大きめのサイズにしておくのが良いでしょう。(でも、システム開発中ならともかく、実運用に入ったらそんなにロードモジュールがどんどん増えていくということはないでしょう。たぶん・・・。)