Versions Compared

Key

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

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

...

9.109 GET_SPLF_LIST_ENTRY

Note

注意

...

 9.1

...

組み込み関数の規則     利用オプション

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

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

N

必須

開始レコード番号

START_RTV_SPLF_LISTの後に初めてこの組み込み関数を使用する場合は、1を指定する必要があります。2回目以降の呼び出しの場合は、前の呼び出しで戻された最後のレコード番号に1を加えた値を指定します。この値はゼロより大きな正数にする必要があります。

5

15

0

0

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

N

必須

戻された最後のレコード番号

このリストで最後のレコードの番号が戻されます。この値を使って、次にこの関数を使用するときの開始レコード番号を設定できます。次の呼び出しに使用する開始レコード番号は、この値に1を加えた値です。

5

15

0

0

2

L

必須

取得するスプール・ファイルの詳細を含める作業リスト。呼び出し元のRDMLファンクションは、項目の長さの合計が正確に160バイトの作業リストを提供しなければなりません。

戻されるそれぞれのリスト項目は、次のような形式にする必要があります。

戻されるそれぞれのリスト項目は、次のような形式にする必要があります。 

開始 -

終了 説明

終了 説明
1 - 10   A(10)

スプール・ファイル名

   スプール・ファイル名
11 - 20   A(10)

ジョブ名

   ジョブ名
21 - 30   A(10)

ユーザー

   ユーザー
31 - 36   A(6)

ジョブ番号

   ジョブ番号
37 - 40   A(4)

スプール・ファイル番号

   スプール・ファイル番号
41 - 44   P(7,0)

総ページ数

   総ページ数
45 - 48   P(7,0)

現在のページ

   現在のページ
49 - 52   P(7,0)

印刷待ち部数

   印刷待ち部数
53 - 62   A(10)

出力待ち行列名

   出力待ち行列名
63 - 72   A(10)

出力待ち行列ライブラリ

   出力待ち行列ライブラリ
73 - 82   A(10)

ユーザー・データ

   ユーザー・データ
83 - 92   A(10)

ステータス

   ステータス
93 - 102   A(10)

フォーム・タイプ

   フォーム・タイプ
103 - 104   A(2)

優先順位

   優先順位
105 - 136   A(32)

予約済み

   予約済み
137 - 146   A(10)

装置タイプ

   装置タイプ
147 - 160   A(14) 予約済み

160

160

 

 



3

A

任意

戻りコード

OK = リスト (満載または一部)

が戻された。この選択でこれ以上のスプール・ファイルは存在しない

が戻された。この選択でこれ以上のスプール・ファイルは存在しない 

OV = リスト (満載)

が戻された。ただしリストに収まらなかったスプール・ファイルがさらに存在する

が戻された。ただしリストに収まらなかったスプール・ファイルがさらに存在する 

NR =

リストは空で戻された

リストは空で戻された 

ER = スプール・ファイルの取得中にエラーが発生した。開始レコードは無効の場合がある

2

2

 

 



PAYLIBライブラリのPAYOUTQ出力待ち行列のスプール・ファイルをすべて取得して、各スプール・ファイルに何らかの処理を実行します。 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