3.1.2 スプールサーバのプリンタに出力する
スプールサーバに登録されているプリンタに帳票を出力できます。
なお,スプールサーバのプリンタに出力できるのは,スプールサーバがWindows環境の場合だけです。スプールサーバがUNIX/Linux環境の場合は,スプールサーバのプリンタへの出力はできません。
(1) 出力の流れ
スプールサーバに登録されているプリンタに帳票を出力する流れを,次の図に示します。
|
|
-
出力要求
帳票の出力要求が業務プログラムに送られます。
-
転送
EUR Server - Adapterは,ユーザデータファイルを帳票サーバのEUR Server Serviceに転送します。
-
印刷データ生成
転送されたユーザデータファイルとあらかじめ帳票サーバに配置しておいた印刷定義ファイルから,印刷データ(EPF形式ファイル)が生成されます。
-
印刷データ転送
EUR Server Serviceは,生成された印刷データ(EPF形式ファイル)をスプールサーバに転送します。
-
出力
スプールサーバに登録されているプリンタに帳票が出力されます。転送された印刷データは,帳票の出力後に削除されます。
- ■参考
-
帳票の印刷データ(EPF形式ファイル)をスプールサーバに蓄積してから,任意のタイミングで出力することもできます。帳票の印刷データをスプールサーバに蓄積する方法については,「5.2.2 印刷データを蓄積する手順」を参照してください。また,蓄積した印刷データを出力する方法については,「5.4 蓄積した印刷データを出力する」を参照してください。
(2) 出力先の設定
-
スプールサーバの設定
出力先のスプールサーバは,IPアドレスまたはIPアドレスに名前を付けた出力先名(出力先定義)のどちらかで指定します。
-
IPアドレスで指定する場合
帳票出力時に起動部品でIPアドレスを指定します。
-
出力先名で指定する場合
スプールサーバのIPアドレスに名前を付けて,出力先名として帳票サーバに登録します。帳票出力時に起動部品で出力先名を指定すると,指定したスプールサーバに帳票が出力されます。
-
-
スプールサーバのプリンタの設定
スプールサーバのプリンタは,プリンタ名とトレイ名の直接指定,スプールサーバのプリンタとトレイを組み合わせたプリンタクラス,または帳票振り分け定義のどれかで指定します。
-
プリンタ名とトレイ名の直接指定で指定する場合
帳票出力時に起動部品でプリンタ名とトレイ名を指定します。
-
プリンタクラスで指定する場合
スプールサーバのプリンタとトレイを組み合わせたものを,プリンタクラスとしてスプールサーバに登録します。帳票出力時に起動部品でプリンタクラス名を指定すると,指定したプリンタのトレイに帳票が出力されます。
-
帳票振り分け定義で指定する場合
帳票名を分類するグループ(振り分けグループ),帳票名,およびプリンタクラスの組み合わせを,帳票振り分け定義としてスプールサーバに登録します。帳票出力時に起動部品で振り分けグループを指定すると,帳票名ごとに自動的にプリンタが設定されます。セパレータ出力などのトレイ振り分けもできます。
-
(3) 起動部品の設定
帳票出力で使用する起動部品のメソッド,関数,およびオプションの指定値を次に示します。
-
ActiveX起動部品:PrintPMReportメソッド
-
Java起動部品:printReportメソッド
-
COBOL起動部品:PrintReport関数またはPrintReport2関数
-
コマンド起動部品(eurpmcコマンド):/mオプションにprintを指定
また,出力時に設定する起動部品のプロパティ,メソッド,パラメタ,およびオプションの指定値を次に示します。
-
印刷方法の設定
帳票を印刷する方法を設定します。
印刷方法の設定
起動部品の設定項目
設定する値
印刷方法
ActiveX起動部品:PrintModeプロパティ
Java起動部品:setPrintModeメソッド
COBOL起動部品:PRINTMODEパラメタ
3(スプールサーバで印刷する)
コマンド起動部品:/pmオプション
sv(スプールサーバで印刷する)
出力するファイル形式
ActiveX起動部品:PrintKindプロパティ
Java起動部品:setPrintKindメソッド
COBOL起動部品:PRINTKINDパラメタ
0(EPF形式ファイルを出力する)
コマンド起動部品:/pkオプション
epf(EPF形式ファイルを出力する)
-
スプールサーバの設定
スプールサーバの指定方法を設定します。スプールサーバの指定方法は,出力先名とIPアドレスの2種類から選択できます。
スプールサーバの設定
起動部品の設定項目
設定する値
サーバの指定方法
ActiveX起動部品:ServerSelectModeプロパティ
Java起動部品:setServerSelectModeメソッド
COBOL起動部品:SERVERSELECTMODEパラメタ
0(出力先名で指定する)
1(IPアドレスで指定する)
コマンド起動部品:/srmオプション
dest(出力先名で指定する)
sv(IPアドレスで指定する)
出力先名
ActiveX起動部品:DestinationNameプロパティ
Java起動部品:setDestinationNameメソッド
COBOL起動部品:DESTNAMEパラメタ
コマンド起動部品:/destオプション
出力先名(80バイト以内の文字列)
IPアドレス
ActiveX起動部品:ServerAddressプロパティ
Java起動部品:setServerAddressメソッド
COBOL起動部品:SERVERADDRパラメタ
コマンド起動部品:svrオプション
255.255.255.255形式
-
プリンタの設定
スプールサーバのプリンタの指定方法を設定します。スプールサーバのプリンタの指定方法は,プリンタクラス名,プリンタ名,および帳票振り分け定義の3種類から選択できます。
スプールサーバのプリンタの設定
起動部品の設定項目
設定する値
プリンタの指定方法
ActiveX起動部品:PrinterSelectModeプロパティ
Java起動部品:setPrinterSelectModeメソッド
COBOL起動部品:PRINTERSELECTMODEパラメタ
0(プリンタクラス名で指定する)
1(プリンタ名で指定する)
2(帳票振り分け定義で指定する)
コマンド起動部品:/smオプション
class(プリンタクラス名で指定する)
printer(プリンタ名で指定する)
group(帳票振り分け定義で指定する)
プリンタクラス名
ActiveX起動部品:PrinterClassNameプロパティ
Java起動部品:setPrinterClassNameメソッド
COBOL起動部品:PRINTERCLASSNAMEパラメタ
コマンド起動部品:/prcオプション
プリンタクラス名(80バイト以内の文字列)
プリンタ名
OS上のプリンタ名
ActiveX起動部品:ServerPrinterNameプロパティ
Java起動部品:setServerPrinterNameメソッド
COBOL起動部品:SERVERPRINTERNAMEパラメタ
コマンド起動部品:/lspオプション
プリンタ名(80バイト以内の文字列)
OS上のプリンタのトレイ名
ActiveX起動部品:ServerTrayNameプロパティ
Java起動部品:setServerTrayNameメソッド
COBOL起動部品:SERVERTRAYNAMEパラメタ
コマンド起動部品:/lstオプション
トレイ名(80バイト以内の文字列)
帳票振り分け定義
ActiveX起動部品:GroupNameプロパティ
Java起動部品:setGroupNameメソッド
COBOL起動部品:GROUPNAMEパラメタ
コマンド起動部品:/groupオプション
帳票振り分け定義(80バイト以内の文字列)
-
帳票ファイルの設定
印刷する帳票ファイル名を設定します。
帳票ファイルの設定
起動部品の設定項目
設定する値
帳票ファイルの名前
ActiveX起動部品:ReportFileNameプロパティ
Java起動部品:setReportFileNameメソッド
COBOL起動部品:REPORTNAMEパラメタ
コマンド起動部品:/rfオプション
帳票ファイル名(255バイト以内の文字列)
-
マッピングデータファイルの設定
マッピングデータファイル名を設定します。
ユーザデータファイルの設定
起動部品の設定項目
設定する値
マッピングデータファイルの名前
ActiveX起動部品:DataFileNameプロパティ
Java起動部品:setDataFileNameメソッド
COBOL起動部品:MAPPINGDATAパラメタ
コマンド起動部品:/mapオプション
マッピングデータファイル名(255バイト以内の文字列)
-
ユーザデータファイル,印刷定義ファイル,および印刷付加情報の設定
必要に応じて,ユーザデータファイル(ユーザ定義データファイルなど),印刷定義ファイル(複数様式情報定義ファイル,文書情報設定ファイル,置き換え表管理情報ファイルなど)および印刷付加情報(印刷開始ページ,印刷部数,ページ番号など)を設定します。
- ■参考
-
4.の帳票ファイルの設定は,帳票ファイル名を直接指定する以外に,次のどちらかを指定することもできます。
-
帳票セット指定ファイル
帳票ファイル名やマッピングデータファイル名を,帳票セットとして帳票セット指定ファイルにまとめて指定することができます。出力時には次に示すプロパティ,メソッド,パラメタ,またはオプションで帳票セット指定ファイル名を指定してください。
・ActiveX起動部品:MultiReportSetFileNameプロパティ
・Java起動部品:setMultiReportSetFileNameメソッド
・COBOL起動部品:REPORTSETFILEパラメタ
・コマンド起動部品:/mrsオプション
-
帳票ID
帳票ファイル名を含む帳票出力で使用する項目を,帳票出力定義として帳票出力定義ファイルに指定することができます。帳票IDには,帳票出力時に使用する帳票出力定義ファイル名を指定します。出力時には次に示すプロパティ,メソッド,パラメタ,またはオプションで帳票出力定義ファイル名を指定してください。
・ActiveX起動部品:ReportIDプロパティ
・Java起動部品:setReportIDメソッド
・COBOL起動部品:REPORTIDパラメタ
・コマンド起動部品:/ridオプション
-
(4) 出力結果
-
拠点プリンタクラスを指定していた場合
指定した拠点プリンタクラスに対応するプリンタとトレイで出力されます。
指定した拠点プリンタクラス名が拠点プリンタクラスに設定されていない場合は,拠点プリンタクラスに設定したデフォルトの拠点プリンタクラスのプリンタに出力されます。拠点プリンタクラスに設定したプリンタとトレイがスプールサーバに登録されていない場合は,エラーとなります。拠点プリンタクラスの設定およびスプールサーバに登録されたプリンタの設定を見直してください。
-
プリンタとトレイを指定していた場合
指定したプリンタとトレイで出力されます。
指定したプリンタとトレイがスプールサーバに登録されていない場合は,エラーとなります。
-
帳票振り分け定義を指定していた場合
指定した帳票名と帳票振り分け定義に対応するプリンタとトレイで出力されます。帳票が印刷されるプリンタを設定別に次に示します。
-
振り分けグループ名を指定したとき
指定された振り分けグループに対応する拠点プリンタクラスで印刷されます。
-
振り分けグループ名が指定されていないとき
デフォルトの振り分けグループに対応する拠点プリンタクラスで印刷されます。
-
指定された帳票が帳票振り分け定義にないとき
振り分けグループのデフォルト帳票に設定した拠点プリンタクラスで印刷されます。デフォルトの振り分けグループにも,デフォルト帳票を定義できます。
-
指定された帳票が帳票振り分け定義になく,デフォルト帳票が設定されていないとき
デフォルトの拠点プリンタクラスで印刷されます。
-
(5) コーディング例
次に示すパラメタを指定して,スプールサーバのプリンタに出力します。
- ■入力ファイル(印刷定義ファイル):EUR Server Service稼働マシンに配置
-
帳票ファイル名:sample1.fms
- ■入力ファイル(ユーザデータファイル):EUR Server - Adapter稼働マシンに配置
-
マッピングデータファイルのパス:c:\Temp
マッピングデータファイル名:data1.csv
コーディング例を次に示します。
(a) ActiveX起動部品の場合
<HTML>
<HEAD>
<TITLE>Sample Script of ASP page for EUR Print Manager</TITLE>
</HEAD>
<BODY>
<%
Server.ScriptTimeOut=100 …スクリプトのタイムアウト時間を
100秒に設定
On Error Resume Next …エラーハンドリングを行う
dim target …変数宣言
Set EURPM=Server.CreateObject("EURPM.Exec")
…プログラムID「EURPM.Exec」を指定して,
ActiveX起動部品のインスタンス作成
EURPM.ClientAddress=target …クライアントIPアドレスの指定
EURPM.ReportFileName="sample1.fms" …帳票ファイルの指定
EURPM.DataFilePath="c:\Temp" …マッピングデータファイルの
パスの指定
EURPM.DataFileName="data1.csv" …マッピングデータの指定
If Err.Number <> 0 Then
Response.Write("印刷実行前に
エラーが発生しています"& Err.Number &"<BR>")
Else
EURPM.PrintPMReport() …印刷指示
If Err.Number = 0 Then …PrintPMReportメソッドは
正常終了かどうかの判定
「正常終了時の処理」
Else
errid= Err.Number …エラーコードをerridに取り出す
If errid=-441 Then …KEEY441-Wの場合のエラー処理
Elseif errid=-301 Then …KEEY301-Eの場合のエラー処理
Elseif errid=-302 Then …KEEY302-Eの場合のエラー処理
Elseif errid=
: …そのほかのエラー処理を繰り返す
End If
End If
End If
%>
</BODY>
</HTML>(b) Java起動部品の場合
import JP.co.Hitachi.soft.EURPM.*;
:
try {
EURPMAdapterForJava obj=new EURPMAdapterForJava();
String target = request.getRemoteAddr();
obj.setReportFileName("sample1.fms");
//帳票ファイル名の指定
obj.setDataFilePath("c:\\Temp");
//マッピングデータファイルのパスの指定
obj.setDataFileName("data1.csv");
//マッピングデータファイル名の指定
obj.printReport(); //帳票の出力指示
}
catch (JP.co.Hitachi.soft.EURPM.EURPMException ce) {
//エラー処理
int errid;
errid=ce.getErrorCode();
//エラーコードをerridに取り出す
if (errid==441) {
//KEEY441-Wの場合のエラー処理
} else if (errid==301) {
//KEEY301-Eの場合のエラー処理
} else if (errid==302) {
//KEEY302-Eの場合のエラー処理
} else if (errid==xxx) {
//以下,そのほかのエラー処理を繰り返す
:
}
}(6) 注意事項
-
ネットワークプリンタに印刷する場合は,EUR Server - Spool Serviceのログオンアカウントを,ネットワークプリンタに印刷できる適切なアクセス権を持つアカウントに変更してください。
-
Microsoft XPS Document Writerのように,ファイルの出力先を指定するダイアログを表示するなど,ユーザの操作を必要とする応答が発生するプリンタドライバは使用しないでください。