Hitachi

EUR 帳票出力 リファレンス EUR Server編


GetPrinterClassList2関数

指定した出力先(スプールサーバ)に登録されているプリンタクラスの一覧を取得します。出力先を指定していない場合は,デフォルトの出力先として登録されたスプールサーバに定義されているプリンタクラスの一覧を取得します。エラー発生時にエラーメッセージを取得できます。

なお,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 EURPMPARAMCLASS2.
  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   CLASSNUM      PIC  9(9) COMP-X VALUE n.
  02   CLASSES       OCCURS n TIMES.
    03  CLASSNAME    PIC  X(80) VALUE SPACE.
    03  FILLER       PIC  X(1) VALUE LOW-VALUE.
    03  PRINTERNAME  PIC  X(80) VALUE SPACE.
    03  FILLER       PIC  X(1) VALUE LOW-VALUE.
    03  TRAYNAME     PIC  X(80) VALUE SPACE.
    03  FILLER       PIC  X(1) VALUE LOW-VALUE.
    03  COMMENT      PIC  X(256) VALUE SPACE.
    03  FILLER       PIC  X(1) 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 'GetPrinterClassList2'   USING BY REFERENCE EURPMPARAMDESTNAME
                                                EURPMPARAMCLASS2
                             RETURNING RTNCODE.

パラメタ

DESTNAME

拠点プリンタクラス一覧を取得するスプールサーバの出力先名を指定します。

CLASSNUM

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

プリンタクラスの数がn個を超える場合は,n個までの一覧が取得されます。

CLASSES

取得したプリンタクラスの一覧が格納される領域を指定します。詳細は戻り値CLASSESを参照してください。

nには取得する一覧の最大数を指定してください。

PMSERVERADDR

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

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

PMSERVERPORT

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

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

戻り値

RTNCODE

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

ERRORMESSAGE

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

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

CLASSNUM

取得されたプリンタクラス数が格納されます。

CLASSES

パラメタCLASSNUMに設定されたn個分のプリンタクラス情報を,戻り値CLASSNAME,PRINTERNAME,TRAYNAME,COMMENTに格納します。拠点プリンタクラスの数がn個に満たない場合は,戻り値CLASSNUMに取得された個数の拠点プリンタクラス情報が返され,戻り値CLASSNUM+1番目以降の領域は不定になります。拠点プリンタクラスの数がn個より多い場合は,パラメタCLASSNUMに指定したn個のプリンタクラス情報が返されます。

CLASSNAME

拠点プリンタクラス情報の拠点プリンタクラス名が設定されます。

PRINTERNAME

拠点プリンタクラス情報のスプールサーバのプリンタ名が設定されます。

TRAYNAME

拠点プリンタクラス情報のスプールサーバのトレイ名が設定されます。

COMMENT

拠点プリンタクラス情報の説明が設定されます。

呼び出し例

指定した出力先の拠点プリンタクラスの一覧を取得する,呼び出し例を次に示します。

------------------宣言部------------------
01 EURPMPARAMDESTNAME.
  02 DESTNAME           PIC  X(80) VALUE SPACE.
  02 FILLER             PIC  X(1) VALUE LOW-VALUE.
01 EURPMPARAMCLASS.
  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  CLASSNUM          PIC  9(9) COMP-X VALUE 120.
  02  CLASSES           OCCURS 120 TIMES.
    03  CLASSNAME       PIC  X(80) VALUE SPACE.
    03  FILLER          PIC  X(1) VALUE LOW-VALUE.
    03  PRINTERNAME     PIC  X(80) VALUE SPACE.
    03  FILLER          PIC  X(1) VALUE LOW-VALUE.
    03  TRAYNAME        PIC  X(80) VALUE SPACE.
    03  FILLER          PIC  X(1) VALUE LOW-VALUE.
    03  COMMENT         PIC  X(256) VALUE SPACE.
    03  FILLER          PIC  X(1) 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 '<プリンタクラス一覧(GetPrinterClassList2)>'
MOVE 'SERVER1' TO DESTNAME
DISPLAY DESTNAME
CALL 'GetPrinterClassList2' USING BY REFERENCE EURPMPARAMDESTNAME
                                             EURPMPARAMCLASS
                            RETURNING RTNCODE
DISPLAY RTNCODE
IF RTNCODE = ZERO
THEN
  DISPLAY '正常終了'
  DISPLAY CLASSNUM
  PERFORM VARYING IX1 FROM 1 BY 1 UNTIL IX1 > CLASSNUM
    DISPLAY CLASSNAME(IX1)
    DISPLAY PRINTERNAME(IX1)
    DISPLAY TRAYNAME(IX1)
    DISPLAY COMMENT(IX1)
  END-PERFORM
ELSE
  DISPLAY 'エラー発生'
  DISPLAY ERRORMESSAGE
END-IF