システムがデータを処理する際、システムは特定の順序で処理を行わなけれ ばなりません。 この論理順序は次のものによって与えられます。
コンパイラーによって提供される論理は、プログラム・サイクルと呼ばれます。 ユーザーが、コンパイラーにプログラムの論理を提供させる時には、 サイクル・プログラミングと呼ばれます。
プログラム・サイクルとは、ファイル終了状態に達するまで、プログラムが 反復する一連のステップのことです。 コーディングした仕様書によって、プログラムでサイクル内の 各ステップを使用することもあればしないこともあります。
ファイルをサイクルで制御したい場合には、ソース・プログラム中の RPG 仕様書でコ ーディングした情報は、これらのファイルのレコードが読み取られる時に指定 する必要がありません。 ソース・プログラムのコンパイル時に、コンパイラーによって、これらの操作およ び出力操作の論理順序が設定されます。
ファイルをサイクルで制御させたくない場合には、その他の方法でプログラム を終了する必要があります。最終レコード (LR) 標識をオンに設定すること によってファイル終了状態を作成するか、戻り (RT) 標識をオンに設定する ことによって戻り状態を作成するか、または RETURN 命令を使用して直接戻る 方法があります。
図 1 は、RPG プログラム・サイクルの一般的流れに特有のステップを示したものです。
最初のサイクル
プログラム・サイクルを通過する場合、最初と最後はそれ以外のサイクルと多少異なります。 サイクルの最初で最初のレコードを読み取る前に、 プログラムは次の 3 つのことを実行します。
例えば、最初のレコードを読み取る前に印刷される見出し行は、固定情報、 ページ見出し情報、または PAGE および *DATE などの特殊なフィールドから 構成されるようにすることができます。プログラムはまた、最初のサイクルでの合計演算および合計出力ステップをバ イパスします。
レコードがなくなるとプログラムは最後のサイクルに進み、LR (最終レコード) 標識 および L1 〜 L9 (制御レベル) 標識をオン に設定 します。 プログラムは、合計演算および合計出力を処理し、すべてのファイルをクローズ してから終了します。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.