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