COBOL には、印刷されるページのサイズを制御するため、およびレコードの垂直位置決めを制御するための言語ステートメントが用意されています。
ページ・サイズの制御: 印刷されるページのサイズ (ページの上部マージンと下部マージンの間の行数および脚注域の行数) を制御するには、FD 記入項目の LINAGE 節を使用します。 LINAGE 節を使用すると、COBOL では ADV コンパイラー・オプションも要求されたかのようにファイルを処理します。
LINAGE 節を WRITE BEFORE|AFTER ADVANCING nn LINES と組み合わせて使用する場合は、注意して値を設定してください。 ADVANCING nn LINES 句が使用されると、COBOL はまず、LINAGE-COUNTER と nn の合計を計算します。それ以降のアクションは、nn のサイズによって異なります。LINAGE-COUNTER が増加されると、END-OF-PAGE 命令句が実行されます。 したがって、LINAGE-COUNTER は、END-OF-PAGE 句の実行時に、現行の脚注域ではなく次の論理ページを指していることがあります。
AT END-OF-PAGE または NOT AT END-OF-PAGE 命令句が実行されるのは、書き込み操作が正常に完了した場合だけです。 書き込み操作が成功しなかった場合には、制御が WRITE ステートメントの終わりに渡され、すべての条件句が省略されます。
レコードの垂直位置決めの制御: 印刷ページに書き込むそれぞれのレコードの垂直位置決めを制御するには、WRITE ADVANCING ステートメントを使用します。
BEFORE ADVANCING は、ページが送られる前にレコードを印刷します。 AFTER ADVANCING は、ページが送られた後でレコードを印刷します。
ADVANCING の後に、ページが送られることになる行数を整数 (または mnemonic-name を指定した identifier) で指定してください。 WRITE ステートメントで、ADVANCING 句を省略した場合、その効果は次のようにコーディングした場合と同じです。
AFTER ADVANCING 1 LINE
関連参照
WRITE ステートメント (Enterprise COBOL 言語解説書)