6.2.4 コーディング例
次に示すパラメタを指定して,分割した印刷データをスプールサーバに蓄積します。
- ■入力ファイル(印刷定義ファイル):EUR Server Service稼働マシンに配置
-
帳票ファイル名:Report1.fms
- ■入力ファイル(ユーザデータファイル):EUR Server - Adapter稼働マシンに配置
-
マッピングデータファイルのパス:c:\Temp
マッピングデータファイル名:Report1_1000P.csv
分割定義ファイルのパス:c:\Temp
分割定義ファイル名:PMPageSplit.txt
コーディング例を次に示します。
- 〈この項の構成〉
(1) コマンド起動部品(eurpmcコマンド)を使用する場合
EURPMC.exe /m print /mapp "c:\Temp" /splitf "PMPageSplit.txt" /splitfp "c:\Temp" /pm spl /split page /alljob /rf Report1.fms /map Report1_1000P.csv
(2) ActiveX起動部品を使用する場合
<HTML>
<HEAD>
<TITLE>Sample Script of ASP page for EUR Print Manager</TITLE>
</HEAD>
<BODY>
<%
Server.ScriptTimeOut=100
On Error Resume Next
// 変数定義
dim jobidlist
dim cnt
// EURPMオブジェクト生成
set EURPM = Server.CreateObject("EURPM.Exec")
// 帳票ファイルの指定
EURPM.ReportFileName = "Report1.fms"
// マッピングデータファイルの指定
EURPM.DataFileName = "Report1_1000P.csv"
EURPM.DataFilePath = "c:\Temp"
// 分割定義ファイルの指定
EURPM.SplitFileName = "PMPageSplit.txt"
EURPM.SplitFilePath = "c:\Temp"
// そのほかのパラメタの指定
EURPM.SplitMode = 3
EURPM.PrintMode = 2
// 蓄積実行指示
EURPM.PrintPMReport()
If Err.Number = 0 Then
// 複数JobIDの取得
jobidlist = EURPM.GetJobIDList()
// 取得したJobIDの表示
For cnt = 0 To UBound(jobidlist, 1)
Response.Write(jobidlist(cnt))
Response.Write("<BR>")
Next
Else
// エラー処理
errid= Err.Number
If errid=-301 Then
End If
End If
%>
</BODY>
</HTML>
(3) Java起動部品を使用する場合
import java.util.ArrayList;
import JP.co.Hitachi.soft.EURPM.*;
public class SAMPLE {
public static void main(String[] args) {
// 変数定義
int iCnt = 0;
EURPMAdapterForJava obj = null;
ArrayList alJobID = null;
try {
// オブジェクト生成
obj = new EURPMAdapterForJava();
// 帳票ファイルの指定
obj.setReportFileName("Report1.fms");
// マッピングデータファイルの指定
obj.setDataFileName("Report1_1000P.csv");
obj.setDataFilePath("c:\\Temp");
// 分割定義ファイルの指定
obj.setSplitFileName("PMPageSplit.txt");
obj.setSplitFilePath("c:\\Temp");
// そのほかのパラメタの指定
obj.setSplitMode(3);
obj.setPrintMode(2);
//蓄積実行指示
obj.printReport();
// 複数ジョブIDの取得
alJobID = new ArrayList();
alJobID = obj.getJobIDList();
for(iCnt = 0; iCnt < alJobID.size(); iCnt++){
System.out.println(alJobID.get(iCnt));
}
} catch (EURPMException ce) {
// エラー処理
int errid;
errid = ce.getErrorCode();
if (errid==301) {
}
}
}
}
(4) COBOL起動部品を使用する場合
IDENTIFICATION DIVISION.
PROGRAM-ID.
EURPMADCTEST.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INP-FL ASSIGN DATAFILENAME
ORGANIZATION LINE SEQUENTIAL.
CONFIGURATION SECTION.
SPECIAL-NAMES.
CDECL IS CDECL.
EXTERNAL-PROGRAM SECTION.
CALL-CONVENTION.
'PrintReport2' IS CDECL
DATA DIVISION.
FILE SECTION.
FD INP-FL.
01 INP-REC PIC X(512).
WORKING-STORAGE SECTION.
01 EURPMPARAM1.
COPY 'EURPMPARAM1.cbl'.
01 EURPMPARAMJOBID.
COPY 'EURPMPARAMJOBID.cbl'.
*変数定義
01 RTNCODE PIC S9(9) BINARY.
01 IX1 PIC S9(9) BINARY.
01 REPNAME PIC X(256) VALUE SPACE.
01 MAPNAME PIC X(256) VALUE SPACE.
01 MAPPATH PIC X(256) VALUE SPACE.
01 SPLITNAME PIC X(256) VALUE SPACE.
01 SPLITPATH PIC X(256) VALUE SPACE.
01 SPMODE PIC S9(9) BINARY.
01 PRTMODE PIC S9(9) BINARY.
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-START.
MOVE ZERO TO RTNCODE
MOVE ZERO TO IX1
* 帳票ファイルの指定
MOVE 'Report1.fms' TO REPNAME
* マッピングデータファイルの指定
MOVE 'Report1_1000P.csv' TO MAPNAME
MOVE 'C:\Temp' TO MAPPATH
* 分割定義ファイルの指定
MOVE PMPageSplit.txt' TO SPLITNAME
MOVE 'C:\Temp' TO SPLITPATH
* そのほかのパラメタの指定
MOVE 3 TO SPMODE
MOVE 2 TO PRTMODE
MOVE REPNAME TO REPORTNAME OF EURPMPARAM1
MOVE MAPNAME TO MAPPINGDATA OF EURPMPARAM1
MOVE MAPPATH TO MAPPINGDATAPATH OF EURPMPARAM1
MOVE SPLITNAME TO SPLITFILENAME OF EURPMPARAM1
MOVE SPLITPATH TO SPLITFILEPATH OF EURPMPARAM1
MOVE SPMODE TO SPLITMODE OF EURPMPARAM1
MOVE PRTMODE TO PRINTMODE OF EURPMPARAM1
* 蓄積実行指示
CALL 'PrintReport2' USING BY REFERENCE EURPMPARAM1
EURPMPARAMJOBID
RETURNING RTNCODE
* 複数ジョブIDの表示
PERFORM VARYING IX1
FROM 1
BY 1
UNTIL IX1 > JOBIDNUM OF EURPMPARAMJOBID
DISPLAY JOBID OF EURPMPARAMJOBID(IX1)
END-PERFORM
STOP RUN.
MAIN-END.
EXIT.