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

<この項の構成>
(1) ファイル出力の場合のコーディング例
(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==   {
                    //以下,そのほかのエラー処理を繰り返す
             :
     }
   }