オーバーフロー・ルーチン
- 1
- RPG IV プログラムは、フェッチ・オーバーフロー・ルーチン論理 (図 1 のステップ 30) を使用して、前にオーバーフロー行が 書き出されたかどうかを判別します。 オーバーフロー行が前に書き出されていた 場合には、プログラムは指定された戻り点に分岐し、そうでない場合には、処理 はステップ 2 から続行されます。
- 2
- オーバーフロー標識によって条件付けされたすべての出力行がテストされ、 条件付けされたオーバーフロー行が書き出されます。
フェッチ・オーバーフロー・ルーチンによって、ミシン線上への印刷を防止し、 ページをできるだけ有効に使用できるように、基本 RPG IV オーバーフローの 論理を変更することができます。 通常のプログラム・サイクル中は、オーバーフロー標識がオンになっているかどう かを確認するために、合計出力の直後に RPG IV プログラムによって一度だけ 検査が行われます。 フェッチ・オーバーフロー機能を指定した場合には、フェッチ・オーバーフロー が指定されている各行ごとに RPG IV プログラムによるオーバーフローの検査 が行われます。
フェッチ・オーバーフローは、出力仕様で PRINTER ファイルに関する任意 の明細行、合計行、または例外行の 18 桁目に F を記入して指定し ます。フェッチ・オーバーフロー・ルーチンによって、次のページへ用紙が進められる ことは自動的になくなります。
- 取り出しが指定されたファイルのオーバーフロー行だけが出力について検査さ れます。
- オーバーフロー標識によって条件付けされた合計行はすべて書き出されます。
- 現在印刷中の行より小さい番号の行へのスキップが、オーバーフロー標識に よって条件付けされている行に指定されている場合に、用紙が次のページに進め られます。
- オーバーフロー標識によって条件付けされている見出し行、明細行、および 例外行は書き出されます。
- オーバーフロー・ルーチンを取り出した行は書き出されます。
- そのプログラム・サイクルで書き出されることになっている明細行および 合計行はすべて書き出されます。
各 OR 行の 18 桁目は、オーバーフロー・ルーチンが OR 関係で各レコードに使われるものである 場合は、F でなければなりません。フェッチ・オーバーフローは、オーバーフロー標識が 同じ仕様書行の 21 から 29 桁目で指定されていると使われることはありま せん。これを使用した場合には、オーバーフロー・ルーチ ンは取り出されません。
オーバーフロー標識によって条件付けされた残りの明細行、合計行、例外行、 および見出し行を印刷するのに十分なスペースがページ上に残されていない場合 には、フェッチ・オーバーフロー・ルーチンを使用してください。 オーバーフロ ー・ルーチンの取り出し時期を決定するためには、考えられるオーバーフローのす べての状況を検討してください。 行およびスペースをカウントすることによって、 各明細行、合計行、および例外 行でオーバーフローが起こるとどうなるかを推測することができます。