Programa Genexus para cambiar codigo GeneXus usando expresiones regulares.
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 c...