001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.hayabusa.report; 017 018import org.opengion.hayabusa.common.HybsSystem; 019import org.opengion.hayabusa.common.HybsSystemException; // 7.0.6.4 (2019/11/29) 020 021import static org.opengion.fukurou.system.HybsConst.CR ; // 6.1.0.0 (2014/12/26) 022import org.opengion.fukurou.system.DateSet; // 6.4.2.0 (2016/01/29) 023import org.opengion.fukurou.system.LogWriter; 024import org.opengion.fukurou.util.StringUtil; 025import org.opengion.fukurou.db.ApplicationInfo; 026import org.opengion.fukurou.db.DBUtil; 027//import org.opengion.fukurou.mail.MailTX ; // 7.4.4.0 (2021/06/30) Delete 028import org.opengion.fukurou.db.ConnectionFactory; // 5.9.31.2 (2018/04/20) 029import org.opengion.fukurou.db.DBFunctionName; // 5.9.31.2 (2018/04/20) 030import org.opengion.fukurou.db.Transaction; // 5.9.31.2 (2018/04/20) 031import org.opengion.fukurou.db.TransactionReal; // 5.9.31.2 (2018/04/20) 032 033// import java.util.Arrays; // 8.0.0.0 (2021/07/31) Delete 034 035/** 036 * 帳票要求テーブル(GE50)と、エラーテーブル(GE56)に対して、データ書込みを行います。 037 * 038 * このクラスでは、4つの機能を実装しています。 039 * 040 * ●要求番号採番機能: makeYkno() 041 * 新たな要求番号を採番します(シーケンスより取得) 042 * 採番後、内部の要求番号(ykno)もこの値に再セットされます。 043 * ●帳票要求テーブルデータセット機能: insertGE50( final String fgkan ) 044 * 内部変数にセットされている値を利用して、データ登録を行います。 045 * 繰返し登録したい場合は、変更する値のみを、内部変数にセットしてから、 046 * このメソッドを呼び出してください。 047 * なお、完成フラグ(fgkan)は、内部変数に持っていないため、外部から指定してください。 048 * ●完成フラグ設定機能: updateGE50( final String fgkan ) 049 * 内部変数にセットされている、systemId と ykno を利用して、データ登録を行います。 050 * なお、完成フラグ(fgkan)は、内部変数に持っていないため、外部から指定してください。 051 * ●エラーメッセージ登録機能: insertErrorGE56( final String inErrMsg ) 052 * エラー発生時に、エラーメッセージを登録します。 053 * 内部変数にセットされている、systemId と ykno を利用して、データ登録を行います。 054 * なお、このメソッドは、要求テーブルの完成フラグは、なにもしませんので、 055 * 完成フラグ設定機能と併用してください。 056 * また、システムパラメータ の COMMON_MAIL_SERVER(メールサーバー)と 057 * ERROR_MAIL_FROM_USER(エラーメール発信元)と、ERROR_MAIL_TO_USERS(エラーメール受信者) 058 * がすべて設定されている場合に、エラー情報のメール送信を行います。 059 * 060 * @og.rev 3.8.0.0 (2005/06/07) 新規追加 061 * @og.group 帳票システム 062 * 063 * @version 4.0 064 * @author Kazuhiko Hasegawa 065 * @since JDK5.0, 066 */ 067public class GE50Access { 068 /** 完成フラグのフラグ定義(登録) {@value} */ 069 public static final String FG_SET = "1"; // 登録 070 /** 完成フラグのフラグ定義(済み) {@value} */ 071 public static final String FG_OK = "2"; // 済み 072 /** 完成フラグのフラグ定義(実行中) {@value} */ 073 public static final String FG_RUN = "3"; // 実行中 074 /** 完成フラグのフラグ定義(手動) {@value} */ 075 public static final String FG_HAND = "4"; // 手動 076 /** 完成フラグのフラグ定義(印刷待ち) {@value} */ 077 public static final String FG_WAIT = "5"; // 印刷待ち 078 /** 完成フラグのフラグ定義(取込済) {@value} */ 079 public static final String FG_DBIN = "6"; // 取込済 Ver 3.8.0.0 080 /** 完成フラグのフラグ定義(デーモンエラー) {@value} */ 081 public static final String FG_ERR1 = "7"; // デーモンエラー 082 /** 完成フラグのフラグ定義(アプリエラー) {@value} */ 083 public static final String FG_ERR2 = "8"; // アプリエラー 084 085 // GE50 の要求番号のシーケンスを取得します。 086// private static final String GE50_SEQ = "SELECT GE50_SEQUENCE.NEXTVAL FROM DUAL" ; 087// private static final String GE50_SEQ = "GE50_SEQUENCE"; // 5.9.31.2 (2018/04/20) 088 private static final String GE50_SEQ = "GE50S01"; // 7.0.6.4 (2019/11/29) シーケンス名が間違っていた。 089 090// // 5.2.0.0 (2010/09/01) Ver4互換モード対応 091// // 6.9.5.0 (2018/04/23) VER4_COMPATIBLE_MODE 廃止 092// private static final String OUT_FILE = HybsSystem.sysBool( "VER4_COMPATIBLE_MODE" ) ? "OUTFILE" : "OUT_FILE"; 093// private static final String OUT_DIR = HybsSystem.sysBool( "VER4_COMPATIBLE_MODE" ) ? "OUTDIR" : "OUT_DIR"; 094 095 // GE50 に要求データを設定します。 096 // 5.0.3.0 (2009/11/04) OUTFILE ⇒ OUT_FILE , OUTDIR ⇒ OUT_DIR 097 // 5.2.0.0 (2010/09/01) Ver4互換モード対応 098 // 6.9.5.0 (2018/04/23) VER4_COMPATIBLE_MODE 廃止 099 private static final String GE50_INSERT = 100 "INSERT INTO GE50" + 101// " (SYSTEM_ID,YKNO,LISTID,JOKEN,FGKAN,"+OUT_DIR+","+OUT_FILE+",COMMENTS," + 102 " (SYSTEM_ID,YKNO,LISTID,JOKEN,FGKAN,OUT_DIR,OUT_FILE,COMMENTS," + 103 " FGJ,DYSET,DYUPD,USRSET,USRUPD,PGUPD,DMN_NAME,DMN_HOST )" + 104 " VALUES" + 105 " (?,?,?,?,?,?,?,SUBSTRB(?,1,100)," + 106 " '1',?,?,?,?,?,?,? )" ; 107 108 // GE50 の完成フラグを設定するSQL文です。 109 // 3.8.0.4 (2005/08/08) PGUPD も更新するように変更 110 private static final String GE50_UPDATE = 111 "UPDATE GE50 SET FGKAN = ? , DYUPD = ? , DMN_NAME = ? , DMN_HOST = ? " + 112 " WHERE FGJ = '1'" + 113 " AND SYSTEM_ID = ?" + 114 " AND YKNO = ?" ; 115 116 // GE56 のエラー情報を書き込むためのSQL文です。 117 private static final String GE56_ERRMSG = 118 "INSERT INTO GE56" + 119 " ( FGJ,SYSTEM_ID,YKNO,ERRMSG,DYSET,DYUPD,USRSET,USRUPD,PGUPD )" + 120 " VALUES ( '1',? ,? ,? ,? ,? ,? ,? ,? )" ; 121 122 /** コネクションにアプリケーション情報を追記するかどうか指定 */ 123 public static final boolean USE_DB_APPLICATION_INFO = HybsSystem.sysBool( "USE_DB_APPLICATION_INFO" ) ; 124 125 // 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 126 private final ApplicationInfo appInfo; 127 private final String DBID = HybsSystem.sys( "RESOURCE_DBID" ); // 5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対応 128 129 private final String USRSET ; 130 private final String PGUPD ; 131 private final String DMN_NAME ; // 3.8.5.0 (2006/03/02) 132 133 private String systemId ; 134 private String ykno ; 135 private String listid ; 136 private String joken ; 137 private String outdir ; 138 private String outfile ; 139 private String comments ; 140// private String fgnoml ; // 5.10.0.0 (2018/06/08) ADD 帳票エラーメールの改修 141 //private boolean fgnoml ; // 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 7.4.4.0 (2021/06/30) Delete 142 143 /** ファンクション名 */ 144 protected final DBFunctionName dbName = DBFunctionName.getDBName( ConnectionFactory.getDBName( DBID ) ); // 5.9.31.2 (2018/04/20) 145 146 /** 147 * ユーザーとプログラムIDを指定して、オブジェクトを構築します。 148 * このオブジェクトを構築した時刻を、DYSET、DYUPD にセットします。 149 * つまり、このオブジェクトで登録する一連のデータは、すべて同一時刻での登録になります。 150 * 151 * @og.rev 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 152 * 153 * @param usrset ユーザー 154 * @param prgupd プログラムID 155 * @param dmnName 更新デーモン名 156 */ 157 public GE50Access( final String usrset, final String prgupd ,final String dmnName) { 158 USRSET = substr( usrset, 10, "UNNONE" ) ; 159 PGUPD = substr( prgupd, 10, "UNNONE" ) ; 160 DMN_NAME = substr( dmnName,50, "UNNONE" ) ; 161 162 // 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 163 if( USE_DB_APPLICATION_INFO ) { 164 appInfo = new ApplicationInfo(); 165 // ユーザーID,IPアドレス,ホスト名 166 appInfo.setClientInfo( USRSET,HybsSystem.HOST_ADRS,HybsSystem.HOST_NAME ); 167 // 画面ID,操作,プログラムID 168 appInfo.setModuleInfo( "GE50Access",null,DMN_NAME ); 169 } 170 else { 171 appInfo = null; 172 } 173 } 174 175 /** 176 * systemId をセットします。 177 * 178 * @param systemId システムID 179 */ 180 public void setSystemId ( final String systemId ) { this.systemId = systemId; } 181 182 /** 183 * systemId を取得します。 184 * 185 * @return システムID 186 */ 187 public String getSystemId() { return systemId; } 188 189 /** 190 * listid をセットします。 191 * 192 * @param listid 帳票ID 193 */ 194 public void setListId( final String listid ) { this.listid = listid; } 195 196 /** 197 * joken をセットします。 198 * 199 * @param joken 振分条件 200 */ 201 public void setJoken( final String joken ) { this.joken = joken; } 202 203 /** 204 * outdir をセットします。 205 * 206 * @param outdir 出力DIR 207 */ 208 public void setOutDir( final String outdir ) { this.outdir = outdir; } 209 210 /** 211 * outfile をセットします。 212 * 213 * @param outfile 出力ファイル 214 */ 215 public void setOutFile( final String outfile ) { this.outfile = outfile; } 216 217 /** 218 * comments をセットします。 219 * 220 * @param comments コメント 221 */ 222 public void setComments( final String comments ) { this.comments = comments; } 223 224 /** 225 * ykno をセットします。 226 * 227 * @param ykno 要求番号 228 */ 229 public void setYkno( final String ykno ) { this.ykno = ykno; } 230 231 /** 232 * ykno を取得します。 233 * 234 * @return 要求番号 235 */ 236 public String getYkno() { return ykno; } 237 238 // /** 239 // * 帳票エラー時のメール不要フラグをセットします(初期値=false:送信する)。 240 // * 241 // * 帳票エラー時のメール送信は帳票IDの正規表現でコントロール可能でしたが、 242 // * ID単位に未送信フラグを持たせてコントロール可能にします。 243 // * 帳票の動作にDBのカラム追加が伴うためバージョンを5.10系に上げます。 244 // * エラーメールが不要の場合は、"true", もしくは、1文字の場合のみ、"0" 以外の場合が、 245 // * メール不要として、エラーメールを送信しません。 246 // * 247 // * @og.rev 5.10.0.0 (2018/06/08) ADD 248 // * @og.rev 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 249 // * @og.rev 7.3.0.0 (2021/01/06) 紛らわしい名前のメソッド(setFgNoMl → setFgnoml) 250 // * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(GE54.FGNOML廃止) 251 // * 252 // * @param flag メール不要フラグ 253 // */ 254// public void setFgNoMl( final String fgnoml ) { this.fgnoml = fgnoml; } 255// public void setFgNoMl( final String flag ) { 256 // 7.4.4.0 (2021/06/30) Delete 257 // public void setFgnoml( final String flag ) { 258 // fgnoml = StringUtil.nval( flag,fgnoml ); // true,TRUE,0以外の1文字の場合、true、それ以外は、初期値 259 // } 260 261 /** 262 * 新たな要求番号を採番します(シーケンスより取得) 263 * 採番後、内部の要求番号(ykno)もこの値に再セットされます。 264 * 265 * @og.rev 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 266 * @og.rev 5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対策 267 * @og.rev 5.9.31.2 (2018/04/20) シーケンスの取り方を変更 268 * @og.rev 7.0.6.4 (2019/11/29) TransactionRealのclose漏れ対応 269 * 270 * @return 要求番号 271 */ 272 public String makeYkno() { 273// try { 274// // final String[][] vals = DBUtil.dbExecute( GE50_SEQ,null,appInfo, DBID ); // 5.5.5.1 (2012/08/07) 275// // ykno = vals[0][0].trim(); 276// final Transaction tran = new TransactionReal( appInfo ); // 5.9.31.2 (2018/04/20)f 277 try( Transaction tran = new TransactionReal( appInfo ) ) { // 7.0.6.4 (2019/11/29) try-with-resources文 278 ykno = Integer.toString( dbName.getSequence( GE50_SEQ, tran, DBID ) ); 279 } 280 catch( final RuntimeException ex ) { 281 final String errMsg = "要求番号の採番に失敗しました。" + CR 282 + " SQL=" + GE50_SEQ + CR ; // 7.0.6.4 (2019/11/29) ex.getMessage は、追記しない。 283// + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg 修正 284 LogWriter.log( errMsg ); 285 LogWriter.log( ex ); 286 287 throw new HybsSystemException( errMsg,ex ); // 7.0.6.4 (2019/11/29) 288 } 289 return ykno ; 290 } 291 292 /** 293 * 帳票要求テーブルにデータをセットします。 294 * 内部変数にセットされている値を利用して、データ登録を行います。 295 * 繰返し登録したい場合は、変更する値のみを、内部変数にセットしてから、 296 * このメソッドを呼び出してください。 297 * なお、完成フラグ(fgkan)は、内部変数に持っていないため、外部から指定してください。 298 * 299 * @og.rev 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 300 * @og.rev 5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対策 301 * @og.rev 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。 302 * 303 * @param fgkan 完成フラグ 304 */ 305 public void insertGE50( final String fgkan ) { 306 final String DYSET = DateSet.getDate( "yyyyMMddHHmmss" ) ; // 6.4.2.0 (2016/01/29) 307 308 // GE50_INSERT の引数 309 final String[] args = new String[] { 310 systemId, // SYSTEM_ID 311 ykno , // YKNO 312 StringUtil.nval( listid,"NO_LIST" ), // LISTID 313 StringUtil.nval( joken,"NO_JOKEN" ), // JOKEN 314 fgkan, // FGKAN 315 StringUtil.nval( outdir,"" ), // OUT_DIR 316 StringUtil.nval( outfile,"" ), // OUT_FILE 317 StringUtil.nval( comments,"" ), // COMMENTS 318 DYSET, // DYSET 319 DYSET, // DYUPD 320 USRSET, // USRSET 321 USRSET, // USRUPD 322 PGUPD, // PGUPD 323 DMN_NAME, // DMN_NAME 324 HybsSystem.HOST_NAME // DMN_HOST 325 } ; 326 327 try { 328 DBUtil.dbExecute( GE50_INSERT,args,appInfo, DBID ); // 5.5.5.1 (2012/08/07) 329 } 330 catch( final RuntimeException ex ) { 331 final String errMsg = "帳票要求テーブルデータセットに失敗しました。" + CR 332 + " SQL=" + GE50_INSERT + CR 333 + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg 修正 334 LogWriter.log( errMsg ); 335 LogWriter.log( ex ); 336 } 337 } 338 339 /** 340 * 処理終了後に完成フラグを設定します。 341 * 内部変数にセットされている、systemId と ykno を利用して、データ登録を行います。 342 * なお、完成フラグ(fgkan)は、内部変数に持っていないため、外部から指定してください。 343 * 344 * @og.rev 3.8.0.4 (2005/08/08) PGUPDを追加 345 * @og.rev 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 346 * @og.rev 5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対策 347 * @og.rev 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。 348 * 349 * @param fgkan 完成フラグ 350 */ 351 public void updateGE50( final String fgkan ) { 352 final String DYSET = DateSet.getDate( "yyyyMMddHHmmss" ) ; // 6.4.2.0 (2016/01/29) 353 354 final String[] args = new String[] { 355 fgkan, // FGKAN 356 DYSET, // DYUPD 357 DMN_NAME, // DMN_NAME 358 HybsSystem.HOST_NAME, // DMN_HOST 359 systemId, // SYSTEM_ID 360 ykno // YKNO 361 } ; 362 363 try { 364 DBUtil.dbExecute( GE50_UPDATE,args,appInfo, DBID ); // 5.5.5.1 (2012/08/07) 365 } 366 catch( final RuntimeException ex ) { 367 final String errMsg = "完成フラグ設定に失敗しました。" + CR 368 + " SQL=" + GE50_UPDATE + CR 369 + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg 修正 370 LogWriter.log( errMsg ); 371 LogWriter.log( ex ); 372 } 373 } 374 375 /** 376 * エラー発生時に、エラーメッセージを登録します。 377 * 内部変数にセットされている、systemId と ykno を利用して、データ登録を行います。 378 * 379 * @og.rev 3.8.5.3 (2006/06/30) エラーメッセージを 4000Byte以下にする。 380 * @og.rev 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 381 * @og.rev 5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対策 382 * @og.rev 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。 383 * @og.rev 5.10.0.0 (2018/06/08) メール不要フラグ(fgNoMl)の判定を追加。 384 * @og.rev 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 385 * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(GE54.FGNOML廃止) 386 * 387 * @param inErrMsg エラーメッセージ 388 */ 389 public void insertErrorGE56( final String inErrMsg ) { 390 391 String outErrMsg = (inErrMsg == null) ? "" : inErrMsg.trim(); 392 if( outErrMsg.length() > 2000 ) { 393 final String code = HybsSystem.sys( "DB_ENCODE" ); 394 final byte[] byteValue = StringUtil.makeByte( outErrMsg,code ); 395 if( byteValue.length > 4000 ) { 396 outErrMsg = StringUtil.makeString( byteValue,0,4000,code ); 397 } 398 } 399 final String DYSET = DateSet.getDate( "yyyyMMddHHmmss" ) ; // 6.4.2.0 (2016/01/29) 400 401 final String[] args = new String[] { 402 systemId, 403 ykno, 404 outErrMsg , // ERRMSG 405 DYSET, // DYSET 406 DYSET, // DYUPD 407 USRSET, // USRSET 408 USRSET, // USRUPD 409 PGUPD }; // PGUPD 410 411 try { 412 DBUtil.dbExecute( GE56_ERRMSG,args,appInfo, DBID ); // 5.5.5.1 (2012/08/07) 413 } 414 catch( final RuntimeException ex ) { 415 final String errMsg = "エラーメッセージテーブルセットに失敗しました。" + CR 416 + " SYSTEM_ID=[" + systemId + "] , YKNO=[" + ykno + "]" + CR 417 + " SQL=" + GE56_ERRMSG + CR 418 + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg 修正 419 LogWriter.log( errMsg ); 420 LogWriter.log( ex ); 421 } 422 423// sendMail( outErrMsg ); // 3.8.0.4 (2005/08/08) 424 // 5.10.0.0 (2018/06/08) MOD メール不要フラグが1以外の場合、メールを送信します 425// if( !"1".equals(fgnoml) ) { 426 // 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 427 // 7.4.4.0 (2021/06/30) Delete 428 // if( ! fgnoml ) { 429 // sendMail( outErrMsg ); // 3.8.0.4 (2005/08/08) 430 // } 431 } 432 433 /** 434 * substring を補完する簡易メソッド 435 * 436 * substring で、文字をカットする場合、文字列長が、カットする文字数より 437 * 長い必要があります。ここでは、最大長に制限をかけることが目的なので 438 * 入力文字長が指定文字数より小さいケースがあります。そのチェックを 439 * 簡易的に実行できるように、このメソッドで処理します。 440 * 441 * @param inStr 入力文字 442 * @param len 最大文字数 443 * @param defVal NULL 時の初期値 444 * 445 * @return 指定の文字数でカットされた新しい文字列 446 */ 447 private String substr( final String inStr, final int len, final String defVal ) { 448 return inStr == null 449 ? defVal 450 : inStr.length() > len 451 ? inStr.substring( 0,len ) 452 : inStr ; 453 } 454 455 // /** 456 // * エラー情報のメール送信を行います。 457 // * エラーメールは、システムパラメータ の COMMON_MAIL_SERVER(メールサーバー)と 458 // * ERROR_MAIL_FROM_USER(エラーメール発信元)と、ERROR_MAIL_TO_USERS(エラーメール受信者) 459 // * がすべて設定されている場合に、送信されます。 460 // * 461 // * @og.rev 3.8.0.4 (2005/08/08) 新規追加 462 // * @og.rev 5.7.0.4 (2013/11/29) listIdの絞込み 463 // * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(GE54.FGNOML廃止) 464 // * 465 // * @param inErrMsg エラーメッセージ 466 // */ 467 // private void sendMail( final String inErrMsg ) { 468 469 // final String host = HybsSystem.sys( "COMMON_MAIL_SERVER" ); 470 // final String from = HybsSystem.sys( "ERROR_MAIL_FROM_USER" ); 471 // final String[] to = StringUtil.csv2Array( HybsSystem.sys( "ERROR_MAIL_TO_USERS" ) ); 472 // final String match_txt = HybsSystem.sys( "REPORT_ERRMAIL_REGEX" ); // 5.7.0.4 (2013/11/29) 473 474 // if( host != null && from != null && to.length > 0 ) { 475 // if( match_txt == null || match_txt.isEmpty() 476 // || listid == null || listid.isEmpty() 477 // || listid.matches( match_txt ) ){ // 5.7.0.4 (2013/11/29) 478 // // 3.8.5.0 (2006/03/02) DMN_NAME、DMN_HOST 追加 479 // // 5.7.0.4 (2013/11/29) listid追加 480 // final String subject = "SYSTEM_ID=[" + systemId + "] , YKNO=[" + ykno + "] , " 481 // + "DMN_NAME=[" + DMN_NAME + "] , DMN_HOST=[" + HybsSystem.HOST_NAME + "]" 482 // + "LISTID=[" + listid +"]"; 483 // try { 484 // final MailTX tx = new MailTX( host ); 485// // tx.setHost( host ); 486 // tx.setFrom( from ); 487 // tx.setTo( to ); 488 // tx.setSubject( "帳票エラー:" + subject ); 489 // tx.setMessage( inErrMsg ); 490 // tx.sendmail(); 491 // } 492 // catch( final Throwable ex ) { 493 // final String errMsg = "エラー時メール送信に失敗しました。" + CR 494 // + " SUBJECT:" + subject + CR 495 // + " HOST:" + host + CR 496 // + " FROM:" + from + CR 497 // + " TO:" + Arrays.toString( to ) + CR 498 // + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg 修正 499 // LogWriter.log( errMsg ); 500 // LogWriter.log( ex ); 501 // } 502 // } 503 // } 504 // } 505}