BIND
BINDコマンドは、指定したサービス・コードを、ロードされたインバウンド・ドキュメントにバインドしたり、新しい空のアウトバウンド・ドキュメントを作成したりします。
コマンドの一部として指定されたサービスは、LANSA IntegratorスタジオのXMLバインディングウィザードを使用して作成されます。
バインドのタイプをアウトバウンドまたはインバウンドとして指定する必要があります。通常、READはインバウンド・タイプに、WRITEはアウトバウンド・タイプに関連付けられます。
必須
BIND --------- SERVICE --------値-------------------------->
>-- TYPE ----------- *INBOUND ----------------------->
*OUTBOUND
任意
>-- BINDTRACE ------ *NO ----------------------------|
*YES
キーワード
SERVICE |
このキーワードは、service.「値」とservice.archive.「値」によるXMLBindFileServiceプロパティ検索で使用され、使用するバインディング・クラスやバインディングjarファイルを検索します。ここでの値は、XMLバインディングウィザードで定義された、対応するサービス・クラス名になります。 このキーワードは必須です。 |
TYPE |
このキーワードは、実行するバインドのタイプを指定する場合に使用されます。これは、既存ファイルのREADと新しいファイルのWRITEのどちらを実行するかによって異なります。 以下の2つの値が可能です。 · *INBOUND - この値を使用する場合、指定のサービス・コードが、先行するREADコマンドの一部としてロードされたインバウンド・ドキュメントにバインドされます。 · *OUTBOUND - この値を使用する場合、新しい空のアウトバウンド・ドキュメントが作成されます。 このキーワードは必須です。 |
BINDTRACE |
このキーワードは、インバウンド・バインド結果のトレースを有効にする場合に使用されます。 以下の2つのオプションがあります。 · *YES - トレースを有効にします。 · *NO - トレースを無効にします。 · このキーワードは任意です。 |
コメント/警告
コード内でのBINDコマンドの位置は、既存のXMLドキュメントからデータを読み込むか、新しいXMLドキュメントを作成するかによって異なります。 既存のXMLドキュメントからデータを読み込む場合、コードの流れは以下のようになります。
JSM(X)_OPEN
JSM(X)_COMMAND
SERVICE_LOAD
READ
BIND
GET (複数回)
CLOSE
SERVICE_UNLOAD
JSM(X)_CLOSE
一方、XMLドキュメントに書き込む必要があるアプリケーションは、通常、以下のコマンドを発行します。
JSM(X)_OPEN
JSM(X)_COMMAND
SERVICE_LOAD
BIND
SET (複数回)
WRITE
CLOSE
SERVICE_UNLOAD
JSM(X)_CLOSE
例
RDML
* Define JSM fields
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(020)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
* Bind
CHANGE FIELD(#JSMCMD) TO('BIND SERVICE(INBOUNDORDER) TYPE(*INBOUND) BINDTRACE(*YES)')
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)
RDMLX
* Define the fields used by the JSM Commands
Define FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(020)
Define FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
Define FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
Define FIELD(#JSMHND) TYPE(*CHAR) LENGTH(4)
#JSMCMD := 'BIND SERVICE(INBOUNDORDER) TYPE(*INBOUND) BINDTRACE(*YES)'
Use Builtin(JSMX_COMMAND) With_Args(#JSMHND #JSMCMD) To_Get(#JSMSTS #JSMMSG)