Buenas compañeros, en este post (hacía mucho q no escribía por falta de tiempo libre...) me gustaría compartir con vosotros un tema bastante importante dentro de las implantaciones con MD AX 2009.
Como sabréis, es conocido por todos lo complejo que en muchas ocasiones se convierte la fase de migración en los proyectos, sobre todo en aquellos casos en los que existe un volumen bastante amplio de datos. Con este post intentaremos dar un repaso general a los aspectos más significativos que hay que tener en cuenta a la hora de migrar.
En Administración/Periódico/Hojas de estilo de Excel/Asistente para plantillas partirá nuestro trabajo, en donde indicaremos la ruta en la cual se va a crear el Excel que utilizaremos como soporte para migrar.
Será necesario seleccionar la tabla o tablas que deseamos importar/exportar, en este punto hay q tener en cuenta que si la tabla no aparece es debido a que por defecto Ax únicamente muestra las tablas principales, para mostrar todas será necesario marcar la opción “Mostrar Todas las Tablas”.
A continuación tenemos que tener claro los campos con los que deseamos trabajar. Es una recomendación que aquellos campos en los que podamos tener dudas preferiblemente dejarlos marcados, de esta manera el Excel los pueda tener en cuenta y ya será decisión tuya si los rellenas (ocultas) o no. Sin embargo, si te das cuenta que falta algún campo, para que el archivo Excel no tenga problemas de importación/exportación, lo más óptimo es que vuelvas a generar la plantilla y es mucho más tedioso. Mejor por exceso q por defecto.
El siguiente paso es la creación del Grupo de Definición. Cuando tengo que impartir formaciones, digamos que para que los alumnos entiendan el concepto del Grupo de Definición lo explico comparándolo con una carretilla o un medio de transporte, es decir, para que Ax sea capaz de digerir la información que quiere extraer (exportar) o que quiere integrar (importar) requiere de un medio de transporte denominado Grupo de Definición. Su correcta creación y personalización será vital para el éxito de la migración, en este caso y como se genera a partir de un asistente, todo lo propondrá la aplicación.
Pulsando siguiente, accedemos a esta pantalla en donde me gustaría poder comentar la gran utilidad que tiene el primer check. En algunas ocasiones tenemos que migrar tablas que tiene cierta complejidad en cuanto a datos, ya que tenemos dudas sobre cuáles serán necesarios y cuáles no a la hora de insertar registros. Para ello es muy útil crear un registro de manera estándar en Ax, y exportarte la tabla en concreto (activando el primer check) a Excel para confirmar qué datos rellena la aplicación por defecto y cuáles no, evitando inconsistencias en la Base de datos.
Al pulsar siguiente, finalizaría el proceso de creación del Grupo de Definición pudiendo ver directamente el archivo Excel generado con el check “¿Desea ver el libro una vez creado?”.
Si accedemos al maestro de Grupos de definición, nos encontraremos uno nuevo con la tipología Excel. Es recomendable cambiar el nombre que propone la aplicación de manera estándar (Asistente para plantillas de Microsoft Office Excel) ya que si generamos muchos Grupos pueden llevar a error.
El Excel que se ha generado consta de tres hojas que preferiblemente no deberemos de tocar. Sobre la que trabajaremos es la tercera de ellas que se llama como la tabla que vamos a importar. Las columnas en rosa indican campos obligatorios, sin los cuales no se podrá importar, pero ojo, es importante tener en cuenta que pueden existir otros campos no obligatorios que no se marquen en rosa pero que el sistema los necesita para importar correctamente (de la fila 1 salta a la 7 porque oculta los valores que requiere Ax para comprender cada una de las columnas, NO ELIMINAR!)
Una vez relleno el Excel (muy útil el realizar una exportación previa y ver qué considera necesario Ax para la tabla en cuestión), procedemos a llevar a cabo el proceso de importación.
PROCESO DE IMPORTACIÓN
Primero es preciso configurar el Grupo de Definición correctamente, ya que la importación puede hacerse con o sin validaciones.
¿Qué quiere decir Validaciones?. Si nosotros no activamos las validaciones, el proceso de importación introducirá en el cliente la información pero no tendremos garantías de que sean correctos. Ej. Podemos poner Grupo de Cliente = “Nacional” en el Excel, mientras que en la pre-configurada sólo están G1, G2, y G3. Si no hemos activado las validaciones el sistema creará el cliente con el grupo Nacional, pero cuando lo usemos en una factura fallará porque ese grupo no existe. Además podemos llegar a introducir información inconsistente en el sistema. (Esta opción no se recomienda salvo que expresamente necesitemos este funcionamiento y tengamos 100% de garantías de tener un Excel correcto).
En la pantalla de Grupos de Definición, nos posicionamos en el nuestro y pulsamos configuración de tablas. En la pantalla que visualizamos vemos las tablas que importará la plantilla y en cada una de ellas distintas columnas que nos indican como se comportarán. En el campo nivel de validación tendremos por defecto “Ninguno“ (No valida nada). Se recomienda marcar “Campo”, para que compruebe no solo el registro sino también campo por campo su validez.
En esta pantalla, disponemos de la posibilidad de comprobar si la plantilla importa los datos como nosotros deseamos. Para ello abrimos la pestaña “Vista preliminar”. En esta pestaña el sistema muestra la información que importaría, de la primera línea del Excel que hemos indicado en la columna “Nombre de archivo predeterminado” del Grupo de Definición (Si ponemos en ese campo nuestro Excel, veremos el primero de los clientes que importaremos)
Cerrando esta pantalla y si nos situamos nuevamente en nuestro Grupo de Definición y pulsamos el botón Importar, iniciaremos el primero de los pasos para llevar a cabo este proceso (también se puede importar desde la opción Administración / Periódico / hojas de estilo de Excel/ Importación de Microsoft Office Excel. El proceso es similar, solo que tendremos que indicar el Grupo de Definición que utilizaremos).
ERRORES COMUNES EN PROCESOS DE MIGRACIÓN
1- Cuando realizamos una exportación o importación desde una plantilla o Grupo de Definición, el sistema guarda el resultado de la misma. Lo que supone que guarda si la importación ha sido, total, parcial o aún no se ha importado. Es importante este hecho porque cuando usamos el Grupo de Definición por segunda vez (o más) nos puede salir el mensaje que adjuntamos.
Es debido a que el sistema guardó que ya se había importado totalmente y por seguridad ya no importa nada más. Esto se solventa modificando el estado de la importación en el campo “Importe estado” en Visión General. Deberemos quitar Importado totalmente y seleccionar la opción que tenga más utilidad en nuestra migración (ojo con la opción Eliminar e importar, hay que estar muy seguros del archivo que estamos migrando para utilizar dicha opción).
2- Al importar nos puede decir que solo ha importado n registros y que todos los demás ya existen. Este mensaje podría salir por dos motivos:
a. Índices únicos. Al generar una plantilla de Excel el sistema marca en rosa aquellas columnas que son obligatorias de rellenar, pero puede ocurrir que necesitemos rellenar alguna más por la definición de los índices en la tabla. Un índice único o que no permita duplicados, quiere decir que no pueden existir dos iguales (serían el mismo) un ejemplo es el código de cliente, no tiene sentido que haya dos clientes con el mismo código. Por ejemplo en esta versión AX 2009 la tabla CustTable podemos ver que tiene otro índice que no permite duplicados, el PartyIdx.
Si importamos dos clientes con códigos de cliente diferente pero este campo lo dejamos en blanco o con el mismo código, al no permitir nulos el sistema entiende que es el mismo cliente y solo importará uno de ellos.
El mensaje dirá: se han intentado importar dos registros, 1 se ha importado los demás no. Y pondrá los códigos de cliente diciendo que ya existen (aunque no sea cierto).
b. Formato de las columnas de Excel. Algunas de las columnas que importa son de tipo texto y es importante respetarlo. Esto lo que quiere decir es que cuando un usuario copia de un Excel en nuestra plantilla de Excel un código de cliente Ej CLI0001 NO tiene porque copiarse correctamente, es preciso que la celda del Excel tenga en la parte superior izquierda un triangulo verde que indica que es un número en formato texto.
Si no esta así tipificado, al importar, el sistema no lo sabrá interpretar y convertirá todos los códigos al valor 0 o en blanco. Esto supone que todos los clientes tendrían el mismo código y al igual que el error anterior diría que el cliente ya existe y solo insertaría uno.
Si nos entregan un Excel que no cumple esta condición deberemos convertir los datos, y para ello tenemos 2 posibilidades.
1- Pasar la siguiente macro en Excel previamente seleccionando las celdas (muy socorrida de verdad, esto nos ha salvado de muchas):
Sub ReEnter()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual 'pre XL97 xlManual
Dim cell As Range
Dim ix as Long
tCells = Selection.Count
For ix = 1 To tCells
Selection.Item(ix).Formula = Trim(Selection.Item(ix).Formula)
Next ix
Application.Calculation = xlCalculationAutomatic 'pre XL97 xlAutomatic
Application.ScreenUpdating = True
End Sub
2- Llevarlo a cabo manualmente:
Se puede complicar más la cosa si los códigos empiezan por 000 ya que el Excel lo interpretará como números y los despreciara si están a la izquierda. En este caso deberemos mediante funciones incluirlos nosotros. Adjunto un ejemplo de cómo se podría hacer:
3. Retomando los posibles errores o problemas que podemos encontrarnos en las migraciones, el tercero podría hacer referencia a la hora de importar un registro y no crea datos en otras tablas, por ejemplo la dirección. Esto ocurre porque si creamos desde el estándar un registro manualmente, al guardarlo el sistema creará los registros correspondientes en las tablas de direcciones, contactos… Esto lo hace en el evento Insert de la tabla. (lo detallaremos en un próximo post, ya que en Ax 2009 y la DirPartyTable es un tema bastante peliagudo para muchos).
Saludos y hasta la próxima.
Comentar
Bienvenido a
El Rincón Dynamics
© 2012 Creado por Antonio Gilabert.
Tecnología de
.
¡Necesitas ser un miembro de El Rincón Dynamics para añadir comentarios!
Participar en El Rincón Dynamics