public void ejecuta() { try { envia = new Socket390c(nombreClase, "LB54"); if (!ObtenerDatos()) { this.exito = false; return; } } catch (Exception e) { this.codStatus = 99; this.msgStatus = "LB54" + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " ERROR AL EJECUTAR SERVICIO: " + e.getMessage(); SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Instanciando Objeto Socket 390", this.msgStatus); return; } finally { try { String canalMQ = ConfiguracionMQ.getInstance().getCANAL(); if (!canalMQ.equals("MQ")) { if (!envia.disconnect()) org.apache.log4j.Logger.getLogger(this.getClass()) .debug("No se pudo realizar la desconexion..Servicio LB54"); } else { if (daomq != null && cerrarMQ) { daomq.cerrarConexion(); daomq = null; } } } catch (Exception e) { org.apache.log4j.Logger.getLogger(this.getClass()) .debug( "Ocurrio una excepcion al intentar cerrar la conexion Servicio LB54.." + e.getMessage()); } } }
private boolean ObtenerDatos() { String commArea = null; String sResp = null; String tramaResp = null; boolean bandera = false; String canal = ""; // art52 24-01-2007 try { canal = ConfiguracionMQ.getInstance().getCANAL(); /* Revisamos si el canal por el cual se esta invocando la peticion */ if (canal.equals("MQ")) { if (daomq == null) { daomq = new ServiciosDAOMQ(); cerrarMQ = true; } /* Se arma trama de envio con los parametros de entrada, en la cabecesa se considera * 01 como tecla de funcion para Bloqueos */ commArea = SantanderUtileriasService.armaCabeceraPS7(canal, "LB54", "NB54", 10, this.teclaFunc); commArea += SantanderUtileriasService.rellenar(this.cliente, 8, ' ', 'I'); commArea += SantanderUtileriasService.rellenar(this.estatusToken, 2, '0', 'I'); org.apache.log4j.Logger.getLogger(this.getClass()).debug("TRAMA ENVIA [" + commArea + "]"); sResp = daomq.obtenerTrama(commArea); tramaResp = sResp; } else { if (!envia.connect()) { this.codStatus = envia.getCodigoEstatus(); this.msgStatus = "LB54" + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " " + envia.getMensajeEstatus(); SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } commArea = SantanderUtileriasService.armaCabeceraPS7(canal, "LB54", "NB54", 10, "00"); commArea += SantanderUtileriasService.rellenar(this.cliente, 8, ' ', 'I'); commArea += SantanderUtileriasService.rellenar(this.estatusToken, 2, '0', 'I'); org.apache.log4j.Logger.getLogger(this.getClass()).debug("TRAMA ENVIA [" + commArea + "]"); envia.setStrIn(commArea); if (!envia.send()) { this.codStatus = envia.getCodigoEstatus(); this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " " + envia.getMensajeEstatus(); SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } sResp = (envia.getStrOut() == null) ? "" : envia.getStrOut(); tramaResp = sResp; } org.apache.log4j.Logger.getLogger(this.getClass()).debug("TRAMA RECIBE [" + sResp + "]"); if (sResp.trim().equals("")) { this.codStatus = 99; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " SIN RESPUESTA 390"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } else if (sResp.indexOf("NO EXISTE TERMINAL ACTIVO") > -1) { this.codStatus = 99; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " NO HAY TERMINALES 390 PARA ATENDER LA PETICION"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } else if (sResp.indexOf("ABEND CICS") > -1 || sResp.indexOf("failed with abend") > -1) { this.codStatus = 99; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " TRANSACTION WITH ABEND"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } else if (sResp.indexOf("NO EXISTEN DATOS PARA LA CONSULTA SOLICITADA") > -1) { this.codStatus = 99; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " NO EXISTEN DATOS PARA LA CONSULTA SOLICITADA"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } else if (sResp.indexOf("NO HAY MOVIMIENTOS") > -1) { this.codStatus = 97; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " NO HAY MOVIMIENTOS"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } else if (sResp.indexOf("Transaction '' is not recognized") > -1) { this.codStatus = 99; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " NO HAY MOVIMIENTOS"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } else if (sResp.indexOf("MENSAJE RECIBIDO DEL PS7 ES ERRONEA") > -1) { this.codStatus = 99; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " FORMATO PS7 INCORRECTO PARA REALIZAR CONSULTA"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } else if (sResp.indexOf("@AVLBA") > -1) { org.apache.log4j.Logger.getLogger(this.getClass()) .debug( "---------------------------------------------------------------------------------"); org.apache.log4j.Logger.getLogger(this.getClass()) .debug("ESTA ES LA TRAMA DE RESPUESTA DESDE 390 <<<" + sResp + ">>>"); try { sResp = sResp.substring(sResp.indexOf("P") + 1); } catch (Exception e) { } org.apache.log4j.Logger.getLogger(this.getClass()) .debug("ESTA ES LA TRAMA DE RESPUESTA DESDE 390 DESPUES DEL SUBS <<<" + sResp + ">>>"); org.apache.log4j.Logger.getLogger(this.getClass()) .debug( "---------------------------------------------------------------------------------"); this.codStatus = 0; bandera = true; this.msgStatus = "LB54" + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " " + SantanderConstantesService.RESPUESTA_SOCKET; } else { this.codStatus = 99; this.msgStatus = "LB54 " + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " ERROR DESCONOCIDO"; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); return false; } SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); } catch (Exception e) { this.codStatus = 99; this.msgStatus = "LB54" + SantanderUtileriasService.rellenar("" + this.codStatus, 4, '0', 'I') + " ERROR AL EJECUTAR SERVICIO: " + e.getMessage(); SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, "ERROR AL EJECUTAR SERVICIO: " + e.getMessage()); return false; } if (this.codStatus == -1) { this.codStatus = 99; SantanderConstantesService.escribeAlLog( SantanderConstantesService.NIVEL2, "390", "LB54", this.codStatus, this.nombreClase, "Enviando la trama: " + commArea, this.msgStatus); } return bandera; }