Hitachi

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


2.8.2 ファイル出力とメモリ出力のコーディング例

〈この項の構成〉

(1) ファイル出力の場合のコーディング例

次に示すパラメタを指定して,EPF形式データをファイル出力します。出力ファイルは,EUR Server - Adapter稼働マシンに出力されます。

■入力ファイル(印刷定義ファイル):EUR Server Service稼働マシンに配置

帳票ファイル名:sample1.fms

■入力ファイル(ユーザデータファイル):EUR Server - Adapter稼働マシンに配置

マッピングデータファイルのパス:c:¥Temp

マッピングデータファイル名:data1.csv

■出力ファイル

出力EPF形式ファイルのパス:c:¥Inetpub¥wwwroot¥EPF

出力EPF形式ファイル名:sample1_EPF.epf

■そのほか

印刷範囲:1〜10ページ

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

<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="JP.co.Hitachi.soft.EURPM.*" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<jsp:useBean id="adapter" class="JP.co.Hitachi.soft.EURPM.EURPMAdapterForJava" scope="session" />
 
               ・
               ・
               ・
<%
  try {
      String hostName = request.getServerName();
 
      adapter.setReportFileName("sample1.fms");      // 帳票名設定
      adapter.setDataFilePath("c:\\Temp");
                                // マッピングデータファイルのパス設定
      adapter.setDataFileName("data1.csv");
                                // マッピングデータファイル名設定
      adapter.setPrintStartPage(1);             // 印刷開始ページ設定
      adapter.setPrintEndPage(10);              // 印刷終了ページ設定
      adapter.setEPFFilePath("c:\\Inetpub\\wwwroot\\EPF");
                                        // EPF形式ファイル出力パス設定
      adapter.setEPFFileName("sample1_EPF.epf");
                                        // EPF形式ファイル名設定
      adapter.outputEPFReport();        // EPF形式ファイル出力要求
 
  }
// エラー処理
  catch (JP.co.Hitachi.soft.EURPM.EURPMException e) {
      out.println("<P>エラー発生<br>");
      out.println("<table BORDER CELLSPACING=2 CELLPADDING=4 >");
      out.println("<tr><th>メソッド</th><th>取得結果</th></tr>");
      out.println("<tr><td>エラーコード</td>");
      out.println("<td>" + e.getErrorCode() + "</td></tr>");
      out.println("<tr><td>メッセージ</td>");
      out.println("<td>" + e.getMessage() + "</td></tr>");
      out.println("<tr><td>エラーレベル</td>");
      out.println("<td>" + e.getErrorLevel() + "</td></tr>");
      out.println("<tr><td>メッセージID</td>");
      out.println("<td>" + e.getKey() + "</td></tr>");
      out.println("</table>");
  }
%>

(2) メモリ出力の場合のコーディング例

次に示すパラメタを指定して,EPF形式データをメモリ出力します。

■入力ファイル(印刷定義ファイル):EUR Server Service稼働マシンに配置

帳票ファイル名1:都道府県.fms

帳票ファイル名2:名簿(ローマ字).fms

帳票ファイル名3:アルファベット一覧.fms

■入力ファイル(ユーザデータファイル)

帳票ファイル名1のマッピングデータ:"東京,神奈川,千葉,埼玉"

帳票ファイル名2のマッピングデータ:"TARO,NAHAKO,JIRO,YOKO,SABURO,NAOMI"

帳票ファイル名3のマッピングデータ:"A,B,C,D,E,F,G,H"

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

import JP.co.Hitachi.soft.EURPM.*;
 
    try {
      EURPMAdapterForJava obj=new EURPMAdapterForJava();
      String target = request.getRemoteAddr();
      frmFileNames = (String[])(3);
      Array.set(frmFileNames, 0, “都道府県.fms”);
      Array.set(frmFileNames, 1, “名簿(ローマ字).fms”);
      Array.set(frmFileNames, 2, “アルファベット一覧.fms”);
      obj.setMultiReportFileName(frmFileNames);
                         //帳票ファイル名の指定
 
      StringBuffer[] mapFileDatas = new StringBuffer[3];
      StringBuffer mapFileData;
      mapFileData = new StringBuffer();
      mapFileData.insert(0, "東京,神奈川,千葉,埼玉");
      Array.set(mapFileDatas, 0, mapFileData);
      mapFileData = new StringBuffer();
      mapFileData.insert(1, "TARO,NAHAKO,JIRO,YOKO,SABURO,NAOMI ");
      Array.set(mapFileDatas, 1, mapFileData);
      mapFileData = new StringBuffer();
      mapFileData.insert(2, "A,B,C,D,E,F,G,H");
      Array.set(mapFileDatas, 2, mapFileData);
      obj.setDataFileData(mapFileDatas);
                         //マッピングデータの指定
 
      ByteBuffer outputFileData = adp.getEPFReport();
                         //EPF形式データの取得
    }
    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==   {
                     //以下,そのほかのエラー処理を繰り返す
              :
      }
    }