GetPMPrinterList関数
帳票サーバのOSに登録されているプリンタの一覧を取得します。
なお,帳票サーバがUNIX/Linux環境の場合,プリンタ一覧の取得はサポートしていません。UNIX/Linux環境のEUR Server - Spool Serviceに対して,プリンタ一覧の取得を実行した場合はエラーとなります。
形式
------------------宣言部------------------
01 EURPMPARAMPRINTER.
02 FILLER PIC X(4) VALUE '0770'.
02 FILLER PIC X(1) VALUE LOW-VALUE.
02 ERRORMESSAGE PIC X(256) VALUE SPACE.
02 FILLER PIC X(1) VALUE LOW-VALUE.
02 FILLER PIC X(2) VALUE LOW-VALUE.
02 PRINTERNUM PIC 9(9) COMP-X VALUE n.
02 PRINTERS OCCURS n TIMES.
03 PRINTERNAME PIC X(80) VALUE SPACE.
03 FILLER PIC X(1) VALUE LOW-VALUE.
03 FILLER PIC X(3) VALUE LOW-VALUE.
02 PMSERVERADDR PIC X(15) VALUE SPACE.
02 FILLER PIC X(1) VALUE LOW-VALUE.
02 PMSERVERPORT PIC S9(9) COMP-5 VALUE -1.
01 RTNCODE PIC S9(9) BINARY.
------------------実行部------------------
call 'GetPMPrinterList' USING BY REFERENCE EURPMPARAMPRINTER
RETURNING RTNCODE.
パラメタ
PRINTERNUM
パラメタPRINTERSの繰り返し回数nを指定します。nには取得する一覧の最大数を指定してください。
プリンタの数がn個を超える場合は,n個までの一覧が取得されます。
PRINTERS
取得したOS上のプリンタの一覧が格納される領域を指定します。nには取得する一覧の最大数を指定してください。詳細は戻り値PRINTERSを参照してください。
戻り値
RTNCODE
終了コードが設定されます。終了コードについては,「10.4.1 エラー情報一覧」を参照してください。
ERRORMESSAGE
エラーが発生した場合,エラーメッセージとメッセージIDが設定されます。エラーメッセージについては,マニュアル「EUR メッセージ」を参照してください。
エラーが発生しなかった場合は,空白が設定されます。
PRINTERNUM
取得されたプリンタ数が設定されます。
PRINTERS
パラメタPRINTERNUMに設定されたn個分のプリンタ情報を,戻り値PRINTERNAMEに格納します。取得したプリンタの数がn個に満たない場合は,戻り値PRINTERNUMに取得された個数のプリンタ情報が返され,戻り値PRINTERNUM + 1番目以降の領域は不定になります。取得したプリンタの数がn個より多い場合は,パラメタPRINTERNUMに指定したn個のプリンタ情報が返されます。
PRINTERNAME
OS上のプリンタ名が設定されます。
呼び出し例
帳票サーバに登録されたOS上のプリンタ一覧を取得する,呼び出し例を次に示します。
------------------宣言部------------------
01 EURPMPARAMPRINTER.
02 FILLER PIC X(4) VALUE '0770'.
02 FILLER PIC X(1) VALUE LOW-VALUE.
02 ERRORMESSAGE PIC X(256) VALUE SPACE.
02 FILLER PIC X(1) VALUE LOW-VALUE.
02 FILLER PIC X(2) VALUE LOW-VALUE.
02 PRINTERNUM PIC 9(9) COMP-X VALUE 120.
02 PRINTERS OCCURS 120 TIMES.
03 PRINTERNAME PIC X(80) VALUE SPACE.
03 FILLER PIC X(1) VALUE LOW-VALUE.
03 FILLER PIC X(3) VALUE LOW-VALUE.
02 PMSERVERADDR PIC X(15) VALUE SPACE.
02 FILLER PIC X(1) VALUE LOW-VALUE.
02 PMSERVERPORT PIC S9(9) COMP-5 VALUE -1.
01 RTNCODE PIC S9(9) BINARY.
------------------実行部------------------
DISPLAY '<プリンタ一覧(GetPMPrinterList)>'
CALL 'GetPMPrinterList' USING BY REFERENCE EURPMPARAMPRINTER
RETURNING RTNCODE
DISPLAY RTNCODE
IF RTNCODE = ZERO
THEN
DISPLAY '正常終了'
DISPLAY PRINTERNUM
PERFORM VARYING IX1 FROM 1 BY 1 UNTIL IX1 > PRINTERNUM
DISPLAY PRINTERNAME(IX1)
END-PERFORM
ELSE
DISPLAY 'エラー発生'
DISPLAY ERRORMESSAGE
END-IF