1 OB: Importación de datos Cheli Pineda Ferrer Cuando empezamos a utilizar una herramienta de gestión lo más común es que ya estuvieramos utilizando otra solución previamente. Un proceso muy importante y tedioso es la migración de datos entre la antigua plataforma y la nueva. En este documento se pretende explicar el procedimiento de importación de datos a ob desde otra aplicación. 2008
2 OB: Extraer datos antiguos Cheli Pineda Ferrer Las herramientas de importación de datos que proporciona OB se basan en archivos csv. Csv es un formato estandar de archivos de texto que típicamente se compone de filas donde los campos de cada fila están entrecomillados y separados entre si por comas. Esto es configurable y por ejemplo podemos indicar que la separación entre campos se haga por tabulaciones, espacios en blanco o puntos y comas. Este formato de archivo es muy fácil de editar y manipular, por ejemplo podemos utilizar una aplicación de hoja de cálculo como Openoffice.org calc, kspread o gnumeric para editar y guardar nuestros datos. Eso si anteriormente tendremos que haber conseguido exportar los datos desde la antigua aplicación a formato de excel, opendocument, etc para poder abrirlo desde dichas aplicaciones ofimáticas. 2008
3 OB: Preparando los datos Cheli Pineda Ferrer Una vez tenemos nuestros archivos csv tenemos que hacer que esos datos se amolden al diseño de tablas de OB. El objetivo es que las columnas de los archivos csv casen con los campos de la correspondiente tabla de OB donde se van a importar los registros. Pretendemos celebrar una boda a la que os acabo de invitar. Lo primero es tener claro el listado de columnas de nuestro archivo csv y que representa cada una de ellas. Un ejemplo podría ser este: "nombre" "nif" "direccion" "ciudad" "provincia" "CP" "telefono" "fax" "correo" "cheli" "99999999F" "C/ openbravo" "alicante" "alicante" "99999" "96 566 76 78" "96 566 76 78" "[email protected]" Donde la primera fila representa la cabecera y la segunda el primer y único registro. Luego tendríamos una serie de campos, uno por cada columna separada por una tabulación. 2008
4 OB: Preparando los datos Cheli Pineda Ferrer OB utiliza unas tablas intermedias para la importación, estas tablas empiezan por I_ y son las siguientes: Deberemos saber también los campos que tienen estas tablas para poder mapear nuestros archivos. 2008
5 OB: Mapeo de datos Cheli Pineda Ferrer Con toda esta información estamos en disposición de realizar el mapeo. Lo ideal es que nos creemos un esquema de como se va a realizar para posteriormente poder definir el formato de importación de OB, el mapeo de terceros podría ser este: 2008 nombre nif direccion ciudad cp telefono fax correo-e name address1 phone city fax email postal taxid Archivo csv Tabla i_bparner
6 OB: Formato de importación Cheli Pineda Ferrer Para definir el formato de importación tendremos que fijarnos en el esquema anterior y replicarlo. Para ello nos vamos a Gestión de datos maestros->Importar datos->Formatos de importación, aquí creamos un nuevo formato al que le daremos un nombre, la entidad y organización sobre la que se hará la carga y la tabla de importación a utilizar, por último también tendremos que indicarle el separador. En nuestro ejemplo los datos serían: Nombre: bptictech Entidad: Tictech Organización: Consultora Tabla:I_Bpartner Formato:Separado por tabs Tenemos la opción de copiar lineas de otro formato si queremos utilizar uno ya definido como plantilla. 2008
7 OB: Formato de importación Cheli Pineda Ferrer Ahora iremos añadiendo las linea del formato, una por cada campo de nuestro archivo csv. En cada linea indicaremos a que campo de la tabla i_bpartner corresponde y de que tipo es. Si prestais atención vereis que la columna 12 del archivo csv es de tipo cadena de carácteres (string), representa a la ciudad y se mapeará con el campo city de la tabla i_bpartner, etc. 2008
8 OB: Importación a la tabla I_ Cheli Pineda Ferrer Para comprobar que funciona nos vamos a Gestión de datos maestros->Importar datos->Importar fichero dec arga. Seleccionamos nuestro archivo csv, la tabla I_ que vamos a utilziar y marcamos si nuestro archivo csv tiene cabecera en la primera linea yp or tanto debe omitirla. Si le damos a aceptar nos cargará el archivo csv y lo mostrará en la propia ventana para que comprobemos que lo hace de la forma que nosotros queríamos. Si todo está corercto repetimos elp rocedimiento pero en vez de darle a aceptar le damos a procesar. Una vez termine podemos ver todos los registros en Gestión de datos maestros->Importar datos->Importar terceros. 2008
9 OB: Importación a la tabla final Cheli Pineda Ferrer El último paso va a ser lanzar el proceso de importación final, este proceso hace una series dec omprobaciones para quel a importación final no de problemas. Las tablas I_ están preparadas justamente para realizar este paso pero este paso, eso si, el sistema de importación no tendrá en cuenta los problemas de incompatibilidad de tipos o de integridad refrencial. Si queremos importar un tercero que corresponde a una categoría primero tendremos que crear dicha categoría, lo mismo si queremos importar un tercero que vive en una provincia que no existe en OB, etc. Para importarlos definitivamente a nuestra tabla de datos maestros tendremos que abrir uno de los registros de la tabla I_ y ejecutar el proceso de "Importar terceros". Si no nos ha dado ningún error ya podremos consultar nuestros terceros en Gestión de datos maestros->Terceros. Cuando se produce un error OB nos muestra un mensaje con algo similar a "ProcessRunError". Para averiguar donde se está produciendo realmente el erro lo mejor es mirar el log4j donde veremos en que sentencia sql está el problema y cuál es exactamente. 2008
10 OB: Comentarios Cheli Pineda Ferrer Para importar otros datos hay que repetir el procedimiento con la correspondiente tabla I_, por lo demás es igual de sencillo. Como veis el truco está en definir bien el mapeo de datos, la ventaja es que al trabajar con archivos de texto csv podemos utilizar herramientas dem anipulación de archivos como awk, grep, sed, cat... o lenguajes como perl para automatizar ciertas conversiones. 2008
11 OB: Licencia Cheli Pineda Ferrer El autor de este documento es Cheli Pineda Ferrer.El documento está licenciado bajo esta licencia de Creative Commons: http://creativecommons.org/licenses/by-nc-sa/2.5/es/ 2008