6.2.3 コーディング例

次に示すパラメタを指定して,分割した印刷データをスプールサーバに蓄積します。

入力ファイル(印刷定義ファイル):EUR Server Service稼働マシンに配置
帳票ファイル名:Report1.fms
入力ファイル(ユーザデータファイル):EUR Server - Adapter稼働マシンに配置
マッピングデータファイルのパス:c:¥Temp
マッピングデータファイル名:Report1_1000P.csv
分割定義ファイルのパス:c:¥Temp
分割定義ファイル名:PMPageSplit.txt

コーディング例を次に示します。

<この項の構成>
(1) コマンド起動部品(eurpmcコマンド)を使用する場合
(2) ActiveX起動部品を使用する場合
(3) Java起動部品を使用する場合
(4) COBOL起動部品を使用する場合

(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.