印刷のプロセスには、2 つのステップがあります。
- まず最初に、print 文をコード化します。それぞれの文は、ランタイム・バッファーに書式を追加します。
- 次に、EGL ランタイムによって新規ページの開始に必要な記号が追加され、バッファーに入れられているすべての書式が印刷装置に送信され、バッファーの内容が消去されます。
上記のサービスは、以下のいずれかの状況への対応として行われます。
- プログラムが、同じ印刷装置を宛先とする印刷書式で close 文を実行する
- プログラムが、セグメント化モードで (『セグメンテーション』参照)、converse 文を実行する
- プログラムが、EGL 以外の (かつ VisualAge Generator 以外の) プログラムによって呼び出され、呼び出し先プログラムが終了する
- 実行単位のメインプログラムが終了する、あるいは
- システム変数 ConverseVar.printerAssociation (印刷書式の出力宛先を割り当てる) が iSeries™ 上で実行中の COBOL プログラム内で設定されている
マルチ書式の出力の場合は、
print 文を、書式を表示する順序で呼び出す必要があります。以下の例を考えてください。
- 出力のトップで、固定書式によって、購入する会社とオーダー番号が識別されます。
- 後続の浮動域で、同じ形式でフォーマット設定された一連の浮動書式によって、その会社のオーダーの各項目が識別されます。
- 出力のボトムで、固定書式によって、項目のリスト全体でスクロールの必要な画面数またはページ数が識別されます。
そのような出力は、それぞれ印刷書式上で操作を行う一連の
print 文をサブミットすることで達成することができます。それらの文は、
以下の順序で書式を参照します。
- トップ書式
- 浮動書式。ループの中で繰り返し呼び出される print 文によって表示されます。
- ボトム書式
新規ページを開始するのに必要な記号は、さまざまな状況で挿入されますが、print 文を発行する前にシステム関数 ConverseLib.pageEject を呼び出すことによって、挿入することができます。