LIST

LANSA Integrator

LIST


LISTコマンドは、指定した出力待ち行列からスプール・ファイルのリストを取得する場合に使用されます。

 

                                                           必須

 

 LIST ---- LIBRARY ------ライブラリ名----- ---------------------->

 

       > -- QUEUE --------出力待ち行列--------------------------->

 

                                                           任意

 

       >-- USER --------- *ALL ----------------------------------->

                             ユーザーID

 

       >-- USERDATA ----- *ALL ----------------------------------->

                             ユーザー・データ

 

       >-- FORMTYPE ----- *ALL -----------------------------------|

                            フォーム・タイプ

 

キーワード

LIBRARY

IBM i の有効なライブラリ名を指定する必要があります。

QUEUE

IBM i の有効な出力待ち行列を指定する必要があります。

SERVICE_LIST

RDMLクライアントの場合のみ必須です。

スプール・ファイル情報を取り出すには、LISTコマンドに6つのフィールドの作業リストが必要 です。

フィールドはどのような名前とサイズにもなり、重要なフィールドの順序になります。 SERVICE_LISTフィールドの順序、サイズ、タイプは、リターン・キーワードに含まれるDEF_LISTに定義されたフィールドと一致しなくては なりません。

NAME       スプール・ファイルの名前

NUMBER     指定したファイルのスプールされたファイル番号

JOBNAME    スプールされたファイルを作成したジョブの名前

JOBUSER    スプールされたファイルを作成したユーザーの名前

JOBNUMBER  システム内のジョブ の番号

STATUS     スプール・ファイルのステータス

詳細については、該当するJSMクライアントの予約キーワードを参照してください。

USER

このUSERに一致するJOBUSERのスプール・ファイルのみが返されます。

IBM i の有効なユーザーIDまたは*ALLにします。

USERDATA

指定したUSERDATAに一致するスプール・ファイルのみが返されます。

省略値は*ALLです。

FORMTYPE

指定したFORMTYPEに一致するスプール・ファイルのみが返されます。

IBM i の有効なスプール・ファイルFORMTYPE (*STDなど)または*ALLにします。

 

コメント/警告

返されるスプール・ファイルの量を制限するには、USER、USERDATA、FORMTYPEの各フィルターを使用します。

RDML

RDMLを使用する場合、作業リストの各列が返されるように適切なフィールドを提供するには、SERVICE_LISTキーワードが必要です。

 

DEF_LIST NAME(#SPOOLLST) FIELDS(#FLENAM #FLENUM #JOBNAME #JOBUSER #JOBNUMBER #SPLFILSTS) COUNTER(#LISTCOUNT) TYPE(*WORKING) ENTRYS(0009999)

USE BUILTIN(TCONCAT) WITH_ARGS('LIST LIBRARY(' #JSMLIB ') QUEUE(' #JSMOUTQ ') USER(') TO_GET(#JSMCMD)

 

USE BUILTIN(TCONCAT) WITH_ARGS('LIST LIBRARY(' #JSMLIB ') QUEUE(' #JSMOUTQ ') USER(') TO_GET(#JSMCMD)

 

IF COND('#JSMUSER *NE *BLANK')

USE BUILTIN(TCONCAT) WITH_ARGS(#JSMCMD #JSMUSER) TO_GET(#JSMCMD)

ELSE

USE BUILTIN(TCONCAT) WITH_ARGS(#JSMCMD '*ALL') TO_GET(#JSMCMD)

ENDIF

 

USE BUILTIN(TCONCAT) WITH_ARGS(#JSMCMD ') USERDATA(*ALL) FORMTYPE(*STD) SERVICE_LIST(' 'FLENAM, FLENUM, JOBNAME, JOBUSER, JOBNUMBER, ' 'SPLFILSTS)') TO_GET(#JSMCMD)

 

USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #SPOOLLST)

EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)

 

RDMLX

RDMLXを使用する場合、返された引数に指定される作業リストの構造はLANSAコンパイラによって自動的に決まるため、JSMサービス(RDMLな ど)に作業リストを明示的に記述する必要はありません。

 

Def_list name(#spoollst) fields(#file name #filenumber #jobname #jobuser jobnumber #status) type(*working) entrys(500)

 

#jsmcommand := 'LIST LIBRARY(QUSRSYS) QUEUE(' + #JSMOUTQ + ') USER(' + #JSMUSERID + ') USERDATA(*ALL) FORMTYPE(*STD)'

 

use builtin(jsmx_command) with_args(#jsmxhdle1 #jsmcommand) TO_GET(#jsmxsts #jsmxmsg #spoollst)

 

ILE RPG

 

* NB: This MUST match the structure xml provided to the JSM Server! 

                                                                     

d spoollist       ds                  occurs(spoolocur)              

d  spoolfnam                    10a                                  

d  spoolfnum                     6a                                  

d  spooljnam                    10a                                  

d  spooljusr                    10a                                  

d  spooljnum                     6a                                  

d  spoolfsts                    10a                                  

                                                                     

d spoolocur       c                   const(50)                      

d spoolsize       c                   const(%size(spoollist))        

d spoolcount      s              9p 0 inz(0)                         

                                                                           

c                   eval      jsmcmd = 'LIST'                              

c                             + ' LIBRARY(QGPL) QUEUE(QPRINT)'             

c                             + ' USERDATA(PDFSPLF)'                       

c                             + ' SERVICE_STRUCTURE('                      

c                             +    'PDFSPLF.SpoolFileList)'                

c                             + ' OCCURS(' + %char(spoolocur) + ')'        

c                             + ' SIZE('   + %char(spoolsize) + ')'        

                                                                           

c                   eval      %occur(spoollist) = 1                        

c                   eval      bytelength = spoolocur * spoolsize           

                                                                           

c                   callp     p_jsmcmdx(jsmcmd:spoollist:bytelength:       

c                                       jsmsts:jsmmsg)                     

c                   if        jsmsts = 'OK'                        

c                   callp     p_jsmbytelngth(bytelength)                   

c                   if            (bytelength > 0)                         

c                             and (bytelength <= spoolocur * spoolsize)    

c                   callp     p_jsmbyterecv(spoollist)                 

c                   eval      spoolcount = bytelength / spoolsize      

c                   endif                                           

c                   endif