スプールサーバに登録されているプリンタに帳票を出力できます。
なお,スプールサーバのプリンタに出力できるのは,スプールサーバがWindows環境の場合だけです。スプールサーバがUNIX/Linux環境の場合は,スプールサーバのプリンタへの出力はできません。
スプールサーバに登録されているプリンタに帳票を出力する流れを,次の図に示します。
図3-2 スプールサーバのプリンタに出力する流れ
帳票出力で使用する起動部品のメソッド,関数,およびオプションの指定値を次に示します。
また,出力時に設定する起動部品のプロパティ,メソッド,パラメタ,およびオプションの指定値を次に示します。
印刷方法の設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
印刷方法 | ActiveX起動部品:PrintModeプロパティ Java起動部品:setPrintModeメソッド COBOL起動部品:PRINTMODEパラメタ | 3(スプールサーバで印刷する) |
コマンド起動部品:/pmオプション | sv(スプールサーバで印刷する) | |
出力するファイル形式 | ActiveX起動部品:PrintKindプロパティ Java起動部品:setPrintKindメソッド COBOL起動部品:PRINTKINDパラメタ | 0(EPF形式ファイルを出力する) |
コマンド起動部品:/pkオプション | epf(EPF形式ファイルを出力する) |
スプールサーバの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
サーバの指定方法 | 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形式 |
スプールサーバのプリンタの設定 | 起動部品の設定項目 | 設定する値 | |
---|---|---|---|
プリンタの指定方法 | 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バイト以内の文字列) |
次に示すパラメタを指定して,スプールサーバのプリンタに出力します。
|
コーディング例を次に示します。
<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>
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) {
//以下,そのほかのエラー処理を繰り返す
:
}
}
ネットワークプリンタに印刷する場合は,EUR Server - Spool Serviceのログオンアカウントを,ネットワークプリンタに印刷できる適切なアクセス権を持つアカウントに変更してください。