RPG クライアントが Java Service Manager サービスとのやりとりを完全に行うには、7 つの API 呼び出しが必要です。
これらの API では、同じジョブ内での複数の接続が可能です。
3.1.1 JSMX_BEGIN |
サービス・プログラムの内部状態を初期化または再初期化する |
3.1.2 JSMX_OPEN |
サービスを開く |
3.1.3 JSMX_BINDFLD |
プログラム・フィールドを接続ハンドルにバインドする |
3.1.4 JSMX_BINDLST |
プログラム・リストを接続ハンドルにバインドする |
3.1.5 JSMX_COMMAND |
コマンドを送信する |
3.1.6 JSMX_CLOSE |
サービスを終了する |
3.1.7 JSMX_END |
サービス・プログラムの内部状態を終了および再初期化する |
RPG 開発者に必要なのは、JSM サービスで提供されるコマンドの使い方を理解することだけです。
RPG プログラム全体の構造は同じです。
プログラムは以下の操作を実行します。
IBM i では、RPG プログラムはサービス・プログラム JSMRPGSRV にバインドする必要があり、RPG プログラムを配布する場合は、このサービス・プログラムも同様に配布する必要があります。このプログラムはまた JSMCLTDTA データ域と JSMMSGF メッセージ・ファイルへの依存性があります。
ソース・コード例とプログラムの作成方法は、JSM ライブラリ (LANSA Integrator のインストール時に指定) のファイル QRPGLESRC および QCLSRC にあります。
サービス・プログラムは IBM の CEEGSI API を使って文字入力の長さを決定するため、サービス・プログラムのほとんどの API 文字列パラメータはどのサイズにもできます。接続ハンドル・パラメータの文字長は常に 4 です。
フィールドとリスト交換の概要
コマンド |
フィールド無し |
リスト無し |
コマンド + JSMX_BINDFLD |
フィールド |
リスト無し |
コマンド + JSMX_BINDLST |
フィールド無し |
リスト |
コマンド + JSMX_BINDFLD+JSMX_BINDLST |
フィールド |
リスト |