Migrando de GeneXus 9.0 a GeneXus X.

March 22, 2018 | Author: MariaJosé Mora Acevedo | Category: Wiki, Cyberspace, Information Technology Management, Software, Areas Of Computer Science


Comments



Description

Desarrollando desde la trinchera.El blog de Enrique Almeida. Desarrollo de aplicaciones, GeneXus y otros divagues. miércoles, 23 de julio de 2008 Migrando de GeneXus 9.0 a GeneXus X. La idea de este post es comentar algunos de los problemas que he encontrado migrando desde Genexus 9.0 a GeneXus X. Tiene también algunos tips que pueden hacer mas fácil la vida (al menos la mia). Los pasos que hice fueron: 1) Copiar el directorio de la KB para guardar en caso que pase algo. Borrar de la KB el directorio de los modelos (los DATA00x). Esto es para asegurarme que no me queda ningun fuente viejo, ni ninguna dll, jar, etc de la versión anterior. 2) Entrar con GeneXus 9.0 a la KB y borrar todos los modelos que no se utilicen. Esto se hace con File/Delete Model estando en diseño. Conviene borrar el modelo de Backup (si existe) pues acelera la conversión. 3) Renombrar el domino Boolean si existiera y ponerle Boolean90. En GeneXus X Boolean es un tipo de datos nativos y si existe un domino Boolean (como el que usa el Pattern WorkWith, se arma lio). 4) Borrar todos los objetos que no se utilicen y los que sean WIN. Este paso no es indispensable, pero es muy saludable. Puede ahorrar muchos dolores de cabeza. 5) Salir de GeneXus 9.0 y compactar la KB y correr un rebuild. Tampoco es indispensable, pero sirve para ver si no hay algo mal en la KB original. 6) Abrir la KB con GeneXus X y realizar la conversión. Si por algún motivo cancela, hay que reportarlo a Artech. En las ultimas que he hecho ha funcionado sin problemas. 7) Revisar el conversion.txt siguiendo el link "Open conversion log" en la pantalla que indica que termina la conversión. Aunque diga Succes, hay veces que hay varios errores en la misma que visible=0 y si es una grilla normal. Hay que ver si se tienen algunas funciones que eran validas en 9. Successful Importing WebService from C:\Models\100\MTX1\kbdata\usrtypes\localhost_MTNet_amtwssolxmlMTWSSolX ML. Revisar los objetos que estan en la Categoria KBDoctor. 9) Revisar las propiedades de MasterPage y Default Theme y ponerle las correctas (no se bien porque no se migran correctamente) 10) Instalar el KBDoctor y correr las consultas: a) Objetos no alcanzables. >>>ERROR: Failed >>>ERROR: Object reference not set to an instance of an object. En mi caso tenia UDF (que las sustitui con UDP) Allownulls (hay que cambiar declarando en los atributos que puedan ser nulos) Hidden (Si es de una Grilla Freestyle . etc si no se van a usar.. * HTML mal formado Tambien hay que mirar a las correcciones que haga a programas que tengan html mal formado. hay que poner la columna como oculta) >>>WARNING: 'allownulls' is a deprecated function. pero muestra todo como Succesful.0 y que ahora no se pueden usar mas.. >>>WARNING: Webform modified to be XHTML well-formed * Deprecated functions. NO BORRAR TRANSACCIONES hasta no estar seguro.Unreachables y borrar todos los objetos que no se utilicen.conviene mirar: * Error al convertir webservices (no se porque no los muestra como errores) en mi caso Importing WebService from C:\Models\100\MTX1\kbdata\usrtypes\localhost_MTNet_amtwsfilsolMTWSFilSol. Line: 12. hay que cambiar el codigo y poner columna.. Converting WebPanel HDHorTaP. Se puede arreglar mas adelante.x ml . (Rules. Japones.. para revisar y ver como quedaron las pantallas.. Es bueno desmarcar el Chino. pero conviene conocerlo. >>>ERROR: Failed >>>ERROR: Object reference not set to an instance of an object. incluyendo atributos. Char: 1) >>>WARNING: 'nocheck' is a deprecated function. Char: 1) 8) Borrar los lenguajes que no se usan. Puede ser que . Line: 14. (Rules.xml .. para que no las genere.el objeto transaccion no se use. pase de 730 objetos a 634. pero si se necesitan para la creacion de tablas. Si hay transacciones que no se ejecutan. marcar la propiedad de dichos objetos. por lo que baje mas de un 15% la cantidad de objetos a especificar y un poquito mas . pero si se use la tabla que esta genera. Antes del KBDoctor Despues del KBDoctor En una KB chica que use para la migracion . Conviene mirarlos en detalle. user controls y demas que estan muy buenos.los que tengo que generar. Esto seguramente va a hacer mas rapido el ciclo de desarrollo. 10) Hacer un build all y arreglar todos los errores que aparezcan (esta es la parte divertida. 12) Compilar todo. Usen muchos DataSelectors.. y un conjunto de etceteras grandes. 14) Correr otras consultas del KBdoctor para poder arreglar otros errores. Borrar todas las variables que no se utilcen en los programas. 11) Revisar todos los warnings que aparezcan. dll del usuario.. si es necesario. Enviar esto por correo electrónicoBlogThis!Compartir en TwitterCompartir en Facebook . pero no hay receta que valga para arreglarlos. que se llama Disabled Warnings. crear nuevos dominos y despues borrar dichos atributos. Esto se hace en la propiedad del generador. En GeneXus X se hacen unas cuantas validaciones nuevas (generalmente necesarias) y por lo tanto se pueden tener mas warnings que en la versión anterior. Data Providers. Se puede tener problemas con programas externos. 13) Empezar a programar en GeneXus X. b) Atributos sin tabla base. Puede ser conveniente deshabilitar los warning spc0038 (no existe índice por esos atributos) y el de "Commit on Exit" por un rato hasta tener solucionados todos los problemas. UPDATE: Conviene mirar la pagina del Wiki que explica el proceso de conversion que tiene información mas completa y detallada de la migración. hasta que quede todo pipi-cucu. 15) Disfrutar la vida.. La mayoría de los problemas que tuve fueron con SDT que pasan a ser dominios en la conversión. Revisar donde estan siendo referenciados estos atributos y quitar dichas referencias. flag del compilador. c) Objetos con variables no usadas. Me ha ayudado a detectar problemas originales en la KB que no son de la conversión en si.Personalmente también exporto toda la KB antes de convertirla.NET. José ResponderEliminar Enrique Almeida30 de julio de 2008 12:42 .gxtechnical. para que la gente que quiera vea la pagina del wiki que esta muy completa.000 objetos. Soy novato en genexus. BTW: En la X no existen más los IDXs :) También he encontrado información sobre otros casos que me encontré en el wiki: http://wiki. Despues de publicar esto. de ese modo por lo menos obligo a que se lean todos los objetos. ResponderEliminar Anónimo30 de julio de 2008 12:30 Hola Enrique. algún lio de los IDXs porque con un rbld lo resolví (con el "-y" por las dudas). Gracias. disculpa. me podrias decir donde conseguir un ejemplo como imprimir en una impresora fiscal usando genexus?.com/commwiki/servlet/hwikibypageid?5710 ResponderEliminar Enrique Almeida25 de julio de 2008 18:48 Guscarr: Agrege un link en el post. te hago una consulta que no tiene nada que ver con el titulo. Uso GX 9 . Hace 10 minutos me pasó de nuevo con una KB de +6. intente migrar 2 kb mas (un poco mas grandes) y me cancelaron en forma estrepitosa por otros motivos :( Hay que seguir probando. . Podes mirar en http://www. es dificil arreglarlo. Saludos.aspx? impresora+fiscal. Demora mucho mas que convertir. apenas pueda hacer funcionar esto te envio código.com/gxsearch/hgenexussearch_f.gxtechnical.Jose: No tengo experiencia en impresoras fiscales. José ResponderEliminar Anónimo4 de noviembre de 2008 11:54 una pregunta no es mejor distribuir el modelo de gx9 y consolidarlo en gx10? ResponderEliminar Enrique Almeida4 de noviembre de 2008 11:58 Anonimo: El distribuir en 9. puede usarse (lo he usado)..0y consolidar en la X es una opcion. en KB mas grandes prefiero la otra solucion. . ResponderEliminar Anónimo30 de julio de 2008 18:58 Gracias Enrique. puede quedar diferente y por lo tanto la base de datos tiene diferencias. El modelo de datos. Algunos de los problemas que puede haber: Si un objeto no consolida. En KB chicas. pero no siempre es la mejor. ResponderEliminar Anónimo4 de febrero de 2009 23:51 Hola Enrique he leido tu post y seguido todos tus cosasejos. Migre una aplicación hecha en genexus 9..genexus.") > 99 ) ) ) { httpContext. Currentitem0 = (((SdtTPWBeneficiario_FamiliarItem)AV27benef.". "_GXV12Q").0 a GX X.". ".cgiGet( avCtlpwbennumfam_Internalname).ajax_rsp_assign_attri("".GX_msglist.getgxTv_SdtTPWBeneficiario_Fa miliar(). 1. .Vector.elementAt(Unknown Source) at com. pero cuando son multinivel me marca un error en ejecución.java:1093) es: AV46GXV1 = nGXsfl_97_fel_idx .addItem(localUtil.. y efectivamente sucedio cada una de las cosas que mensionas y las pude resolver.cgiGet( avCtlpwbennumfam_Internalname).elementAt(-1+AV46GXV1))).item(0).lang.elementAt(Unknown Source) at hpwsolben_impl.ArrayIndexOutOfBoundsException: 0 >= 0 at java.util.") < -9 ) ) || ( ( localUtil. ". GX_FocusControl = avCtlpwbennumfam_Internalname . identifique que el error tiene que ver con una propiedad de las columnas del grid "FieldSpecifier" Familiar. ".strup1B0(hpwsolben_impl.getMessages(). "GX_FocusControl".java:1093) la linea del código (hpwsolben_impl. false. ". if ( ( ( localUtil.PWBenPaternoFam cuando lo tengo en cero me manda el siguiente error: javax. pero tengo problema en los webpanels donde uso GRIDS y en estos grids introduzco BC.servlet. sin embargo estoy atorado en uno y ya perdi varios días dandole vuelta al asunto y no mas no queda.ServletException: java.getMessage("GXM_ba dnum").ctol( httpContext. cuando estos BC son de un nivel no hay ningun problema.ctol( httpContext. httpContext.GXObjectCollectionBase. alguna sugerencia en que fijarme¿? por que en realidad.elementAt(1+AV46GXV1)).. Ojala tengas tiempo de darle un vistazo e iluminarme con tu sabiduria.. .GX_FocusControl). GRACIAS! Laura. los SDT parecen estar bien formados. ((SdtTPWBeneficiario_FamiliarItem)AV27benef. ResponderEliminar Enrique Almeida6 de octubre de 2009 13:37 Laura: Que problemas estas teniendo?. me aparece vacio. te hago una pregunta..item(1). } else Suponiendo el problema era esta propiedad decidi cambiarla por: "FieldSpecifier" Familiar. bueno.setgxTv_SdtTPWBeneficiario_FamiliarItem_Pwbennumfam( (byt e)(0) ).getgxTv_SdtTPWBeneficiario_Fa miliar(). al compilar tengo como 100 errores de SDTs. vos decís que la mayoría de los problemas que tuviste fueron con SDTs. wbErr = true .. efectivamente al convertir desde la 9. Te da errores al generar o al compilar?.PWBenPaternoFam y desaparecio el error. Gracias Enrique Juan Esteban ResponderEliminar Laura Larrosa6 de octubre de 2009 12:27 Enrique. pero ahora ya nop puedo ver la información desplegada en el grid.0 a Xev1.... He podido solucionar todos los problemas que encontre. que no puedo exportar el objeto.com/commwiki/servlet/hwikibypageid?3152) los Objetos Privados aun no estan implementados en GeneXus X ni en la Evolution I. Esto hacia que si teniamos que hacer un reporte que acutualizar la base de datos (por ejemplo marcar una factura como impresa) se debia crear un reporte y un procedure. ResponderEliminar Anónimo17 de noviembre de 2009 14:15 Hola. Error! Private Object. pero cuando quiero migrar gxflow de 9. pero son bastantes variados. ResponderEliminar AB20 de mayo de 2010 01:08 donde esta el objeto report en el genexus x? alguien ke me ayude urgente!!! ResponderEliminar Enrique Almeida20 de mayo de 2010 08:31 AB: Los reportes los podes hacer con procedure. Creo que si tenes objetos privados vas a tener que esperar un poco para migrar. Antes teniamos procedures (podian modificar la base de datos) y reportes (tenian salida impresa). Es decir el proveedor me ha sembrado dichos programas y ahora ya no puedo migrar a una nueva version y tengo que depender de el? ResponderEliminar Enrique Almeida17 de noviembre de 2009 15:00 Anonimo: Como dice en esta pagina (http://wiki. Ahora alcanza con solo un procedure que haga las dos cosas. mi modelo tiene un modulo de seguridad y usuarios que me "regalo" el proveedor.gxtechnical.1 a X Ev1. me sale. . En mi caso particular tengo aprox 6000 mil objetos que se encuentran en esta situación. hice una conversiòn de una KB bastante grande de GX 9. que dejaran los reportes (como son ahora los procedures o sea impresion + update en base de datos) y los procedures que no tuviera salida impresa. si me pueden dar la amno de como publicar una aplicacion web por un servidor isa 2006 les agradeceria mucho.0 a la Ev1. deberias poner que error te esta dando. pero no la hemos podido publicar a la web por medio de un servidor isa server 2006 y aque parese tener problemas de permisos o algo asi. El proceso de conversion le agrega al principio del nombre una letra P a los procs. tengo una aplicacion hecha en genexus evo1 compilada en web en . si eran de diferente . gracias ResponderEliminar Enrique Almeida24 de agosto de 2010 12:06 Anonimo: Para poder ayudarte.A mi me hubiese gustado. Sebastian. una H a los webpanels.. ResponderEliminar Anónimo24 de agosto de 2010 11:57 hola comentare un problema que tengo haver si me pueden ayudar. ResponderEliminar Sebastian26 de noviembre de 2010 10:25 Enrique. Sabes si hay forma de evitar ese renombramiento que hace la conversion? Hay alguna forma de cambiar nombres de objetos que no sea manualmente? Gracias.net contra sql 2008. etc. la aplicacion esta trabajando en la intranet de la empresa y trabaja sin ningun problema. ResponderEliminar Enrique Almeida26 de noviembre de 2010 10:50 Sebastian: No conozco la forma de evitar para que no renombre los objetos a la migracion y creo que no existe tal forma. revisar los logs del ISA server y tambien dar una direccion de mail donde se te pueda contactar. Antes se podia tener varios objetos con el mismo nombre. U3. para los estilos. tengo parametrizados nombres de objetos en tablas de la BD. ahora no se permite mas. los styles no produjeron ninguna problema. Por otro lado. ResponderEliminar Respuestas Enrique Almeida11 de abril de 2012 10:14 Si.com/2012/02/eliminar-styles-de-kb-en-genexus-x. En la mayoria no.blogspot. Si tuve algunos lios con styles. hubiera estado bueno que la conversión solo agregara esa letra cuando los objetos de distinto tipo tienen el mismo nombre. en principio no sabía lo de la unicidad del nombre de objeto. pues no soporta styles. Mi pregunta es porque quería mantener el nombre de los objetos tal como estaban en GX 9. cuando empece a trabajar con GeneXus Server. Podria ser opcional en la conversion. con una . por eso necesitan diferenciarlo por la letra inicial. es decir. Eliminar Enrique Almeida24 de febrero de 2012 08:27 Patricio: En la conversion de la 9 a la X. es necesario quitarlos de la KB en Genexus 9 o no generan ningun problema en la conversion de la KB. Se pueden eliminar de forma facil como esta explicado aqui http://ealmeida. cuando realmente se necesite.html Eliminar Responder Sebastian26 de noviembre de 2010 12:16 Enrique. En que te afecta que renombre los objetos? ResponderEliminar Respuestas Patricio C23 de febrero de 2012 23:35 Tengo una duda.tipo.. algunas veces los nombres de los objetos que cambian traen problemas. creo que esto no me afecta tanto. que agregara o no la primer letra. la mejor forma de compactar tu KB es distribuirla y conslidarla en una KB vacia que tenga las mismas propiedades. ResponderEliminar Respuestas Enrique Almeida20 de mayo de 2012 20:22 ... el orden de algunos campos y pocas cosas mas.? ¿que ficheros borrar? Gracias Un saludo.gxtechnical.0. ResponderEliminar Anónimo20 de mayo de 2012 20:03 Hola Donde puedo conseguir informacion o tutorial de genexus 9. Lo podes bajar en http://www2.aspx?15.1670s Usalo con cuidado.. Ojo que puede cambiarte algun nombre de tabla.S.8.com Gracias. Eliminar Responder vrueda11 de abril de 2012 05:10 Hola Enrique ¿como haces para compactar la KB? ¿antes de hacer rbld es necesario borrar ciertos ficheros ( ari.DAT y despues los reindexa.. ver ..validacion previa para ver si no hay duplicados y que te los hiciera renombrar antes de migrar. En la X. que reduce el tamaño de los . No fue demasiado traumatico para noostros el tema de los nombres con letras delante y rapidamente podes empezar a arreglarlos.O. hace siempre un backup previo de la KB.com/portal/hgxpp001. existe un utilitario para compactar las KB. Victor ResponderEliminar Enrique Almeida11 de abril de 2012 10:19 En GeneXus 9. Mi email [email protected]. 38.com/portal/hgxpp001..MNU. podes hacerlos en http://training.MNU.Este comentario ha sido eliminado por el autor.S.0.2613 .298.0. Los de Genexus X.33.E.aspx? 15. Eliminar Enrique Almeida20 de mayo de 2012 20:24 No se donde se pueden bajar los cursos de 9.genexus.gxtechnical.5.com o en http://www2.O.
Copyright © 2024 DOKUMEN.SITE Inc.