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