EGL の以下のタイプの可変長レコードを定義することができます。
- 順次ファイルにアクセスするための可変長シリアル・レコード
- VSAM ファイルにアクセスするための可変長シリアル・レコードまたは可変長索引付きレコード
- 可変長 MQ レコード
EGL は、変数を確認することによって、可変長レコードのサイズを判別するために必要となる情報を見つけます。
その変数の名前は、レコードのプロパティーにあります。プロパティーについて詳しくは、
プロパティーを参照してください。
以下のいずれか、または両方のプロパティーを使用して、レコードの長さを判別することができます。
- lengthItem
- 現行レコード内のフィールド、そのプログラムから認識可能な別のレコード内のフィールド、または変数を示します。
このフィールドまたは変数は、レコードの合計長 (バイト単位) を含む整数です。
詳しくは、lengthItemを参照してください。
- numElementsItem
- 現行レコード内のフィールドを示します。
このプロパティーは、最後のトップレベルの構造フィールドが配列である構造化レコードで使用します。
numElementsItem プロパティーで識別されるフィールドは、
実際に書き出される最後の配列の要素数を含む整数です。
詳しくは、numElementsItemを参照してください。
この両方のプロパティーがある場合、EGL ではレコードをファイルに書き込みます。EGL では、numElementsItem フィールドを使用してレコードの合計長を計算し、lengthItem が指定する変数にその長さを配置してからレコードを書き込みます。