CALL を使用して、VS COBOL II、COBOL for MVS & VM、COBOL for OS/390 & VM、および Enterprise COBOL のプログラムとの間で呼び出しを行うことができます。 しかし、これらのプログラムから OS/VS COBOL プログラムを呼び出したり、OS/VS COBOL からこれらのプログラムを呼び出す場合には、CALL ステートメントを使用することはできません。代わりに、EXEC CICS LINK を使用してください。
分離型の CICS 変換プログラムまたは組み込みの CICS 変換プログラムで処理された、個別にコンパイルされた COBOL プログラムを呼び出す場合は、DFHEIBLK および DFHCOMMAREA を、CALL ステートメントの 1 番目と 2 番目のパラメーターとして渡す必要があります。
分離型の CICS 変換プログラムまたは組み込みの CICS 変換プログラムによって処理される呼び出し先プログラムは、言語に 関して CICS がサポートする任意の関数を含むことができます。
CICS のもとで実行する場合、COBOL 動的呼び出しを使用できます。 COBOL プログラムが、分離型の CICS 変換プログラムまたは組み込みの CICS 変換プログラムによって処理された場合、または EXEC SQL ステートメントを含んでいる場合、NODYNAM コンパイラー・オプションが必要です。この場合、CALL identifier を NODYNAM コンパイラー・オプションと一緒に使用すると、プログラムを動的に呼び出すことができます。 COBOL プログラムが EXEC SQL ステートメントを含んでおらず、また分離型の CICS 変換プログラムや組み込みの CICS 変換プログラムによって処理されていない場合、NODYNAM コンパイラー・オプションを指定してコンパイルする必要はありません。この場合、DYNAM コンパイラー・オプションと一緒に CALL literal を使用するか、あるいは CALL identifier を使用して、動的にプログラムを呼び出すことができます。
動的に呼び出されるプログラムは、CICS 自動インストールを使用していない場合は、CICS プログラム処理テーブル (PPT) に定義されていなければなりません。CICS 環境では、 COBOL プログラムは CICS PROGRAM 定義に RELOAD=YES オプションを コーディングするサブプログラムに対する動的呼び出しをサポートしません。 RELOAD=YES で定義されたプログラムに対する動的呼び出しは、ストレージ不足を 生じさせる可能性があります。 COBOL から動的に呼び出すプログラムには、RELOAD=NO オプションを使用してください。
他の高水準言語との言語間通信 (ILC) がサポートされます。 ILC がサポートされていない場合は、代わりに CICS の LINK、XCTL、および RETURN を使用できます。
次の表に、COBOL プログラムとアセンブラー言語プログラム間の呼び出し関係を示しています。この表では、「言語環境プログラム プログラミング・ガイド」で解説されているインターフェースに準拠しているアセンブラー言語 プログラムを言語環境プログラム準拠 アセンブラー・プログラムと呼んでいます。このインターフェースに準拠していないアセンブラー言語プログラムは、非 LE 準拠 アセンブラー・プログラムと呼んでいます。
| COBOL プログラムとアセンブラー・プログラム間の呼び出し | 言語環境プログラム準拠アセンブラー・プログラム | 非言語環境プログラム準拠アセンブラー・プログラム |
|---|---|---|
| Enterprise COBOL プログラムからアセンブラー・プログラムを呼び出せるか | はい | はい |
| アセンブラー・プログラムから Enterprise COBOL を呼び出せるか | はい (ただし、アセンブラー・プログラムがメインプログラムでない場合) | いいえ |
ネストされたプログラムのコーディング: 組み込みの CICS 変換プログラムを使用してコンパイルする場合、この変換プログラムにより、GLOBAL 節と一緒 に DFHEIBLK および DFHCOMMAREA 制御ブロックが最外部プログラムに生成されます。 したがって、ネストされたプログラムをコーディングするときは、ネストされたプログラムの呼び出しに対する引数として、これらの制御ブロックを渡す必要がありません。
ネストされたプログラムをコーディングし、分離型の CICS 変換プログラムを使用する予定である場合、EXEC コマンドまたは EXEC インターフェース・ブロック (EIB) への参照を含んでいるネストされたプログラムへのパラメーターとして、DFHEIBLK および DFHCOMMAREA を渡してください。 制御階層内で、このようなネストされたプログラムとその最上位のプログラムとの間にあるプログラムにも、同じパラメーターを渡す必要があります。
関連概念
組み込みの CICS 変換プログラム
関連タスク
分離型の CICS 変換プログラムの使用
DYNAM または NODYNAM コンパイラー・オプションの選択
プログラム呼び出し時のエラーの処理
言語環境プログラム ILC (言語間通信) アプリケーションの作成 (CICS のもとでの ILC)
CICS External Interfaces Guide
言語環境プログラム プログラミング・ガイド
関連参照
DYNAM