LIST

LANSA Integrator

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