| コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
|---|---|---|---|---|---|---|
| GOTO | ラベル | |||||
サイクル・メイン・プロシージャーのサブルーチン内の GOTO は、同じサブルーチン、明細演算、または合計演算の中の TAG に出すことができます。 サブプロシージャーのサブ ルーチン内の GOTO は、同じサブルーチン内またはサブプロシージャーの本体 内の TAG に出すことができます。
RPG IV 論理サイクルの一部から別の部分に分岐すると、無限ループに入ることがあります。 ユーザーの責任で、ユーザー・プログラムの論理から好ま しくない結果が生じることのないようにしてください。
演算項目 2 には、プログラムの分岐先のラベルを入れなければなりません。 このラベルは、TAG または ENDSR 命令の演算項目 1 に入れます。 ラベルは固有 の記号名でなければなりません。
詳細については、分岐命令を参照してください。
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+....
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
*
* If indicator 10, 15, or 20 is on, the program branches to
* the TAG label specified in the GOTO operations.
* A branch within detail calculations.
C 10 GOTO RTN1
*
* A branch from detail to total calculations.
C 15 GOTO RTN2
*
C RTN1 TAG
*
C :
C :
C:
C 20 GOTO END
*
C :
C :
C :
C END TAG
* A branch within total calculations.
CL1 GOTO RTN2
CL1 :
CL1 RTN2 TAG