リモート プロシージャ コールの発行

Mainframe Call Generator 機能を使用すると、COBOL プログラムからメインフレームで実行されている COBOL プログラムへのリモート プロシージャ コールを発行できます。

RPC 要求の単独のソースとしてライブラリまたは連結を指定するには、MFA 開始タスク JCL を変更する必要があります。このライブラリは、そのようなモジュールを検索する唯一のリポジトリとなります。これは標準の認証されていないロード ライブラリです。サーバーの初期化時に、Mainframe Access は予約されている DDNAME = MCGLIB を開こうとします。このライブラリが見つからない場合、Mainframe Call Generator サービスは利用できません。使用するモジュールをこのライブラリまたはライブラリ連結にコピーするかリンク編集を行う必要があります。

     //MCGLIB  DD DSN=your.MCGLIB.LOADLIB,DISP=SHR
     //        DD DSN=your.other.LOADLIB,DISP=SHR
 

さらに、COBOL プログラムの呼び出しや DB2 プランへのアクセスを開始タスクから行うための一定の前提条件があります。次のモジュールが通常の STEPLIB、JOBLIB、SYS1.LINKLIB の検索順序に含まれている必要があります。

モジュール 説明
IGZERRE IBM 言語環境サポート
DSNRLI DB2 ユニバーサル RRSAF インターフェイス

これらのモジュールをロードできない場合、Mainframe Call Generator サービスは利用できません。

メインフレームで呼び出すプログラムからメインフレームの他のプログラムを呼び出す場合、呼び出されるプログラムを含むプログラム ライブラリが STEPLIB、JOBLIB、または LNKLST ライブラリの標準の検索で見つかるようにする必要があります。たとえば、PC の PROGA.CBL からメインフレームの PROGB を呼び出し、PROGB から PROG1 および PROG2 を呼び出す場合、PROG1 および PROG2 が TEST.LOADLIB にあるとすると、TEST.LOADLIB が STEPLIB 連結に含まれている必要があります。

メインフレームの COBOL プログラムには、埋め込み SQL 文が含まれている場合があります。この場合、Mainframe Access の STEPLIB 連結に、目的のバージョンの DB2 サポートに対応する DB2 ランタイム モジュール (DSNRLI) が含まれている必要があります。RRSAF ランタイム機能は、指定された計画がバインドされているかどうかを検証します。バインド エラーが見つかると、メインフレームの SYSLOG に要約が記録されます。そのため、これが正しく調整されていることを確認する必要があります。

埋め込み SQL 文を含む COBOL プログラムは、DYNAMIC オプションを使用してコンパイルする必要があります。これにより、DB2 アクセス用のいずれの IBM ミドルウェアもモジュールに静的にリンクされることがなくなり、DB2 アクセス用の元の接続モードを Mainframe Access で変更して RRSAF を呼び出せるようになります。