BIND コマンドは、指定したサービス・コードを、ロードされたインバウンド・ドキュメントにバインドしたり、新しい空のアウトバウンド・ドキュメントを作成したりします。
コマンドの一部として指定されたサービスは、LANSA Integrator スタジオの JSON バインディング・ウィザードを使用して作成されます。
バインドのタイプをアウトバウンドまたはインバウンドとして指定する必要があります。通常、READはインバウンド・タイプに、WRITEはアウトバウンド・タイプに関連付けられます。
必須
BIND --------- SERVICE -------- 値 -------------------------->
>-- TYPE ----------- *INBOUND ----------------------->
*OUTBOUND
任意
>-- BINDTRACE ------ *NO ----------------------------|
*YES
キーワード
SERVICE |
このキーワードは、service.「値」とservice.archive.「値」による JSONBindFileService プロパティ検索で使用され、使用するバインディング・クラスやバインディング jar ファイルを検索します。ここでの値は、JSON バインディング・ウィザードで定義された、対応するサービス・クラス名になります。 このキーワードは必須です。 |
TYPE |
このキーワードは、実行するバインドのタイプを指定する場合に使用されます。これは、既存ファイルのREADと新しいファイルのWRITEのどちらを実行するかによって異なります。 以下の2つの値が可能です。 *INBOUND - この値を使用する場合、指定のサービス・コードが、先行するREADコマンドの一部としてロードされたインバウンド・ドキュメントにバインドされます。 *OUTBOUND - この値を使用する場合、新しい空のアウトバウンド・ドキュメントが作成されます。 このキーワードは必須です。 |
BINDTRACE |
このキーワードは、インバウンド・バインド結果のトレースを有効にする場合に使用されます。 以下の2つのオプションがあります。 *YES - トレースを有効にします。 *NO - トレースを無効にします。 このキーワードは任意です。 |
コメント/警告
コード内での BIND コマンドの位置は、既存の JSON ドキュメントからデータを読み込むか、新しい JSON ドキュメントを作成するかによって異なります。既存の JSON ドキュメントからデータを読み込む場合、コードの流れは以下のようになります。
JSM(X)_OPENJSM(X)_COMMANDsSERVICE_LOAD
READ
BIND
GET (1 回以上)
CLOSE
SERVICE_UNLOAD
JSM(X)_CLOSE一方、JSON ファイルに書き込む必要があるアプリケーションは、通常、以下のコマンドを発行します。
JSM(X)_OPENJSM(X)_COMMANDsSERVICE_LOAD
BIND
SET (1 回以上)
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)