Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Added |../../index.htm#lansa/get_splf_list_entry.htm]
現在地:

Anchor
_Ref432150436
_Ref432150436
Anchor
_Toc130907328
_Toc130907328
9.109 GET_SPLF_LIST_ENTRY

注意: 9.1 組み込み関数の規則      &<a href="bifcat2_08.htm"&>利用オプション&</a&>利用オプション
この組み込み関数は、START_RTV_SPLF_LIST、END_RTV_SPLF_LISTと合わせて使用します。はじめに、START_RTV_SPLF_LISTを使用して、スプール・ファイル検索用の選択条件を提供する必要があります。指定できる選択条件は、ユーザー名、出力待ち行列名とライブラリ、フォーム・タイプ、ユーザー・データ、およびステータスです。START_RTV_SPLF_LISTを使って選択条件が確立されると、このGET_SPLF_LIST_ENTRY組み込み関数を使用してスプール・ファイルの詳細を取り込むことができます。スプール・ファイルのリストを取り込んだ後には、END_RTV_SPLF_LISTを使用する必要があります。これにより、リストをクローズして割り当てられていた記憶域を解放します。
 
引数

...


PAYLIBライブラリのPAYOUTQ出力待ち行列のスプール・ファイルをすべて取得して、各スプール・ファイルに何らかの処理を実行します。
*********   Define arguments and lists DEFINE     FIELD(#RETURN) TYPE(*CHAR) LENGTH(2)                      **********                                                           DEFINE     FIELD(#SPLF) TYPE(*CHAR) LENGTH(10)                       DEFINE     FIELD(#JOB) TYPE(*CHAR) LENGTH(10)                        DEFINE     FIELD(#USER) TYPE(*CHAR) LENGTH(10)                       DEFINE     FIELD(#JOBNO) TYPE(*CHAR) LENGTH(6)                       DEFINE     FIELD(#SPLFNO) TYPE(*CHAR) LENGTH(4)                      DEFINE     FIELD(#TOTPAGE) TYPE(*DEC) LENGTH(7) DECIMALS(0)          DEFINE     FIELD(#CURPAGE) TYPE(*DEC) LENGTH(7) DECIMALS(0)          DEFINE     FIELD(#COPIES) TYPE(*DEC) LENGTH(7) DECIMALS(0)           DEFINE     FIELD(#OUTQ) TYPE(*CHAR) LENGTH(10)                       DEFINE     FIELD(#OUTQL) TYPE(*CHAR) LENGTH(10)                      DEFINE     FIELD(#USERDATA) TYPE(*CHAR) LENGTH(10)                   DEFINE     FIELD(#STATUS) TYPE(*CHAR) LENGTH(10)                     DEFINE     FIELD(#FORM) TYPE(*CHAR) LENGTH(10)                       DEFINE     FIELD(#PRTY) TYPE(*CHAR) LENGTH(2)                        DEFINE     FIELD(#RESV1) TYPE(*CHAR) LENGTH(32)                      DEFINE     FIELD(#DEVICE) TYPE(*CHAR) LENGTH(10)                     DEFINE     FIELD(#RESV2) TYPE(*CHAR) LENGTH(14)                      **********                                                           DEFINE     FIELD(#START) TYPE(*DEC) LENGTH(7) DECIMALS(0) DEFAULT(0) DEFINE     FIELD(#LASTREC) TYPE(*DEC) LENGTH(7) DECIMALS(0) DEFAULT(0) **********                                                           DEF_LIST   NAME(#LIST) FIELDS((#SPLF) (#JOB) (#USER) (#JOBNO) (#SPLFNO) (#TOTPAGE) (#CURPAGE) (#COPIES) (#OUTQ) (#OUTQL) (#USERDATA) (#STATUS) (#FORM) (#PRTY) (#RESV1) (#DEVICE) (#RESV2)) COUNTER(#LISTCOUNT) TYPE(*WORKING) **********                                                           ********** Retrieve spool files on output Q PAYLIB/PAYOUTQ           **********                                                           USE        BUILTIN(START_RTV_SPLF_LIST) WITH_ARGS('''*ALL''' PAYOUTQ PAYLIB) TO_GET(#RETURN) IF         COND('#RETURN = OK')                                      **********                                                           CLR_LIST   NAMED(#LIST)                                              BEGIN_LOOP                                                           USE        BUILTIN(GET_SPLF_LIST_ENTRY) WITH_ARGS(#START) TO_GET(#LASTREC #LIST #RETURN) IF         COND('(#return = ER) *OR (#return = NR)')                 LEAVE                                                                ENDIF                                                                SELECTLIST NAMED(#LIST)                                              *********                                                            ********** At this point some processing on the spool file can       ********** be done.                                                  ********** eg IBM i commands such as CPYSPLF DLTSPLF                ********** or release (RLSSPLF) all files which are currently        ********** held (have a status of *HELD)                             **********                                                           ENDSELECT                                                            IF         COND('(#return = OV)')                                    CHANGE     FIELD(#START) TO('#LASTREC + 1')                          ELSE                                                                 LEAVE                                                                ENDIF                                                                END_LOOP                                                             **********                                                           USE        BUILTIN(END_RTV_SPLF_LIST)                                ENDIF                                                                 
[ Image Added |../../index.htm#lansa/get_splf_list_entry.htm]