LIST
LISTコマンドは、ディレクトリ内の絶対ファイル名の作業リストを返します。
ファイル名を返す作業リストは、絶対ファイル名を入れるために十分な単一フィールド長で定義する必要があります。
DIRキーワードを指定せず、現在のディレクトリが他のコマンドで変更されていない場合、省略値のJSMインスタンス・ディレクトリが検索されます。サブディレクトリは検索されません。
EXTキーワードを指定しない場合、ディレクトリ内の全ファイルが省略値で検索されます。
LIST ------------- DIR ---------ディレクトリ・パス---------------->
>-- EXT ---------ファイル拡張子---------------->
>-- SORT -------- *NONE ------------------------->
*NAME
*MODIFIED
>-- REVERSE ----- *YES --------------------------|
*NO
キーワード
DIR |
検索する相対ディレクトリ・パスまたは絶対ディレクトリ・パスを指定します。サブディレクトリは検索されません。 |
EXT |
指定したファイル拡張子のファイルのみを選択します。フィルタリング一致では大文字/小文字を区別せず、接頭辞「.」は必要ありません。 例: LIST EXT(CSV) |
SORT |
任意のキーワードSORTにより、ファイル名または更新日時によるソートが可能です。 省略値は*NONEです。 |
REVERSE |
任意のキーワードREVERSEを使って、ソートを逆順にすることができます。 省略値は*NOです。 |
例
RDML
これは、/csvdataディレクトリ内で拡張子がCSVのファイル名のリストを返します。
DEF_LIST NAME(#WRKLIST) FIELDS(#PATH) TYPE(*WORKING)
USE BUILTIN(JSM_COMMAND) WITH_ARGS('LIST DIR(/CSVDATA) EXT(CSV) SERVICE_LIST(PATH)') TO_GET(#JSMSTS #JSMMSG #WRKLST)
あるいは以下も同様です。
DEF_LIST NAME(#WRKLIST) FIELDS(#PATH) TYPE(*WORKING)
USE BUILTIN(JSM_COMMAND) WITH_ARGS('SET DIR(/CSVDATA)') TO_GET(#JSMSTS #JSMMSG)
USE BUILTIN(JSM_COMMAND) WITH_ARGS('LIST EXT(CSV) SERVICE_LIST(PATH)') TO_GET(#JSMSTS #JSMMSG #WRKLST)
RDMLX
Def_list name(#wrklist) fields(#path) type(*working)
use builtin(jsmx_command) with_args(#jsmhdle 'list dir(/csvdata) ext(csv)') to_get(#jsmsts #jsmmsg #wrklist)
ILE RPG
* NB: This MUST match the structure xml provided to the JSM Server!
d svlist ds occurs(svocur)
d svfilnam 255a
d svocur c const(9999)
d svsize c const(%size(svlist))
d svcount s 9p 0 inz(0)
c eval jsmcmd = 'LIST'
c + ' SERVICE_STRUCTURE(SV.SVFileList)'
c + ' OCCURS(' + %char(svocur) + ')'
c + ' SIZE(' + %char(svsize) + ')'
c eval %occur(svlist) = 1
c eval bytelength = svocur * svsize
c callp p_jsmcmdx(jsmcmd:svlist:bytelength:
c jsmsts:jsmmsg)
c if jsmsts = 'OK'
c callp p_jsmbytelngth(bytelength)
c if (bytelength > 0)
c and (bytelength <= svocur * svsize)
c callp p_jsmbyterecv(svlist)
c eval svcount = bytelength / svsize
c endif
c endif