オーバーフロー・ルーチン

図 1 は、RPG IV オーバーフロー・ルーチンの特定のス テップを示しています。 以下の説明の項目番号は、図の中の番号を示しています。
 1 
RPG IV プログラムは、フェッチ・オーバーフロー・ルーチン論理 (図 1 のステップ 30) を使用して、前にオーバーフロー行が 書き出されたかどうかを判別します。 オーバーフロー行が前に書き出されていた 場合には、プログラムは指定された戻り点に分岐し、そうでない場合には、処理 はステップ 2 から続行されます。
 2 
オーバーフロー標識によって条件付けされたすべての出力行がテストされ、 条件付けされたオーバーフロー行が書き出されます。

フェッチ・オーバーフロー・ルーチンによって、ミシン線上への印刷を防止し、 ページをできるだけ有効に使用できるように、基本 RPG IV オーバーフローの 論理を変更することができます。 通常のプログラム・サイクル中は、オーバーフロー標識がオンになっているかどう かを確認するために、合計出力の直後に RPG IV プログラムによって一度だけ 検査が行われます。 フェッチ・オーバーフロー機能を指定した場合には、フェッチ・オーバーフロー が指定されている各行ごとに RPG IV プログラムによるオーバーフローの検査 が行われます。

フェッチ・オーバーフローは、出力仕様で PRINTER ファイルに関する任意 の明細行、合計行、または例外行の 18 桁目に F を記入して指定し ます。フェッチ・オーバーフロー・ルーチンによって、次のページへ用紙が進められる ことは自動的になくなります。

出力時には、出力行の条件付け標識がテストされ、その行が書き出されるかど うかが判別されます。 それが書き出される行で、しかも 18 桁目に F が指定されて いる場合には、オーバーフロー標識がオンになっているかどうかが RPG IV プロ グラムによってテストされ判別されます。 オーバーフロー標識がオンのときは、オーバーフロー・ルーチンが 取り出され、以下の処理がなされます。

各 OR 行の 18 桁目は、オーバーフロー・ルーチンが OR 関係で各レコードに使われるものである 場合は、F でなければなりません。フェッチ・オーバーフローは、オーバーフロー標識が 同じ仕様書行の 21 から 29 桁目で指定されていると使われることはありま せん。これを使用した場合には、オーバーフロー・ルーチ ンは取り出されません。

オーバーフロー標識によって条件付けされた残りの明細行、合計行、例外行、 および見出し行を印刷するのに十分なスペースがページ上に残されていない場合 には、フェッチ・オーバーフロー・ルーチンを使用してください。 オーバーフロ ー・ルーチンの取り出し時期を決定するためには、考えられるオーバーフローのす べての状況を検討してください。 行およびスペースをカウントすることによって、 各明細行、合計行、および例外 行でオーバーフローが起こるとどうなるかを推測することができます。