CALL (プログラムの呼び出し)

自由形式構文 (許可されていない - CALLP 命令コードを使用)
コード 演算項目 1 演算項目 2 結果フィールド 標識
CALL (E) プログラム名 PLIST 名 _ ER LR

CALL 命令では、演算項目 2 に指定されたプログラムに制御が渡されます。

演算項目 2 には、呼び出されるプログラムの名前を指定する文字項目を入れな ければなりません。

結果フィールドには、次のいずれかによってパラメーターを指定します。

71 桁目と 72 桁目はブランクでなければなりません。

CALL 例外 (プログラム状況コードが 202、211、 または 231) を処理するために、命令コード拡張 'E' またはエラー標識 ER を指定 できますが、両方を指定することはできません。 エラー処理の詳細について は、プログラム例外/エラーを参照してください。

呼び出し先プログラムが LR 標識をオンにして戻される RPG プログラムまたは メイン・プロシージャーである場合に、オンに設定される有効な 結果の標識を 75 桁目と 76 桁目に指定することができます。

注:
スレッド・セーフ環境内では、LR 標識は使用できません。

呼び出し命令の詳細については、呼び出し命令を参照してください。

図 253. CALL 命令
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+....
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
 *  The CALL operation calls PROGA and allows PROGA to access
 *  FieldA and FieldB, defined elsewhere. PROGA is run using the content
 *  of FieldA and FieldB.  When PROGA has completed, control
 *  returns to the statement following the last PARM statement.
 *
 *
C                   CALL      'PROGA'
C                   PARM                    FieldA
C                   PARM                    FieldB