JSMX_BINDLST API は任意です。これを使って、後続の JSMX_COMMAND API 呼び出しで送受信できるように、リスト・エントリーを指定した接続ハンドルにリストをバインドします。
一度にバインドできるリストは 1 つだけです。JSMX_BINDLST 呼び出しを発行してから、リストを使用する JSMX_COMMAND の呼び出しを行ってください。
JSMX_BINDLST 呼び出しは永続的なものではありません。つまり、有効なのは次の JSMX_COMMAND 呼び出しが完了するまでです。
サービス・コマンドでバインドされたリストが必要な場合、JSMX_BINDLSTを再度呼び出してから以降のJSMX_COMMAND API呼び出しを行ってください(バインドされたフィールドも同様です。「JSMX_BINDFLD」を参照してください)。
指定した接続ハンドルからリストのバインドを解除するには、JSMMETA または JSMLIST パラメータに対して NULL 値 (RPG では *OMIT を使用) を渡すか、JSMMETASIZE または JSMLISTSIZE パラメータに対してゼロ値を渡します。
JSMX_BINDLST API はJSMX_BINDFLD API とは独立して機能します。つまり、非定期なフィールドのセット (JSMX_BINDFLD を使用) またはリスト (JSMX_BINDLST を使用)、あるいはこの両方をバインドできます。
このどちらかあるいは両方を使用する必要があるかどうか、またはどちらも使用しなくて良いかどうかは、使用しているサービスとサービス・コマンドのファンクションや要件によって異なります。
パラメータ
番号 | シンボル名 | 説明 |
1 | JSMHDL | 入力、文字4 JSMX_OPEN呼び出しは、この接続に割り当てる接続ハンドルを返します。 このハンドルは以降のJSMX_COMMANDやその他のAPI呼び出しで使用され、呼び出しが適用される接続を特定します。 |
2 | JSMMETA | 入力、構造 JSMLISTで提供されるリストの各エントリーのフィールド構造に対応する、ゼロ個以上のフィールドのメタデータ定義を含むメモリー・ブロックを指定します。 各メタデータ・エントリーは以下のようにフォーマットする必要があります。 位置 説明 51 データ・タイプ (1) 52 – 58 フィールド・サイズ (7) 59 – 60 フィールド小数点以下の桁数 (2) |
3 | JSMMETASIZE | 入力、整数10 JSMMETAパラメータで提供されるメモリー・ブロックのサイズをバイト単位で指定します。 60の倍数にしてください(60は1つのメタデータ・エントリーのサイズ)。 |
4 | JSMLIST | 入力/出力、構造 JSMMETAパラメータで記述されるリストを含むメモリー・ブロックを指定します。 サービスやサービス・コマンドに応じて、リスト・エントリーをサービスへの入力またはサービスからの出力(あるいはその両方)として使用します。 サービスからの出力として使用する場合、JSMはこのパラメータで特定されたメモリーに出力エントリーを書き込みます。 RPG プログラムでは、通常、リストは複数のオカレンス・データ構造として実装されます。 |
5 | JSMENTRYSIZE | 入力、整数10 各リスト・エントリーのサイズを指定します。 通常、JSMMETAパラメータで記述されるフィールドのバイト・サイズの合計と等しくする必要があります。 |
6 | JSMENTRYCOUNT | 入力/出力、整数10 エントリーの場合は、JSMLISTパラメータで特定されるリスト内のクライアント・アプリケーションで提供されるエントリー数を指定します。 クライアント・アプリケーションでサービス・コマンドに対するリスト・エントリーを指定しない場合、アプリケーションによってゼロが指定されます。 返される場合は、サービス・コマンドが通常指定されたリストにエントリーを書き込むと、書き込まれたエントリーの数(JSMENTRYMAXパラメータで指定された最大数まで)でこのフィールドを更新します。 |
7 | JSMENTRYMAX | 入力、整数10 JSMLISTパラメータで指定されたリストに保持できるリスト・エントリーの最大数を指定します。 |
8 | JSMSTS | 出力、文字(変数、推奨20) JSMサーバーは、このフィールドの操作の状態を返します。 クライアント・アプリケーションはこのフィールドをテストして、操作が成功したかどうかを判断できます。 多くの場合、状態が 'OK' であれば成功したことになります。 |
9 | JSMMSG | 出力、文字(変数、推奨512) JSMサーバーはこのフィールドの操作に関するメッセージを返します。例えば、完了メッセージや、操作が失敗した場合のエラー・メッセージなどです。一部のサービス・コマンドはこのフィールドのサービスに関連するデータを返します。 |