サイクル・メイン・プロシージャーの未終了の戻り

LR 標識または H1 から H9 標識のどれもがオンでない時に、次のいずれかが起こると、 サイクル・メイン・プロシージャーが未終了で、制御権を呼び出しプロシージャー元に戻すことができます。
  • RETURN 命令 (ブランクの演算項目 2 で) が処理された時。
  • RT 標識がオンで制御が RPG サイクルの *GETIN 部分に達した時。この場合に は制御権がただちに呼び出し元プロシージャーに戻されます (RT 標識の詳細については、「IBM® Rational® Development Studio for i: ILE RPG 解説書」を参照してください)。
サイクル・メイン・プロシージャーを呼び出し、それが未終了で戻った場合には、 プロシージャーを再び呼び出した時に、このプロシージャーのすべてのフィールド、標識、 およびファイルはプロシージャーが途中終了した時と同じ値を持っています。 しかし、次のような 3 つの例外があります。
  • プログラムが *NEW 活動化グループ内で実行している場合には、 プログラムが戻った時に活動化グループが削除されるので、これは当てはまらない。 その場合には、次回にプログラムを呼び出した時には、LR オンで終了した場合と同じになります。
  • ファイルを共用している場合には、ファイルの状態は、プロシージャーが途中終了した時の状態と異なることがある。
  • 同じモジュール内の別のプロシージャー間で呼び出された場合には、結果は予測できない。
LR 標識と H1 ~ H9 標識を組み合わせて、RETURN 命令 (ブランクの演算項目 2 で) または RT 標識を使用することができます。 その場合に RPG プログラム・サイクル内での、RETURN 命令、RT 標識、 および H1 ~ H9 標識に対するテスト順序に注意してください。LR 標識、 または停止標識のどれかがオンで、次の条件のどちらかが当てはまる場合には、戻りによって終了します。
  • RETURN 命令が実行された
  • RT により未終了の戻りが起こった