Enterprise COBOL では、
VS COBOL II、
IBM COBOL、
Enterprise COBOL、アセンブラー、C、および PL/I プログラムの呼び出しに静的および動的 CALL ステートメントを使用することができます。ただし、
言語環境プログラムは
Enterprise COBOL プログラムと
OS/VS COBOL プログラム間の静的または動的 CALL ステートメントをサポートしません (引き続き、EXEC CICS LINK によって
OS/VS COBOL サブルーチンにアクセスしてください)。
- 一般的な考慮事項
- Enterprise COBOL プログラムが CICS 変換プログラム (単独または組み込みのどちらの場合でも) によって処理された場合は、そのプログラムの呼び出し元は CICS EXEC インターフェース・ブロック (DFHEIBLK) および連絡域 (DFHCOMMAREA) を CALL ステートメントの最初の 2 つのパラメーターとして渡す必要があります。Enterprise COBOL プログラムが CICS 変換プログラムによって処理されなかった場合は、DFHEIBLK および DFHCOMMAREA を渡すことが必要なのは、呼び出し先サブプログラムでそれらが明示的にコーディングされている場合だけです。
CICS コマンド変換プロセスは、これらのパラメーターを、サブプログラム内の対応する PROCEDURE DIVISION USING ステートメントの最初の 2 つのパラメーターとして自動的に挿入します。
- 静的 CALL ステートメント
- Enterprise COBOL では、COBOL CALL ステートメントを使用して、VS COBOL II、IBM COBOL、および Enterprise COBOL とアセンブラー・プログラムを静的に呼び出すことができます。どのような場合に静的 CALL ステートメントがサポートされるかの詳細については、表 1 を参照してください。さらに、言語環境プログラムは、CICS での実行時に PL/I と COBOL 間および C と COBOL 間の ILC を
サポートします。詳細については、「言語環境プログラム ILC (言語間通信) アプリケーションの作成」を参照してください。
OS/VS COBOL では、複数の COBOL プログラムが別々にコンパイルされ、その後で 1 つに
リンク・エディットされる場合、最初のプログラムだけが CICS ステートメントを含むことができます。Enterprise COBOL では、この制限が取り除かれたため、アプリケーション・プログラムの
設計をより柔軟に行うことができます。
- 動的 CALL ステートメント
- Enterprise COBOL では、COBOL CALL ステートメントを使用して、VS COBOL II、IBM COBOL、および Enterprise COBOL とアセンブラー・プログラムを動的に呼び出すことができます。どのような場合に動的 CALL ステートメントがサポートされるかの詳細については、表 1 を参照してください。たとえば、動的 CALL ステートメントのターゲットであるプログラムには、CICS ステートメントを含めることができます。さらに、言語環境プログラムは、CICS での実行時に PL/I と COBOL 間および C と COBOL 間の ILC を
サポートします。詳細については、「言語環境プログラム ILC (言語間通信) アプリケーションの作成」を参照してください。
CICS のもとで実行される Enterprise COBOL プログラムの場合、CALL ステートメントの ON EXCEPTION/OVERFLOW 文節を使用することができます。