Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

また、RDML作業リストの最大幅が256文字の例もあります。文字幅300の結果セットが予想される場合、この結果セットをEXECUTEコマンドの一部として作業リストに返すことはできません。この場合、READコマンドを使用して、管理可能なチャンクでレコードを取り出します。必要に応じて、複数のREADを発行し、文字幅が256未満のリストに結果を配置できます。

構文:

コマンド

キーワード

開発者用メモ

READ



SCROLL

*YES

任意。次の読み込み用に新しい行と古い行のどちらを選択するかを指定します。
このキーワードの詳細については、「コメント/警告」を参照してください。
*YES にすると、リスト引数にデータが埋められ、前方にスクロールします。 デフォルト値です。


*NO

リスト引数にデータが埋められますが、前方にはスクロールしません。

COLUMN_LIST

任意。結果セットに存在するコンマで区切られた列リスト。
列の順番は作業リストのフィールドと一致する必要があります。

コメント/警告

READコマンドは、SET PARAMETER(*MAP)コマンドで提供されるフィールドと列のマッピングを使用して現在の結果セットを読み込みます。作業リストのフィールドは列にマッピングされ、これらの列のデータは作業リストのフィールドにマッピングされます。

...

前方へスクロールするレコードの数は、作業リストのエントリー数として定義される数になります。

リストと変数

このコマンドでは、取得された値が返される際の作業リストを指定する必要があります。作業リストに定義された列は、この特定の READ で取得する列になります。これらのフィールドと、リモート・テーブルの実際のフィールドとの関係は、SET PARAMETER(*MAP)コマンドで設定されます。

この機能については以下の例を参照してください。

SQLServiceサービスのSET、EXECUTE、READの各コマンドは、それぞれ緊密に関連しています。

RDML

 * JSM コマンドおよびメッセージ・フィールドの定義
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(020)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)

...

 *マッピングの定義
CHANGE FIELD(#FIELD) TO(COL1)
CHANGE FIELD(#COLUMN) TO(ID)
ADD_ENTRY TO_LIST(#MAPLST)
CHANGE FIELD(#FIELD) TO(COL2)
CHANGE FIELD(#COLUMN) TO(NAME)
ADD_ENTRY TO_LIST(#MAPLST)
CHANGE FIELD(#FIELD) TO(COL3)
CHANGE FIELD(#COLUMN) TO(AGE)
ADD_ENTRY TO_LIST(#MAPLST)
CHANGE FIELD(#FIELD) TO(COL4)
CHANGE FIELD(#COLUMN) TO(SALARY)
ADD_ENTRY TO_LIST(#MAPLST)
 
CHANGE FIELD(#JSMCMD) TO('SET PARAMETER(*MAP) SERVICE_LIST(FIELD,COLUMN)')
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #MAPLST)
 
CHANGE FIELD(#JSMCMD) TO('EXECUTE QUERY(SELECT ID,NAME,AGE,SALARY FROM TBLNAME)')
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('READ SERVICE_LIST(COL1,COL3) SCROLL(*NO)') TO_GET(#JSMSTS #JSMMSG #WRKLST1)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('READ SERVICE_LIST(COL1,COL2,COL4)') TO_GET(#JSMSTS #JSMMSG #WRKLST2)


RDMLX

 * JSM コマンドおよびメッセージ・フィールドの定義
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)

...