Hitachi

EUR 帳票出力 リファレンス EUR Server編(UNIX(R)用)


GetTrayList関数

出力先(スプールサーバ)とOS上のプリンタを指定し,そのプリンタのトレイ一覧を取得します。出力先を指定していない場合は,デフォルトの出力先として登録されたスプールサーバのOS上のプリンタのトレイ一覧を取得します。

なお,UNIX/Linux環境の場合,トレイ一覧の取得はサポートしていません。UNIX/Linux環境のEUR Server - Spool Serviceに対して,トレイ一覧の取得を実行した場合はエラーとなります。

〈このページの構成〉

形式

------------------宣言部------------------
01 EURPMPARAMDESTNAME.
  02 DESTNAME       PIC X(80) VALUE SPACE.
  02 FILLER         X(1) VALUE LOW-VALUE.
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 'GetTrayList' USING BY REFERENCE EURPMPARAMDESTNAME
                                     EURPMPARAMPRINTERNAME
                                     EURPMPARAMTRAY
                           RETURNING RTNCODE.

パラメタ

DESTNAME

OS上のプリンタのトレイ一覧を取得するスプールサーバの出力先名を指定します。

PRINTERNAME

トレイ一覧を取得するOS上のプリンタ名を指定します。

TRAYNUM

パラメタTRAYSの繰り返し回数nを指定します。nには取得する一覧の最大数を指定してください。

トレイの数がn個を超える場合は,n個までの一覧が取得されます。

TRAYS

取得したトレイ一覧が格納される領域を指定します。nには取得する一覧の最大数を指定してください。詳細は戻り値TRAYSを参照してください。

PMSERVERADDR

帳票サーバのIPアドレスを255.255.255.255形式で指定します。

PMSERVERADDRパラメタを省略する場合は,空白を指定します。

PMSERVERPORT

帳票サーバのポート番号を指定します。

PMSERVERPORTパラメタを省略する場合は,-1を指定します。

戻り値

RTNCODE

終了コードが設定されます。終了コードについては,「10.4.1 エラー情報一覧」を参照してください。

ERRORMESSAGE

エラーが発生した場合,エラーメッセージとメッセージIDが設定されます。エラーメッセージについては,マニュアル「EUR メッセージ」を参照してください。

エラーが発生しなかった場合は,空白が設定されます。

TRAYNUM

取得されたトレイ数が格納されます。

TRAYS

パラメタTRAYNUMに設定されたn個分のトレイ情報を,戻り値TRAYNAMEに格納します。OS上のプリンタのトレイ数がn個に満たない場合は,戻り値TRAYNUMに取得された個数のトレイ情報が返され,戻り値TRAYNUM+1番目以降の領域は不定になります。OS上のプリンタのトレイ数がn個より多い場合は,パラメタTRAYNUMに指定したn個のトレイ情報が返されます。

TRAYNAME

OS上のプリンタのトレイ名が設定されます。

呼び出し例

OS上のプリンタのトレイ一覧を取得する,呼び出し例を次に示します。

------------------宣言部------------------
01 EURPMPARAMDESTNAME.
  02 DESTNAME       PIC X(80) VALUE SPACE.
  02 FILLER         X(1) VALUE LOW-VALUE.
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 '<トレイ一覧(GetTrayList)>'
MOVE 'SERVER1' TO DESTNAME
DISPLAY DESTNAME
MOVE 'PRINTER1' TO PRINTERNAME
DISPLAY PRINTERNAME
CALL ' GetTrayList ' USING BY REFERENCE EURPMPARAMDESTNAME
                                        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