GetPrinterList関数
指定した出力先(スプールサーバ)のOSに登録されているプリンタの一覧を取得します。出力先を指定していない場合は,デフォルトの出力先として登録されたスプールサーバのOS上のプリンタ一覧を取得します。
なお,UNIX/Linux環境の場合,プリンタ一覧の取得はサポートしていません。UNIX/Linux環境のEUR Server - Spool Serviceに対して,プリンタ一覧の取得を実行した場合はエラーとなります。
形式
------------------宣言部------------------ 01 EURPMPARAMDESTNAME. 02 DESTNAME PIC X(80) VALUE SPACE. 02 FILLER PIC X(1) VALUE LOW-VALUE. 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 'GetPrinterList' USING BY REFERENCE EURPMPARAMDESTNAME EURPMPARAMPRINTER RETURNING RTNCODE.
パラメタ
戻り値
RTNCODE
終了コードが設定されます。終了コードについては,「10.4.1 エラー情報一覧」を参照してください。
ERRORMESSAGE
エラーが発生した場合,エラーメッセージとメッセージIDが設定されます。エラーメッセージについては,マニュアル「EUR メッセージ」を参照してください。
エラーが発生しなかった場合は,空白が設定されます。
PRINTERNUM
取得されたOS上のプリンタ数が格納されます。
PRINTERS
パラメタPRINTERNUMに設定されたn個分のプリンタ情報を,戻り値PRINTERNAMEに格納します。OS上のプリンタの数がn個に満たない場合は,戻り値PRINTERNUMに取得された個数のプリンタ情報が返され,戻り値PRINTERNUM+1番目以降の領域は不定になります。OS上のプリンタの数がn個より多い場合は,パラメタPRINTERNUMに指定したn個のプリンタ情報が返されます。
PRINTERNAME
OS上のプリンタ名が設定されます。
呼び出し例
OS上のプリンタの一覧を取得する,呼び出し例を次に示します。
------------------宣言部------------------ 01 EURPMPARAMDESTNAME. 02 DESTNAME PIC X(80) VALUE SPACE. 02 FILLER PIC X(1) VALUE LOW-VALUE. 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 '<プリンタ一覧(GetPrinterList)>' MOVE 'SERVER1' TO DESTNAME DISPLAY DESTNAME CALL 'GetPrinterList' USING BY REFERENCE EURPMPARAMDESTNAME 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