Entradas

Mostrando las entradas de enero, 2024

Programa Genexus para cambiar codigo GeneXus usando expresiones regulares.

Imagen
  En una KB que tenia muchos años tuvimos que hacerla multi-idioma.  Hay un trabajo grande de poner a los string que no son traducibles el símbolo ! delante.  Por ejemplo donde antes decía where ClienteActivo = 'S' hay que poner where ClienteActivo = EstadoCliente.Activo  o where ClienteActivo = !'S' Hice un programa para leer un archivo de un export de GeneXus y cambiar el código para hacer el segundo cambio.  Lo que hace es recorrer el archivo del export y se fija si esta en una parte modificable (Source, Rules, Conditions, Source de DataProvider o Data Selector, etc) Dentro de esas partes, hay también propiedades, variables, etc que no deberían cambiarse por lo que solo cambia algo si está dentro de una sección <!CDATA.  A su vez, hay varias excepciones que deben contemplarse, por ejemplo cuando se tiene codigo javascript embebido en el código, o comandos CSHARP, JAVA, SQL o los nombres de las Subrutinas que no deben cambiarse, y no se pueden marcar como no traduc