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== { //以下,そのほかのエラー処理を繰り返す : } }