プログラム記述ファイルでのフェッチ・オーバーフロー・ルーチンの使用

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

フェッチ・オーバーフロー・ルーチンを使用すると、基本 ILE RPG オーバーフロー論理を変更して、ミシン線を超えて印刷が行われるのを防ぎ、ページを可能な限り無駄なく使用することができます。 通常のプログラム・サイクルでは、オーバーフロー標識がオンになっているか、合計出力の直後に コンパイラーによって 1 回だけ検査されます。 フェッチ・オーバーフロー機能を指定した場合には、 フェッチ・オーバーフローが指定されている各行ごとに、コンパイラーによって オーバーフローが検査されます。

図 1 は、フェッチ・オーバーフロー・ルーチンがオンに設定された場合とオフに設定された場合のオーバーフロー印刷の通常の処理を 示したものです。

図 1. オーバーフロー印刷: オーバーフロー標識の設定
 A 
フェッチ・オーバーフローを指定しない時は、すべての出力の後にオーバーフロー行が印刷 されます。オーバーフローがいつ起こるかに関係なく (OA がオン)、オーバーフロー標識 OA は オーバーフローの出力中、オンのままで、見出しと明細出力時の後でオフになります。
 B 
フェッチ・オーバーフローを指定した時は、オーバーフロー標識 OA がオンの場合、 フェッチ・オーバーフローを指定した出力行の前にオーバーフロー行が 書き出されます。OA がオンに設定された時は、見出しおよび明細出力が終った後でもオンの ままです。オーバーフローが既に感知されてオーバーフロー行が書かれたことがある場合を除いて、 オーバーフロー行がオーバーフロー時に、一瞬の間に書かれることは ありません。