Entradas

Mostrando las entradas de abril, 2012

Migrando a GeneXus X.

Imagen
En los últimos meses he estado ocupado, migrando sistemas que estaban en GeneXus 9.0 a GeneXus X Evolution I. La migración mas grande es de una KB que necesita tener muchas aprobaciones, pruebas, auditorias y demás y hemos pasado casi todos las pruebas con éxito. Ya estamos muy próximo a la liberación definitiva y es todo un alivio. Es una aplicación WIN y WEB, con muchos procesos batch e interconexion con webservices con muchos puntos, por lo que la migración no fue trivial, pero por suerte se comporto mucho mejor de lo esperado. Tenía bastante miedo a la parte WIN de la aplicación, pero fue la que tuvo menos problemas. Los problemas que arreglamos fueron varios 1) ComboBox que antes permitían valores no validos y ahora se cambian a un valor default. Si teníamos un combobox, con valores 1 y 2, pero a la variable se le asignaba un 3, antes mantenía ese valor, y ahora le deja el valor default, lo cual nos complico en 2 o tres casos, que eran erroneos en 9.0. 2) Cancelaban

Nueva version del KBDoctor.

Imagen
El miercoles dediqué parte del dia a mejorar el KBDoctor. Es increible, pero pasaron 5 años desde el primer GXChallenge donde competimos para hacer extensiones. Durante este tiempo lo use varias veces, pero ahora tenia que emplearlo mas a fondo y entonces decidi arreglar las cosas que me molestaban y dificultaban el trabajo. Los principales cambios son: Mas objetos se marcan como no alcanzables (tablas, dominios, imagenes, SDT, External Programs, etc). Antes eran solo programas y atributos. Los objetos no alcanzables, se marcan con la propiedade GenerateObject=False. Ordenar Menu y ajusto menu para que aparezca abajo de Tools.  En los reportes de atributos, se excluyen los que son subtipos. Esto es para que no me sugiera que tengo que modificar un subtipo, cuando en realidad, lo que tengo que arreglar es el supertipo.  En los reportes de errores de atributos, permite abrir los mismos para poder cambiarlos. En los reportes de atributos, si el mismo tiene un dominio, sugie

IBM DB2: SQL con soporte a consultas temporales.

Imagen
La nueva version de la base de datos de IBM DB2 , viene con soporte para consultas temporales , lo que permite modelar mucho mejor aplicaciones que tengan que mantener vigencias en las tablas. Por ejemplo, la tabla de PAISES, es bastante estatica, pero cambia cada tanto en los nombres de los mismos. Tambien se crean nuevos paises y algunos paises se dividen en dos y dejan de existir. Para modelar esto, generalmente se agrega un rango de fechas (FechaInicial-FechaFinal, o VIGENCIA) donde sus atriibutos secundarios son validos. En DB2, ahora se pueden escribir sentencias de la forma UPDATE paises  FOR PORTION OF BUSINESS_TIME FROM '2007-03-01' TO '2009-04-01' SET paisnombre = 'Checoslovaquia' WHERE PaisID = 123; que solo va a valer en ese rango de fechas establecidas. De esta forma las aplicaciones podrían ejecutar en el momento actual (como hacemos ahora) y también en el futuro o en el pasado, o sea cambiando la FECHA_VALOR o FECHA_EJECUCION,