一般的な RPG IV プログラム・サイクル

図 5 は、RPG IV プログラム・サイクルの一般的なフロー における特定のステップを示しています。 プログラム・サイクルは、ステップ 1 から始まってステップ 7 まで続き、次にま たステップ 1 から始まります。

プログラムが RPG IV サイクルを通過する場合に、最初と最後は通常のサイク ルと多少異なります。 サイクルを通じて最初のレコードを初めて読み取る前に、プログラム では、そこに渡されたすべてのパラメーターが分析解決され、1P (1 ページ目) 標識 によって条件付けされたレコードが書き出され、ファイルとデータの初期化が実行さ れて、条件付け標識がないかまたはすべてが否定の条件付け標識である見出しま たは明細出力操作が処理されます。 たとえば、最初のレコードを読み取る 前に印刷される見出し行は、定数、ページ見出し情報、または PAGE およ び *DATE などの予約語のフィールドから構成されることがあります。 さらに、最初のサイ クルでは、合計演算および合計出力のステップはプログラムによって回避されます。

プログラムがサイクルを最後に通過する場合に使用できるレコードがなければ、 LR (最終レコード) 標識および L1 から L9 (制御レベル) 標識がオンに設定され、 ファイルおよびデータ域の終結処置が実行されます。

図 5. RPG IV プログラムの論理サイクル
REQTEXT
 1 
すべての見出し行および明細行 (出力仕様書の 17 桁目が H または D) が処 理されます。
 2 
次の入力レコードが読み取られ、レコード識別標識および制御レベル標識が オンに設定されます。
 3 
合計演算が処理されます。 これらの合計演算は L1 から L9 または LR 標識、あるいは L0 記入項目によって条 件付けされます。
 4 
すべての合計出力行が処理されます。 (出力仕様書の 17 桁目の T によって識別されます。)
 5 
LR 標識がオンかどうかが判別されます。 オンの場合には、プログラムは終了されます。
 6 
選択された入力レコードの各フィールドが、レコードから処理区域 に転送されます。 フィールド標識がオンに設定されます。
 7 
サイクルの始めで読み取ったレコードのデータに対して、 明細演算 (演算仕様書の 7 から 8 桁目の制御レベル標識によって条件付けされていない もの) がすべて処理されます。