以下のキーワードが予約されています。

SERVICE_LIST
SERVICE_EXCHANGE
TRIM
TRUNCATE

組み込み関数 JSM_COMMAND で作業リスト引数を使用する場合、SERVICE_LIST キーワードをコマンドに含む必要があります。

キーワード SERVICE_LIST は、以下の例に示すように、JSM コマンドに渡されるリスト引数を記述する場合に使用されます。

DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
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_LIST キーワード使用時は、SERVICE_EXCHANGE(*FIELD) が暗黙的に行われます。


SERVICE_EXCHANGEキーワードは、LANSAファンクション・フィールドの値と現在ロードされているJSMサービスとの交換を行う場合に使用されます。このキーワードでサポートされる値は*FIELDまたは*FIELDSだけです。

LANSA組み込み関数はコマンド文字列に対してスキャンを実行し、以下のパターンを検索します。

SERVICE_EXCHANGE(*FIELD)
SERVICE_EXCHANGE(*FIELDS)

キーワードとその値は上記の例と同じにする必要があります。埋め込みスペースは使用しません。

注:作業リストと関連付けられた SERVICE_LIST キーワードが使用されると、全てのフィールドが引き渡され、 SERVICE_EXCHANGE(*FIELD) または SERVICE_EXCHANGE(*FIELDS) は同じコマンドに必要ありません。

  • No labels