BIND

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)_COMMANDs

     SERVICE_LOAD

          READ

          BIND

          GET (1 回以上)

          CLOSE

     SERVICE_UNLOAD

JSM(X)_CLOSE

一方、JSON ファイルに書き込む必要があるアプリケーションは、通常、以下のコマンドを発行します。

JSM(X)_OPENJSM(X)_COMMANDs

     SERVICE_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)