印刷書式

書式とそのタイプについては、『書式パーツ』で説明しています。 このページでは、印刷書式を表示する方法について概説します。

印刷プロセス

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

新規ページを開始するのに必要な記号は、さまざまな状況で挿入されますが、print 文を発行する前にシステム関数 ConverseLib.pageEject を呼び出すことによって、挿入することができます。

固定書式に関する考慮事項

以下の文は、固定書式に適用されます。
  • 開始行が現在の行より大きな固定書式の印刷文を発行すると、EGL は、印刷装置を指定された行まで進めるために必要な記号を挿入します。 同様に、開始行が現在の行より小さな固定書式の印刷文を発行すると、EGL は、新規ページを開始するために必要な記号を挿入します。
  • 固定書式が別の固定書式の全部ではなく一部の行をオーバーレイする場合、EGL は自動的に新規ページを開始するために必要な記号を挿入し、2 番目の固定書式を新規ページに配置します。
  • 固定書式が別の固定書式のすべての行をオーバーレイする場合、EGL は、バッファーからのその他の出力を消去することなく、既存の書式を置換します。既存の出力を保持し、新規書式を次ページに配置するには、新規書式の print 文を発行する前に、システム関数 ConverseLib.pageEject を呼び出します。

浮動書式に関する考慮事項

浮動書式を使用している場合、以下のような間違いが起こる可能性があります。
  • print 文を発行して、浮動域よりも下に浮動書式を配置する
  • 少なくとも部分的に固定書式で浮動域をオーバーレイする print 文を発行してから、print 文を発行して浮動域に浮動書式を追加する

どちらの場合も、その結果として EGL が、新規ページを開始するために必要な記号を挿入し、浮動書式は新規ページの浮動域の最初の行に配置されます。 例えば、そのページが前述のオーダーおよび項目の出力と類似する場合、新規ページには最上部の固定書式は組み込まれません。

印刷先

EGL プログラムが close 文を処理して印刷ファイルを表示すると、その出力はプリンターまたはデータ・セットに送信されます。宛先は、以下の 3 つの時点のいずれかで指定することができます。
  • テスト時 (EGL デバッガー で説明します)
  • 生成時 (リソース関連およびファイル・タイプ で説明します)
  • 実行時 (システム変数 ConverseVar.printerAssociation との関係で説明します)

関連リファレンス
pageEject()
printerAssociation

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.