La culpa fue del spectrum
lunes, 25 de julio de 2011
Acceder al AS400 desde Libre Office usando JDBC.
Pero entrando ya en materia, voy a explicar como configurar Libre Office para acceder a una tabla de nuestro AS400 utilizando JDBC, por supuesto todo esto es valido para Open Office.
Descargar jtopen
Jtopen es la versión de código abierto del toolbox que IBM incluye con Iseries Access. Consigue que acceder desde cualquier aplicación java al AS400 sea sencillo, o más sencillo de lo que muchos piensan.
La última versión en la 7.4, la descargamos si no la tenemos ya. Si tienes una versión anterior ya descargada también es valida.
Configurar libreoffice para usar jtopen
Arrancamos libre office, vamos a configurarlo para que use Jtopen.
Pulsamos en herramientas, y luego en libreoffice elegimos java (la última de las que aparecen desplegadas)
Después pulsamos en el botón ruta de clase y en la ventana que nos aparece pulsamos agregar paquete y navegamos hasta la ubicación de la carpeta donde tengamos descomprimido el zip del jtopen.
Buscamos jt400.rar y lo seleccionamos. Pulsamos Aceptar.
Nos aparece el mensaje de advertencia para que nos acordemos de que hay que cerrar libreoffice para que se apliquen los cambios.
Con esto ya tenemos configurado nuestro libreoffice para usar jtopen, en la siguiente entrada crearemos la conexión.
lunes, 28 de marzo de 2011
Convertir Listados AS400 a PDF
Si se utiliza en un servidor linux, y este esta programado para que se reinicie periódicamente o bien el que se reinicia es el AS400 (la verdad es que ninguno de los dos lo necesita), para esos casos siempre podemos programar una tarea que ejecute el comando utilizando cron. Pero esto ya es otra historia.
jueves, 30 de diciembre de 2010
Instalar DEBIAN 5.0 LENNY EN CITRIX XENSERVER
Yo como recomienda ctitrix quería instalarlo desde la plantilla que incluye, la ventaja de usar las plantillas es evidente pero el problema de esta plantilla es que busca el arranque desde una ruta muy especifica para xen (ruta /netboot/xen), ruta que por cierto las imágenes normales de instalación no tienen.
Esto ocasiona que al arrancar la maquina virtual muestre un error y no comience la instalación. En este momento se puede buscar información en la web para ver como solucionar el problema, encontré un enlace donde te dan la información para descargar una imagen utilizando Jigdo, pero lamentablemente esa imagen ya no esta disponible de forma completa y el proceso nunca llega a completarse.
En los comentarios una de las opciones que recomiendan es instalar desde url, y efectivamente esto puede funcionar buscando un servidor que tenga la ruta que arriba comento, pero el problema es que la web que recomiendan http://mirrors.cn99.com/debian no parece una web muy recomendable, tampoco es una web oficial del proyecto debian por lo que no me gustaba la idea de instalar desde ahí.
La solución que encontré fue realizar la instalación por url utilizando un servidor que tenga la ruta apropiada. En mi caso fue un mirror alemán, concretamente este:
http://ftp.de.debian.org/debian/dists/stable/main/installer-i386/current/images/netboot/xen/
Como podéis ver tiene la ruta adecuada.
Para instalar solo hay que indicarle http://ftp.de.debian.org/debian y la plantilla se encarga de comenzar la instalación, a partir de ese momento hacemos una instalación en modo texto y la completamos de forma normal.
lunes, 8 de noviembre de 2010
Modificar Tablas
Sigo estando vivo, y esto no esta abandonado, digamos que he tenido una época un poco cargada, he cambiado de empleo y eso me ha llevado a tener menos tiempo del poco que ya tenía.
Para retomar un poco el blog, un pequeño apunte de como realizo las modificaciones en una tabla (o fichero) del AS400 que ya se esta usando para añadir otro campo más. Hablo de añadir por el final de la tabla, insertar o modificar un campo ya existente es más delicado.
- Primero cambio los lógicos de esa tabla a LVLCHK(*NO) si no lo estaban. Usando el CHGLF
- Segundo modifico la tabla, añado el campo y realizo el CHGPF indicando LVLCHK(*NO), todo esto cuando la tabla no este en uso.
- Tercero compilo los programas que van a usar el nuevo campo, el resto de programas siguen funcionando como si nada, aun así para asegurar puedes compilar todos los programas que usen esa tabla pero no es imprescindible.
miércoles, 30 de junio de 2010
SQL desde ruby al AS400
require 'rubygems'
require 'odbc'
require 'dbi'
sentencia='select max(FECHA) from biblioteca.TABLA'
dbh = DBI.connect('DBI:ODBC:AS400', 'usu', 'pas')
sth = dbh.prepare(sentencia)
sth.execute
while row=sth.fetch do
eFEC=row[0]
end
sth.finish
dbh.disconnect
Para los que no sepan nada de ruby, require lo utilizamos para indicar las gemas que necesitas, digamos que las gemas son algo parecido a tener programas de servicio, o módulos en ile que vas a utilizar desde este programa.
En sentencia guardo la select que quiero hacer.
En el objeto dbh creo la conexión por odbc utilizando DBI, AS400 es el nombre de la conexión, usu y pas son usuario y contraseña para realizar la conexión.
A sth le asigno la conexión pasando como parámetro la sentencia y después ejecuto (sth.execute).
A row le voy pasando todos los datos que devuelve el cursor de la sentencia, en este caso solo devuelve un registro ya que busco la fecha más reciente, row es una matriz que tiene tantos valores como campos de la tabla tengamos seleccionados, las matrices en ruby empiezan desde cero, en este caso como solo hay un valor paso row[0] a una variable.
Después finalizo la ejecución cerrando el cursor y en la siguiente finalizo la conexión.
Esto es lo que realiza el programa, supongo que alguien experto en ruby lo explicaría mejor, pero estoy seguro de que esto servirá de ayuda a quien quiera empezar ha realizar algo en ruby teniendo que obtener datos del AS400.
Hay mucha información y manuales sobre ruby en la red pero no fue fácil encontrar información sobre como acceder por ODBC y mucho menos a una base de datos de un AS400.
Yo personalmente para la gente que tenga curiosidad recomiendo esta web, aquí podéis descargar la versión gratuita de un libro para empezar a aprender ruby desde cero.
jueves, 17 de junio de 2010
ODBC para AS400 en un XP
Espero poder ayudar a alguien, sino seguro que a mi mismo me servirá.
Para empezar tendré que instalar el driver que viene con el client access o iseries access.
Después en xp desde el panel de control, accedemos a Herramientas Administrativas y desde ahí a Orígenes de datos ODBC, ahí pinchamos en la opción DSN de sistema (pestaña central) y pulsamos en el botón agregar.

Elegimos la primera opción y pulsamos finalizar, a partir de ese momento nos aparecerá un asistente donde tendremos que configurar la conexión.
Primero definiremos el nombre y la ip de nuestro servidor AS400

En la pestaña servidor definiremos la biblioteca por omisión y la lista de bibliotecas disponibles, normalmente para mi esto no tiene gran importancia ya que después para acceder desde el código siempre lo realizo indicando la biblioteca antes de la tabla.
En la opción convenio de denominación siempre lo dejo por defecto y debajo si indico si quiero tener acceso de solo lectura, o bien de actualización.
Después es muy importante pulsar avanzadas para definir la modalidad de compromiso, separador decimal y formatos de fecha y hora, para adaptarlos a nuestras necesidades.

En la pestaña idioma definimos nuestro idioma y el resto de pestañas o bien las dejamos por defecto o modificamos si necesitamos alguna opción adicional.
Con esto ya podemos empezar ha realizar pruebas, yo en concreto esta configuración la he utilizado para hacer cosas con ruby. En otra entrada pondré un ejemplo de como lo he hecho, aunque ya aviso que mis conocimientos de ruby no son muy avanzados.
viernes, 21 de mayo de 2010
Cambio de Versión
Hoy ojeando la revista Server News, veo que el tema de portada es el cambiar de versión, el actualizarse a la última.
Leo y veo que comentan que a la gente le cuesta migrar de 5.4 a 6.1, y pienso....
Yo estoy en 5.2, conozco demasiada gente que trabaja con 5.1, 4.5 y 4.4 y por lo general veo que la dinámica en las empresas que tienen un AS400, al menos las que yo conozco, es si funciona no lo toques.
Esta claro que si uno trabaja con un AS400 es para tener la seguridad de que todos los días esta ahí funcionando, sin problemas, sin los sobresaltos de otras plataformas.
Yo en mis 15 años de experiencia con AS400 solo he realizado un cambio de versión, los demás cambios han sido por cambio de máquina. La verdad es que la experiencia del cambio de versión fue lenta pero sin problemas, seguí las instrucciones paso a paso y termine sin ningún problema.
En muchos casos estos cambios hay que realizarlos fuera de horario y si son máquinas que se usan las 24 horas del día, pues incluso en días festivos muy señalados.
Yo particularmente creo que me actualizaría, a una versión superior, sobre todo cuando esta te ofrece mejoras que sabes que son útiles para ti y para tu empresa y que además van a reportar beneficios para la empresa y sus usuarios.
Algunos si todavía estáis leyendo pensaréis en el porqué sigo en 5.2. Es sencillo no tengo soporte de software, en su día la empresa se negó a pagar el software subscription, el director general que teníamos en ese momento pesó que no era necesario.
Desde entonces no instalo nada que no sea totalmente imprescindible, supongo que como yo habrá mucha gente, es lo que yo llamo el mundo real.


