3.4.3 JSMX_BINDFLD
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値(ILE 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つのフィールド・メタデータ定義を指定する必要があります。 各メタデータ・エントリーは以下のようにフォーマットする必要があります。 位置 説明
1 - 50 フィールドのシンボル名(50)
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サーバーはこのフィールドの操作に関するメッセージを返します。例えば、完了メッセージや、操作が失敗した場合のエラー・メッセージなどです。 |