RDML予約キーワード
以下のキーワードが予約されています。
SERVICE_LIST
SERVICE_EXCHANGE
JSM_COMMAND組み込み関数で作業リスト引数を使用する場合、SERVICE_LISTキーワードをコマンドに含める必要があります。
SERVICE_LISTキーワードは、以下の例に示すように、JSMコマンドに渡されるリスト引数を記述する場合に使用されます。
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(255)
DEF_LIST NAME(#WRKLIST) FIELDS(#DEPTMENT,#DEPTDESC) TYPE(*WORKING)
USE BUILTIN(JSM_COMMAND) WITH_ARGS('RECEIVE HANDLER(IXML) XSL(ORDER) SERVICE_LIST(DEPTMENT,DEPTDESC)') TO_GET(#JSMSTS #JSMMSG #WRKLIST)
注:SERVICE_LISTキーワード・フィールドに接頭辞#は必要ありません。
フィールドのリストが非常に長い場合、JSMコマンド文字列のサイズ制限を超えることがあります。この場合、以下の例に示すように、インスタンスのsystemサブディレクトリにあるlist.propertiesファイルのエントリーの外部にフィールドのリストを置きます。
list.js016.receive01=DEPTMENT,DEPTDESC
USE BUILTIN(JSM_COMMAND) WITH_ARGS('RECEIVE HANDLER(IXML) XSL(ORDER) SERVICE_LIST(JS016.RECEIVE01)') TO_GET(#JSMSTS #JSMMSG #WRKLIST)
SERVICE_LISTキーワードに含めるエントリーが1つだけの場合、コマンド・パーサーは、この単一の値がプログラム・フィールドかどうかをチェックします。この値がプログラム・フィールドではない場合、値はlist.propertiesファイルで検索値として使用され、フィールド・リスト・エントリーを探します。ファンクション名にドット、さらにコマンドと順序番号を付ける(JS016.RECEIVE01)命名規則を使用することをお勧めします。これにより、list.propertiesファイルを表示するときにどのプログラムが特定のエントリーを使用しているかを簡単に特定できます。
SERVICE_EXCHANGEキーワードは、LANSAファンクション・フィールドの値と現在ロードされているJSMサービスとの交換をトリガーする場合に使用されます。このキーワードでサポートされる値は*FIELDのみです。
LANSA組み込み関数はコマンド文字列に対してスキャンを実行し、以下のパターンを検索します。
SERVICE_EXCHANGE(*FIELD)
キーワードとその値は上記の例と同じにする必要があります。すべて大文字にして、埋め込みスペースは使用しません。