LIST
LISTコマンドは、指定したディレクトリ内で見つかったファイル名のリストを返します。
このコマンドは、多くのXMLドキュメントを処理する必要がある場合に便利です。このコマンドを使用して、特定のディレクトリに配置されているすべてのドキュメントを作業リストに入れ、このリストで機能するSELECT_LISTでREAD、BIND、GETコマンドを配置します。
LIST ------------- DIR --------- ディレクトリ・パス ---------------->
>-- EXT --------- ファイル拡張子 ---------------->
>-- SORT -------- *NONE ------------------------->
*NAME
*MODIFIED
>-- REVERSE ----- *YES --------------------------|
*NO
キーワード
DIR |
このキーワードは、検索対象のディレクトリを指定する場合に使用されます。 パスの区切り文字にはフォワード・スラッシュを使用し、DOSドライブ指定子を使用しないことをお勧めします。 パスの形式は以下のようにします。 Windowsの場合、以下のように指定できます。 · 絶対パス · 相対パス IBM i の場合、以下のように指定できます。 · 絶対パス · 相対パス このキーワードは任意です。 |
EXT |
このキーワードは、ファイル拡張子に基づいて返されるリストをフィルタリングする場合に使用されます。 フィルタリング照合は大文字/小文字を区別しません。 このキーワードは任意です。 |
SORT |
この任意のキーワードは、ファイルをファイル名または更新日時でソートします。 省略値は*NONEです。 |
REVERSE |
この任意のキーワードは、ソートの順序を逆にします。 省略値は*NOです。 |
コメント/警告
DIR値を指定しない場合、JSMインスタンス・ディレクトリからファイルのリストが自動的に返されます。
リストと変数
基準のファイル・パスを受信するには、このキーワードに1つのフィールドの作業リストが必要です。これを有効にするには、以下の操作を実行する必要があります。
1. 返されたファイルのリストを入れる1つのフィールドの作業リストを定義します。フィールドには、基準のフル・パスとファイル名がすべて入るように十分な長さが必要です。
2. LISTコマンドでSERVICE_LISTキーワードを使用します。サービスのリスト値には、「#」を使用せずに作業リストに定義された単一フィールドの名前を入れる必要があります。
3. JSM_COMMAND組み込み関数のTO_GET部分に、上記で定義された作業リストの名前を入れます。
例
RDML
* 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 to hold file names
DEFINE FIELD(#FILENAME) TYPE(*CHAR) LENGTH(250)
DEF_LIST NAME(#FILELSTW) FIELDS(#FILENAME) COUNTER(#LISTCOUNT) TYPE(*WORKING)
#JSMCMD := 'LIST DIR(NEWORDERS) SERVICE_LIST(FILENAME) EXT(XML)'
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #FILELSTW)
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)
* Define field to hold file names
Define Field(#FILENAME) Type(*CHAR) Length(250)
Def_List Name(#FILELSTW) Fields(#FILENAME) Counter(#LISTCOUNT) Type(*WORKING)
#JSMCMD := 'LIST DIR(NEWORDERS) SERVICE_LIST(FILENAME) EXT(XML)'
Use Builtin(JSMX_COMMAND) With_Args(#JSMHND #JSMCMD) To_Get(#JSMSTS #JSMMSG #FILELSTW)