viernes, noviembre 24, 2006

Segunda reunión de la Comunidad GeneXus en Montevideo

Segunda reunión de la Comunidad GeneXus en Montevideo
 

 

El próximo sábado 25 de noviembre, haremos la segunda reunión de la comunidad, más allá de pasar un buen rato entre amigos, esta vez nos vamos a entretener con la incorporación de un par de conferencias:

 

        *****   Demo-Future: Gastón MIlano nos mostrara las cosas que haremos con la Rocha CTP2

 

        *****  Demo-Retro: Jorge Mastropietro & Carlos Enciso nos mostraran las cosas que hacían con la 3.0 (versión DOS)

 

 

El lugar será el mismo de la vez anterior, restaurante El Lobizón, Calle San José 1242 esq Yí a las 12 hs.

 

El costo del ticket es de $ 200 (all inclusive) y hay variedad de platos para elegir, los tickets se reservan con anticipacion.

 

Si alguien quiere plantearnos alguna idea o sugerencia, todas son bienvenidas.

 

Quienes tengan interés, por favor pónganse en contacto con nosotros respondiendo este mail o a info@gxopen.com.uy

 

De paso despedimos el 2006 !!

 

GXOpen Task Force
We believe in GeneXus.

Uso de &Mode no Documentado...

Hace un par de semanas teníamos que implementar una especie de auditoria para un sistema que íbamos a poner en producción en pocos días.
Mediante GXPublic generamos unos programitas que se encargaban de devolver un xml con el valor correspondiente a la tabla que se le pasara.
En el evento Start de todas las TRN pegamos dos líneas de código similares a las que pongo aquí:
 
Event Start
    .......
    
    &Clave_Tabla = Trim('') + Trim(PaisCod) + '|' + Trim(Str(Dptcod)) + '|'
    PAuditoriaStart.Call(Tablas.PAIDEPZON,'PAIDEPZON',&Clave_Tabla, &Mode, &Xml_Clave_Origen2,&Xml_Origen2)
EndEvent  // Start
 
Después de haber realizado el cambio en 500 TRN del sistema y hacer build all + compilación completa probamos y en todas las TRN teníamos un comportamiento no esperado. En algunas TRN cuando presionábamos el botón confirmar nos hacía un Return, en otras nos daba un mensaje de que el registro 0 no existia.
 
Después de haber probado miles de cosas consultamos a Soporte, después de plantear la situación soporte de Artech nos dio una gran mano ya que analizamos el problema juntos. Por suerte la gente de Soporte consulto a desarrollo del generador Java y revisando el código generado se dieron cuenta de que se estaba haciendo un chequeo del &Mode.
 
En realidad nosotros no usábamos el &Mode para nada, solo que se lo pasábamos al procedimiento AuditoriaStart pero adentro no lo modificabamos. El &Mode tampoco lo pasábamos en las rules ni nada, en síntesis el &Mode no participaba en nada.
 
Al final nos explicaron de que el especificador si encuentra al &Mode en el Start lo usa como si fuera una Rules por eso nos estaba haciendo un control ya que el &Mode no traía un valor valido.
 
La verdad de que yo nunca me hubiera dado cuenta de eso ya que en ninguna documentación aparece de que no se puede usar el &Mode en el evento Start llamando a un proc. :-)
 
Por suerte tuve el apoyo se Soporte de Artech para solucionar este problema, al final lo que hice fue quitar el &Mode y listo.
 
Lo documento por si a alguien le pasa lo mismo.