制御レベル標識 (L1 から L9)

制御レベル標識は、入力仕様の 63 から 64 桁目の記入項目によって定義され、 ある入力フィールドを制御フィールドとして指定するものです。 これは、次に、演算および出力命令を条件付けするために使用することができま す。 有効な制御レベル標識は L1 から L9 です。

制御レベル標識は、ある入力フィールドを制御フィールドとして指定するもの です。 制御フィールドが読み取られると、制御フィールドのデータは、前のレコードか らの同じ制御フィールドのデータと比較されます。 データが異なっている場合に は、制御の切れ目が起こり、この制御フィールドに割り当てられた制御レベル標 識がオンに設定されます。 次に、制御レベル標識を使用して、制御フィールドに同じ 情報が入っているすべ てのレコードが読み取られた時にだけ処理されるように、命令を条件付けするこ とができます。 標識は、合計と最初の明細の両方の時点でオンになったままであ るため、合計印刷 (制御グループの最後のレコード) および明細印刷 (制御グル ープの最初のレコード) の条件付けにも使用することができます。 制御レベル標 識は、次のレコードが読み取られる前にオフに設定されます。

制御フィールドが入っている最初のレコードが 読み取られた後で、制御の切れ 目が起こる可能性があります。 このレコードの制御フィールドは、16 進数のゼロが入って いる記憶域内の区域と 比較されます。 2 つの異なるレコードからのフィールドが比較されているわけで はないので、このサイクルの合計演算および合計出力命令は回避されます。

制御レベル標識は、その重要度の順に、最低の L1 から最高の L9 までランク づけされます。 制御の切れ目の結果としてより高いレベルの標識がオンに設定 されると、それより低いレベルのすべての標識がオンに設定されます。 ただし、より 低いレベルの標識は、定義されている場合にしかプログラム中で使 用することができません。 例えば、制御の切れ目によって L8 がオンに設定された 場合には、L1 から L7 もオンに設定されます。 LR (最終レコード) 標識は、入力ファイルがファイル の終わりになった時にオンに設定されます。 LR は最高レベルの標識と見なされ、 L1 から L9 も強制的にオンに設定されます。

制御レベル標識は、レコード識別標識または結果の標識として定義することも できます。 この方法で制御レベル標識を使用した場合には、高いレベルの標識が オンに設定されても、それより低いレベルの標識の状況は変更されません。 例えば、L3 が結果の標識として使用されている場合には、L3 がオンに設定さ れても、L2 および L1 の状況は変わりません。

他のフィールドとの関係での制御フィールドの重要度に よって、制御レベル標 識を割り当ている方法が決まります。 例えば、小計を必要とするデータには、最 終合計を必要とするデータより低い制御レベル標識が必要です。 各部門の従業員 をグループ分けする場合に、部門番号が入っている制御フィールドには、従業員 番号が入っている制御フィールドより高い制御レベル標識が必要です (図 1 を参照)。