Hitachi

EUR 帳票出力 機能解説 EUR Server編(UNIX(R)用)


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.