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 */ 016 package org.opengion.plugin.daemon; 017 018 import org.opengion.hayabusa.common.HybsSystem; 019 import org.opengion.hayabusa.common.HybsSystemException; 020 import org.opengion.hayabusa.report.GE50Access; 021 import org.opengion.hayabusa.report.ReportProcessing; 022 import org.opengion.fukurou.util.LogWriter; 023 import org.opengion.fukurou.util.StringUtil; 024 import org.opengion.fukurou.util.HybsTimerTask; 025 import org.opengion.fukurou.util.ApplicationInfo; 026 import org.opengion.fukurou.db.DBUtil; 027 028 import java.util.Map; 029 import java.util.HashMap; 030 import java.util.Date; 031 032 /** 033 * ã€ãƒ¬ãƒã?トå?力ã?å¸³ç¥¨è¦æ±‚テーブルを監視ã—ã¦ã€å¸³ç¥¨å‡¦ç??ãƒã‚°ãƒ©ãƒ?‚’呼ã³å‡ºã—ã¾ã™ã? 034 * ã“ã?クラスã¯ã€HybsTimerTask を継承ã—㟠タイマã?タスククラスã§ã™ã? 035 * startDaemon() ãŒã‚¿ã‚¤ãƒžã?タスクã«ã‚ˆã£ã¦ã€å‘¼ã³å‡ºã•れã¾ã™ã? 036 * 037 * @og.rev 4.3.4.4 (2009/01/01) プラグインåŒ? 038 * @og.group ãƒ??モン 039 * 040 * @version 4.0 041 * @author Kazuhiko Hasegawa 042 * @since JDK5.0, 043 */ 044 public class Daemon_Report extends HybsTimerTask { 045 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */ 046 private static final String VERSION = "5.7.0.4 (2013/11/29)" ; 047 048 // 3.7.0.0 (2005/01/18) è¤?•°åŒæ™‚ãƒ??モン時ã?ã€åŒä¸?¸³ç¥¨IDã¯å‡¦ç?§ããªã?? 049 // 実行ä¸ã®å¸³ç¥¨ID ã‚’ã‚»ãƒ?ƒˆã™ã‚‹ã€static Map 050 private static final Map<String,String> USE_LISTID = new HashMap<String,String>(); 051 052 // 3.8.5.0 (2006/03/06) EXCELをオープンã™ã‚‹ãƒ•ァイルåã«è¦æ±‚番å·ã‚’使ã??åˆã?ã€true 053 private static final boolean EXCEL_NAME_USE_YKNO = HybsSystem.sysBool( "REPORT_EXCEL_NAME_USE_YKNO" ); 054 055 // 5.2.0.0 (2010/09/01) Ver4互æ›ãƒ¢ãƒ¼ãƒ‰å¯¾å¿? 056 private static final String OUT_FILE = HybsSystem.sysBool( "VER4_COMPATIBLE_MODE" ) ? "OUTFILE" : "OUT_FILE"; 057 private static final String OUT_DIR = HybsSystem.sysBool( "VER4_COMPATIBLE_MODE" ) ? "OUTDIR" : "OUT_DIR"; 058 059 // 3.7.0.0 (2005/01/18) GE53 ã« DMN_GRP追åŠ?«ã‚ˆã‚‹ã€æ¤œç´¢æ¡ä»¶ã®å¤‰æ›´ 060 // 5.1.0.0 (2009/11/04) OUTDIR â‡?OUT_DIR , OUTFILE â‡?OUT_FILE 061 // 5.2.0.0 (2010/09/01) Ver4互æ›ãƒ¢ãƒ¼ãƒ‰å¯¾å¿? 062 private static final String GE50_SELECT = 063 // "SELECT A.SYSTEM_ID,A.YKNO,A.GROUPID,A.LISTID,A.JOKEN,A.OUT_DIR,A.OUT_FILE,A.USRSET" + 064 "SELECT A.SYSTEM_ID,A.YKNO,A.GROUPID,A.LISTID,A.JOKEN,A."+OUT_DIR+",A."+OUT_FILE+",A.USRSET" + 065 " FROM GE50 A,GE53 B" + 066 " WHERE A.SYSTEM_ID = B.SYSTEM_ID" + 067 " AND A.JOKEN = B.JOKEN" + 068 " AND A.FGJ = '1'" + 069 " AND B.FGJ = '1'" + 070 " AND A.FGKAN = '1'" ; 071 072 private ReportProcessing rc = null; 073 074 // 3.5.4.9 (2004/02/25) メãƒ?‚»ãƒ¼ã‚¸å‡ºåŠ›æ™‚ã®ãƒ«ãƒ¼ãƒ—カウンãƒ?を追åŠ? 075 private int loopCnt = 0; 076 private static final int LOOP_COUNTER = 24; // カウンタã‚?4回ã«è¨å®? 077 078 // 3.7.0.0 (2005/01/18) GE53 ã« DMN_GRP追åŠ?«ã‚ˆã‚‹ã€æ¤œç´¢æ¡ä»¶ã®å¤‰æ›´ 079 private String GE_SELECT = null; 080 081 // 3.8.5.0 (2006/03/06) プリンタIDãŒã?引数ã‹ã‚‰æ¸¡ã•れるå?åˆã?対å¿? 082 private String PRTID = null; 083 // 3.8.5.0 (2006/03/06) ãƒ??モンåã‚’è¨å®šã—ã¾ã™ã? 084 private String DMN_NAME = null; 085 // 3.8.5.0 (2006/03/06) ãƒ?ƒãƒ?‚°ç”¨ã®ãƒ•ラグを追åŠ?—ã¾ã™ã? 086 private boolean debug = false; // å°æ–‡å—ã«ä¿®æ£ 087 088 // 3.8.5.3 (2006/06/30) タイマã?タスクãŒã‚ャンセルã•れãŸå?åˆã?åœæ¢ãƒ•ラグ 089 private boolean running = true; 090 091 /** コãƒã‚¯ã‚·ãƒ§ãƒ³ã«ã‚¢ãƒ—リケーションæƒ??を追記ã™ã‚‹ã‹ã©ã?‹æŒ?®?*/ 092 public static final boolean USE_DB_APPLICATION_INFO = HybsSystem.sysBool( "USE_DB_APPLICATION_INFO" ) ; 093 094 // 3.8.7.0 (2006/12/15) アクセスãƒã‚°å–å¾—ã?為,ApplicationInfoオブジェクトをè¨å®? 095 private ApplicationInfo appInfo; 096 private final String DBID = HybsSystem.sys( "RESOURCE_DBID" ); // 5.5.5.1 (2012/08/07) リソース系DBID 付ã‘忘れ対å¿? 097 098 /** 099 * ã“ã?タイマã?タスクã«ã‚ˆã£ã¦åˆæœŸåŒ–ã•れるアクションã§ã™ã? 100 * パラメータを使用ã—ãŸåˆæœŸåŒ–を行ã„ã¾ã™ã? 101 * 102 * @og.rev 3.6.0.7 (2004/11/12) æ–°è¦è¿½åŠ? 103 * @og.rev 3.7.0.0 (2005/01/18) 帳票定義マスタ(GE54)ã‚’å‚ç…§ã™ã‚‹ã‚ˆã†ã«ä»•様変更 104 * @og.rev 3.8.7.0 (2006/12/15) アクセスãƒã‚°å–å¾—ã?為,ApplicationInfoオブジェクトをè¨å®? 105 * @og.rev 4.0.1.0 (2007/12/19) GE50ã®æ¤œç´¢é ?‚’シスãƒ?ƒ リソースã§è¨å®šå¯èƒ½ã«ã™ã‚‹ 106 */ 107 @Override 108 public void initDaemon() { 109 110 // 3.7.0.0 (2005/01/18) GE50, GE54 ã® USRUPD ã«ã€ãƒ‡ãƒ¼ãƒ¢ãƒ³åã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã? 111 // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 112 113 // 3.8.5.0 (2006/03/06) ãƒ??モンåã‚’è¨å®šã—ã¾ã™ã? 114 DMN_NAME = getName(); 115 116 StringBuilder buf = new StringBuilder(); 117 buf.append( GE50_SELECT ); 118 119 // SYSTEM_ID ã¯ã€æŒ‡å®šãŒãªã‘れã°ã€å?件検索対象ã«ãªã‚Šã¾ã™ã? 120 String systemId = getValue( "SYSTEM_ID" ); 121 if( ! StringUtil.isNull( systemId ) ) { 122 // if( systemId != null && systemId.trim().length() > 0 ) { 123 buf.append( " AND A.SYSTEM_ID='" ).append( systemId ).append( "'" ); 124 } 125 126 // 3.8.5.0 (2006/03/06) DMN_GRP ã¯ã€å¿??æŒ?®? 127 // 5.1.9.0 (2010/08/01) Avoid if (x != y) ..; else ..; 128 String dmnGroup = getValue( "DMN_GRP" ); 129 if( StringUtil.isNull( dmnGroup ) ) { 130 String errMsg = "ãƒ??モングループã?å¿??æŒ?®šã§ã™ã?" ; 131 throw new HybsSystemException( errMsg ); 132 } 133 else { 134 buf.append( " AND B.DMN_GRP='" ).append( dmnGroup ).append( "'" ); 135 } 136 137 // 3.8.5.0 (2006/03/06) GE50 ã®æ¤œç´¢æ¡ä»¶ã«ã€MODBASE 㨠MODNO を使用ã™ã‚‹ã€? 138 // ãƒ??モン起動時㫠æœ?¤§æ•°(MODBASE)ã¨ä½™ã‚Šç•ªå·(MODNO)を渡ã—ã¾ã™ã? 139 // æœ?¤§æ•°(MODBASE)ã‚’å?ã«ã€æ¤œç´¢æ™‚ã«ã€YKNOã®ä½™ã‚Šã‚’求ã‚ã€ã“れãŒã€? 140 // 引数ã®ä½™ã‚Šç•ªå·(MODNO)ã¨ä¸??ã™ã‚‹å ´åˆã?ã¿ã€å?ç?‚’ã—ã¾ã™ã? 141 String modBase = StringUtil.nval( getValue( "MODBASE" ),null ); 142 String modNo = StringUtil.nval( getValue( "MODNO" ),null ); 143 if( modBase != null && modNo != null ) { 144 buf.append( " AND MOD(A.YKNO," ).append( modBase ).append( ")=" ).append( modNo ); 145 } 146 147 // 3.8.5.0 (2006/03/06) PRTID ãŒæŒ‡å®šã•れã¦ã?‚Œã°ã€ãã®å€¤ã‚’使用ã™ã‚‹ã€‚ãªã‘れ㰠NULL 148 PRTID = StringUtil.nval( getValue( "PRTID" ), null ); 149 150 // 3.8.5.0 (2006/03/06) PRT_GRP ãŒæŒ‡å®šã•れã¦ã?‚Œã°ã€æŒ¯åˆ?¡ä»¶æ¤œç´¢æ™‚ã«ä½¿ç”¨ã™ã‚‹ã€? 151 String prtGgrp = getValue( "PRT_GRP" ); 152 if( ! StringUtil.isNull( prtGgrp ) ) { 153 // if( prtGgrp != null && prtGgrp.trim().length() > 0 ) { 154 buf.append( " AND B.PRT_GRP='" ).append( prtGgrp ).append( "'" ); 155 } 156 157 // buf.append( " ORDER BY A.SYSTEM_ID,A.LISTID,A.GROUPID,A.YKNO 158 buf.append( " ORDER BY " ); // 4.0.1.0 (2007/12/19) 159 buf.append( HybsSystem.sys( "REPORT_DAEMON_ORDER_BY" ) ); 160 161 GE_SELECT = buf.toString() ; 162 163 // 3.8.5.0 (2006/03/06) ãƒ?ƒãƒ?‚°ç”¨ã®ãƒ•ラグを追åŠ?—ã¾ã™ã? 164 debug = StringUtil.nval( getValue( "DEBUG" ),debug ) ; 165 166 if( debug ) { 167 System.out.println( "DMN_NAME=[" + DMN_NAME + "]" ); 168 System.out.println( "MODNO=[" + modNo + "]" ); 169 System.out.println( "QUERY=[" + GE_SELECT + "]" ); 170 System.out.println( "EXCEL_NAME_USE_YKNO=[" + EXCEL_NAME_USE_YKNO + "]" ); 171 } 172 173 // 3.8.7.0 (2006/12/15) アクセスãƒã‚°å–å¾—ã?為,ApplicationInfoオブジェクトをè¨å®? 174 if( USE_DB_APPLICATION_INFO ) { 175 appInfo = new ApplicationInfo(); 176 // ユーザーID,IPアドレス,ホストå 177 appInfo.setClientInfo( systemId,HybsSystem.HOST_ADRS,HybsSystem.HOST_NAME ); 178 // ç”»é¢ID,æ“ä½?プãƒã‚°ãƒ©ãƒ?D 179 appInfo.setModuleInfo( "ReportDaemon",PRTID,DMN_NAME ); 180 } 181 else { 182 appInfo = null; 183 } 184 } 185 186 /** 187 * タイマã?タスクã®ãƒ??モン処ç??é–‹å§‹ã?イントã§ã™ã? 188 * 189 * @og.rev 3.5.2.0 (2003/10/20) vals 変数をã?ãƒãƒ¼ã‚«ãƒ«ã«ç§»å‹? 190 * @og.rev 3.5.4.8 (2004/02/23) タイãƒ?‚¹ã‚¿ãƒ³ãƒ—ã‚’ã€?¼‘ï¼å›žã«?‘回ã¨ã™ã‚‹ã€? 191 * @og.rev 3.6.0.0 (2004/09/17) タイãƒ?‚¹ã‚¿ãƒ³ãƒ—ã‚’ã€?¼’4回ã«?‘回ã¨ã™ã‚‹ã€? 192 * @og.rev 3.6.1.0 (2005/01/05) tyr ??catch ã‚?Exception ã‹ã‚‰ Throwable ã«å¤‰æ›´ã€? 193 * @og.rev 3.7.0.0 (2005/01/18) è¤?•°åŒæ™‚ãƒ??モンã§ã‚‚ã?åŒä¸?¸³ç¥¨IDã¯å‡¦ç?§ããªã?‚ºã€ã‚¹ã‚ãƒ??ã—ã¾ã™ã? 194 * @og.rev 3.7.0.4 (2005/03/18) エラー発生時㫠vals ã?null ãªã‚‰ã?HybsSystemException ã‚?throw ã™ã‚‹ã€? 195 * @og.rev 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 196 * @og.rev 3.8.0.0 (2005/06/07) EXCEL å–込時ã?完æ?フラグã¯ã€FG_DBIN ã¨ã—ã¾ã™ã? 197 * @og.rev 3.8.0.0 (2005/06/07) rc.execute() å®Ÿè¡Œçµæžœã‚?boolean ã§ã¯ãªãã?æ–?—å?(FGKAN_XX)ã§è¿”ã—ã¾ã™ã? 198 * @og.rev 3.8.5.0 (2006/03/06) EXCELファイルåã«è¦æ±‚番å·ã‚’使ã??åˆã?ã€å¸³ç¥¨IDã§ã®æŽ’他制御ã¯ä¸è¦ã? 199 * @og.rev 3.8.5.2 (2006/05/31) DEBUG æƒ??ã®å¼·åŒ? 200 * @og.rev 3.8.6.0 (2006/06/30) タイマã?タスクãŒã‚ャンセルã•れãŸå?åˆã?処ç?‚’追åŠ?running フラグ) 201 * @og.rev 3.8.7.0 (2006/12/15) アクセスãƒã‚°å–å¾—ã?為,ApplicationInfoオブジェクトをè¨å®? 202 * @og.rev 5.3.0.0 (2010/12/01) エラーãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã‚’ä¿®æ£ 203 * @og.rev 5.5.5.1 (2012/08/07) リソース系DBID 付ã‘忘れ対ç? 204 * @og.rev 5.7.0.4 (2013/11/29) listIdã‚’GE50Accessã«æ¸¡ã™ã‚ˆã?«ã™ã‚‹ 205 */ 206 @Override 207 protected void startDaemon() { 208 if( loopCnt % LOOP_COUNTER == 0 ) { 209 loopCnt = 1; 210 System.out.println(); 211 System.out.print( toString() + " " + new Date() + " " ); 212 } 213 else { 214 System.out.print( "." ); 215 loopCnt++ ; 216 } 217 218 // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 219 GE50Access ge50 = null ; 220 221 int row = 0; 222 String[][] vals = null; 223 try { 224 // vals = DBUtil.dbExecute( GE_SELECT,null,appInfo ); // 3.8.7.0 (2006/12/15) 225 vals = DBUtil.dbExecute( GE_SELECT,null,appInfo, DBID ); // 5.5.5.1 (2012/08/07) 226 if( vals != null && vals.length > 0 ) { 227 228 // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 229 // 毎回 オブジェクトを構築ã—ã¾ã™ã?登録日付ãŒåˆæœŸåŒ–ã•れã¾ã™ã? 230 ge50 = new GE50Access( null,null,DMN_NAME ) ; // 3.8.5.0 (2006/03/06) 231 232 if( rc == null ) { rc = new ReportProcessing(); } 233 // 3.8.6.0 (2006/06/30) タイマã?タスクãŒã‚ャンセルã•れãŸå?åˆã?処ç?‚’追åŠ?running フラグ) 234 for( row=0; running && row<vals.length; row++ ) { 235 // 3.7.0.0 (2005/01/18) 使用ä¸ã®å¸³ç¥¨IDã®ãƒã‚§ãƒ?‚¯ã¨ã€ä½¿ç”¨æ™‚ã?登録 236 String systemId = vals[row][0] ; 237 String ykno = vals[row][1] ; 238 String listId = vals[row][3] ; 239 // 3.8.5.0 (2006/03/06) EXCELファイルåã«è¦æ±‚番å·ã‚’使ã??åˆã?ã€å¸³ç¥¨IDã§ã®æŽ’他制御ã¯ä¸è¦ã? 240 if( ! EXCEL_NAME_USE_YKNO ) { 241 synchronized( USE_LISTID ) { 242 if( USE_LISTID.get( listId ) != null ) { 243 continue; // 使用ä¸ãªã‚‰ã?飛ã?ã™ã? 244 } 245 else { 246 USE_LISTID.put( listId,"DUMMY" ); 247 } 248 } 249 } 250 251 // ãƒ?ƒãƒ?‚°æƒ??ã‚’å?力ã—ã¾ã™ã? 252 if( debug ) { 253 System.out.println(); 254 System.out.print( "[" + DMN_NAME + "]:[" + ykno + "] START = " ); 255 System.out.println( new Date() ); 256 } 257 258 // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 259 ge50.setSystemId( systemId ); 260 ge50.setYkno( ykno ); 261 ge50.updateGE50( GE50Access.FG_RUN ); 262 263 ge50.setListId( listId ); // 5.7.0.4 (2013/11/29) 264 265 // system_id,ykno,groupid,listid,joken,outdir,outfile,usrset 266 rc.setSystemId( systemId ); 267 rc.setYkno( ykno ); 268 rc.setGroupId( vals[row][2] ); 269 rc.setListId( listId ); 270 rc.setJoken( vals[row][4] ); 271 // rc.setPrtid( PRTID ); // 3.8.5.0 (2006/03/06) PRTIDを使用ã™ã‚‹ã€? 272 rc.setPrtId( PRTID ); // 4.3.4.4 (2009/01/01) メソãƒ?ƒ‰å変更 273 rc.setOutDir( vals[row][5] ); 274 rc.setOutFile( vals[row][6] ); 275 rc.setDebug( debug ); // 3.8.5.0 (2006/03/06) DEBUGを追åŠ?? 276 277 // 3.8.0.0 (2005/06/07) å®Ÿè¡Œçµæžœã‚?boolean ã§ã¯ãªãã?æ–?—å?(FGKAN_XX)ã§è¿”ã—ã¾ã™ã? 278 String fgkan = rc.execute(); 279 if( fgkan == null ) { 280 fgkan = GE50Access.FG_ERR2 ; 281 String errMsg = rc.getErrMsg(); 282 // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 283 ge50.insertErrorGE56( errMsg ); 284 } 285 286 // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 287 ge50.updateGE50( fgkan ); 288 289 rc.clear(); 290 // 3.8.5.0 (2006/03/06) EXCELファイルåã«è¦æ±‚番å·ã‚’使ã??åˆã?ã€å¸³ç¥¨IDã§ã®æŽ’他制御ã¯ä¸è¦ã? 291 if( ! EXCEL_NAME_USE_YKNO ) { 292 // 3.7.0.0 (2005/01/18) 使用ä¸ã®å¸³ç¥¨IDã®å‰Šé™¤ 293 synchronized( USE_LISTID ) { 294 USE_LISTID.remove( listId ); 295 } 296 } 297 298 // ãƒ?ƒãƒ?‚°æƒ??ã‚’å?力ã—ã¾ã™ã? 299 if( debug ) { 300 System.out.println(); 301 System.out.print( "[" + DMN_NAME + "]:[" + ykno + "] END = " ); 302 System.out.println( new Date() ); 303 } 304 } 305 } 306 } 307 // catch( Throwable ex ) { // 3.6.1.0 (2005/01/05) 308 // String errMsg = StringUtil.stringStackTrace( ex ) ; 309 // LogWriter.log( errMsg ); 310 // 311 // // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 312 // if( ge50 != null ) { 313 // ge50.insertErrorGE56( errMsg ); 314 // ge50.updateGE50( GE50Access.FG_ERR1 ); 315 // } 316 // 317 // // 3.7.0.4 (2005/03/18) vals ã?null ãªã‚‰ã?DBæŽ¥ç¶šã‚¨ãƒ©ãƒ¼ãŒæ¿?Žš 318 // if( vals == null ) { throw new HybsSystemException( ex ); } 319 // 320 // if( ! EXCEL_NAME_USE_YKNO ) { 321 // // 3.7.0.0 (2005/01/18) エラー発生時ã®ã€ä½¿ç”¨ä¸ã®å¸³ç¥¨IDã®å‰Šé™¤ 322 // synchronized( USE_LISTID ) { 323 // USE_LISTID.remove( vals[row][3] ); // listId 324 // } 325 // } 326 // 327 // rc = null; 328 // } 329 // 5.3.0.0 (2010/12/01) エラーãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã‚’ä¿®æ£ 330 catch( Throwable ex ) { // 3.6.1.0 (2005/01/05) 331 rc = null; 332 333 String errMsg = StringUtil.stringStackTrace( ex ) ; 334 System.out.println( errMsg ); 335 LogWriter.log( errMsg ); 336 337 if( ! EXCEL_NAME_USE_YKNO ) { 338 // 3.7.0.0 (2005/01/18) エラー発生時ã®ã€ä½¿ç”¨ä¸ã®å¸³ç¥¨IDã®å‰Šé™¤ 339 synchronized( USE_LISTID ) { 340 USE_LISTID.remove( vals[row][3] ); // listId 341 } 342 } 343 344 // 3.7.1.1 (2005/05/31) GE50Access を使用ã—ã¦ã€DB登録を行ã„ã¾ã™ã? 345 if( ge50 != null ) { 346 ge50.insertErrorGE56( errMsg ); 347 ge50.updateGE50( GE50Access.FG_ERR1 ); 348 } 349 350 // 3.7.0.4 (2005/03/18) vals ã?null ãªã‚‰ã?DBæŽ¥ç¶šã‚¨ãƒ©ãƒ¼ãŒæ¿?Žš 351 if( vals == null ) { 352 errMsg += "(vals == null)" ; 353 System.out.println( errMsg ); 354 LogWriter.log( errMsg ); 355 throw new HybsSystemException( ex ); 356 } 357 } 358 } 359 360 /** 361 * ã“ã?タイマã?タスクã®cancel() メソãƒ?ƒ‰ã‚’オーãƒã?ライドã—ã¾ã™ã? 362 * HybsTimerTaskManager#cancelTask( int ) を実行ã—ã¾ã™ã? 363 * 364 * @og.rev 3.8.5.3 (2006/06/30) æ–°è¦è¿½åŠ? 365 * 366 * @return スケジュールã•れã¦ã?‚‹ 1 回以上実行ã•れãªã??åˆã« true 367 * @see java.util.TimerTask#cancel() 368 */ 369 @Override 370 public boolean cancel() { 371 running = false; 372 return super.cancel(); 373 } 374 }