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 プログラム全体の構造は同じです。

プログラムは以下の操作を実行します。

  • API インターフェース使用を開始する
  • Java Service Manager への接続を開く
  • サービスを読み込むするコマンドを発行する
  • サービスでサポートされるコマンドを実行する
  • サービスをアンロードするコマンドを発行する
  • Java Service Manager への接続を閉じる
  • API インターフェースの使用を終了する

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

フィールド

リスト

 
 

  • No labels