ヘッダー情報を可能にするためのビューの調整
コピーブックまたはテンプレートを使用してレコードを形式設定すると、レコード内の情報が置き換えられることがあります。これは、コピーブックまたはテンプレートがそのフィールドを、レコード内の実際のデータの右側または左側から始まるフィールドとして定義するためです。例えば、レコードにはヘッダー情報が含まれているが、コピーブックのレコード構造には定義されていない場合や、コピーブックにはヘッダー情報の定義が含まれているが、実際のレコードには含まれていない場合などがあります。(PL/I コピーブックは、File Manager がレコードから取り出す 4 バイト RDW フィールドを使用してコード化される場合があります。このようなフィールドは通常、データの一部とみなされません)。元のコピーブックを変更せずにテンプレートをレコードにマップするには、オフセット値を指定します。これにより、テンプレートのフィールド開始位置が左または右に変更されます。
オフセット値は -32760 から 32760 までの範囲の整数であり、テンプレート内の 1 つ以上のレベル 01 フィールドに適用されます。レベル 01 レコード構造内での各フィールドの開始位置は、この値の分だけ増減されます。正のオフセット値を指定すると、フィールドは右方向へ移動するので、一部のフィールドがレコードの長さを超える位置にマップされることがあります。レコード長を超えるデータは表示されません。指定したデータが物理的なレコードの終わりを超えるフィールドは (レコードが固定長であっても可変長であっても) 編集できません。負のオフセット値を指定すると、フィールドが左方向に移動して、その結果、開始位置がゼロ以下になったフィールドはすべて、表示されなくなります。
必須フィールドはすべて、正の開始位置である必要があります。必須フィールドとは、OCCURS DEPENDING ON ターゲット・フィールド、PL/I REFER フィールド、あるいはレコード ID 基準またはレコード選択基準で参照されるフィールドなどのことです。指定したオフセット値によって必須フィールドの開始列値がゼロ以下になる場合は、そのオフセット値は無効なので許可されません。次元フィールドの最初のエレメントの開始位置がゼロ以下である場合は、そのフィールド (すべての配列エレメント) は表示されません。
オフセットは、ID 基準または選択基準で使用するために、値の計算前に適用されます。
関連トピック