6.1.4 コーディング例
次に示すパラメタを指定して,仕分けした印刷データをスプールサーバに蓄積します。
- ■入力ファイル(印刷定義ファイル):EUR Server Service稼働マシンに配置
-
帳票ファイル名:Report1.fms
- ■入力ファイル(ユーザデータファイル):EUR Server - Adapter稼働マシンに配置
-
マッピングデータファイルのパス:c:\Temp
マッピングデータファイル名:Report1_1000P.csv
仕分け定義ファイルのパス:c:\Temp
仕分け定義ファイル名:PMDistribute.txt
コーディング例を次に示します。
- 〈この項の構成〉
(1) コマンド起動部品(eurpmcコマンド)を使用する場合
EURPMC.exe /m print /mapp "c:\Temp" /splitf "PMDistribute.txt" /splitfp "c:\Temp" /pm spl /split key /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 = "PMDistribute.txt" EURPM.SplitFilePath = "c:\Temp" // そのほかのパラメタの指定 EURPM.SplitMode = 2 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("PMDistribute.txt"); obj.setSplitFilePath("c:\\Temp"); // そのほかのパラメタの指定 obj.setSplitMode(2); 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 'PMDistribute.txt' TO SPLITNAME MOVE 'C:\Temp' TO SPLITPATH * そのほかのパラメタの指定 MOVE 2 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.