言語間呼び出し

別の言語で作成されたプログラムまたはプロシージャーでデータを受け渡しする時には、その 別の言語が ILE RPG と同じパラメーターの受け渡し方法および同じデータ・タイプを サポートしているかどうかを知ることが重要です。表 28 は、ILE RPG が 許可する異なるパラメーターの受け渡し方法を示し、また適用できる場合は、ILE 言語以外の 言語でコーディングする方法を示します。 この表には、比較のために OPM RPG/400(R) 用コンパイラーも含まれています。

表 28. RPG パラメーター受け渡し方式
参照による受け渡し
ILE RPG - プロトタイプ
 D  proc      PR
 D    parm            1A
 C        CALLP  proc(fld)
ILE C
void proc(char *parm);
proc(&fld);
ILE COBOL
CALL PROCEDURE "PROC" USING BY REFERENCE PARM
RPG - 非プロトタイプ
 C        CALL   'PROC'
 C        PARM                  FLD
ILE CL
 CALL PROC (&FLD)
値による受け渡し
ILE RPG - プロトタイプ
 D  proc      PR
 D    parm            1A   VALUE
 C        CALLP  proc('a')
ILE C
void proc(char parm);
proc('a');
ILE COBOL
CALL PROCEDURE "PROC" USING BY VALUE PARM
RPG - 非プロトタイプ N/A
ILE CL
N/A
読み取り専用参照による受け渡し
ILE RPG - プロトタイプ
 D  proc      PR
 D    parm            1A     CONST
 C        CALLP  proc(fld)
ILE C
void proc(const char *parm);
proc(&fld);
ILE COBOL N/A1
RPG - 非プロトタイプ N/A
ILE CL
N/A
注:
  1. 読み取り専用参照による受け渡しを COBOL の内容による受け渡しと混同しな いでください。RPG では、Fld1 を内容によって受け渡しするためには、次のとおりコーディングし ます。
              C                   PARM      Fld1          TEMP

    Fld1 は変更できないようになっていますが、TEMP は保護されていません。 パラメーターが 変更されない保証はありません。

異なる HLL によりサポートされるデータ・タイプの情報については、 適切な言語解説書を参照してください。